КF 12-06-03
Халықаралық гуманитарлық –техникалық университеті
«_Жаратылыстану-техникалық» факультеті
«Есептеу техникасы және стандарттау, сертификаттау» кафедрасы
ПӘН БАҒДАРЛАМАСЫ (СИЛЛАБУС)
«Функциональдық және логикалық бағдарламалау» пәні бойынша
мамандық: 5В070400-Есептеу техникасы және бағдарламалық қамтамасыз ету
оқыту түрі - күндізгі
топтар - _ ЕТ-213_
курс _3__
семестр __6____
кредит саны _3____
лекциялар __15__ сағат
практикалық (лабораториялық, семинарлық) сабақтар _60__ сағат
студенттің (магистранттың) өзіндік жұмысы (СӨЖ, МӨЖ) - _30__ сағат
оқытушының басшылығымен студенттің (магистранттың) өзіндік
жұмысы (ОБСӨЖ, ОБМӨЖ) - __30__ сағат
барлығы __135__ сағат
емтихан __5__ семестр
шектік бақылаулар саны - 2
барлығы: ағымдық және шектік бақылау - 60
қорытынды бақылау - 40
Шымкент 2016ж.
КF 12-06-03
1. Оқытушы туралы мәліметтер:
- Абишова Г.Б. магистр, аға оқытушы
- оқытушының реквизиттері: 87013399292
- жұмысқа келу уақыты: 900- 1700
- сабақты өту уақыты мен орны.
2. Пәннің мақсаты мен міндеттері.
«Функциональдық және логикалық бағдарламалау» пәнінің мазмұны студенттерге бағдарламалауда процедуралық әдістен басқа, оның өкілдері Бейсик, Паскаль, Си сияқты жоғары дәрежелі әмбебап тілдермен қатар, тағы екі бағыт - функционалдық (қызметтік) және логикалық бағдарламалау жатады. Функционалдық бағдарламалау қарапайым идеяға негізделген, бүкіл информацияны өңдеу және соңында алынған нәтиже кейбір қызметтерді орындайтын салымды немесе рекурсивті функцияларды шақыру түрінде көрсетілуі мүмкін, сондықтан бір функцияның мәні екіншісінің аргументі ретінде қарастырылған.
Пәннің мақсаты: Функциональдық бағдарламалау қарапайым идеяға негізделген, бүкіл информацияны өндеу және соңында алынған нәтиже кейбір қызметтерді орындайтын салынды немесе рекурсивті функцияларды шақыру түрінде көрнсетілуі мүмкін, сондықтан бір функцияның мәні екіншісінің аргументі қолданылады. Функциональдық бағдарламалар тілінің өкіліне Лисп (Lisp process – sing – тізімдерді өңдеутілі жатады.
Пәннің оқытудың негізгі міндеттері:
Функциональдық бағдарламалау пәнінен студенттердің логика тілінде бағдарламалауды игеру, құрылымдар құру әдістері бойынша білімдерін жетілдіру, логикалық бағдарламалаудың принциптері мен концепцияларын игреу маңызды мәселе, студенттердің өз бетімен есептің қойылымын қалыптастыра білуі, программаны жобалап, логикалық тілді қолдана отырып программалық өнімді құра білуін меңгеру болып табылады.
2.1 Пәннің пререквизиттері
Пролог базасы үлгілерді салыстыру, мәліметтерді иерархиялық құрылыста көрсету және автоматты түрде қайтарудан құрылған механизімдердің шектелген тізбегінен тұрады, осы шағын тізбек ғажайып қуатты және икемді бағдарламалық аппаратты құрайды. Пролог тілінің жетістіктері мынаған негізделген, бір жағынан, ондағы логикалық формулаларды қолдану арқылы көптеген практикалық есептерді жазып шығуға болады, ал екінші жағынан қарапайым интерпретациялары формулалардың табылған және логикалық бағдарламалау жұйесін жеткілікті дәрежеде тиімді жүзеге асыру енгізілген, Пролог әсіресе, ішінде обьектері және олардың арасында қатынастары болатын есептерді шешуге жақсы бейімделген.
Бағдарламалауда процедуралық әдістен басқа, оның өкілдері Бейсик, Паскаль, Си сияқты жоғары дәрежелі әмбебап тілдермен қатар, тағы екі бағыт – функционалдық (қызметтік) және логикалық бағдарламалауды білу.
2.2 Пәннің постреквизиттері
Бұл курсты үйрену үшін «Алгоритмдік тілдерде программалау», «Есептеу жүйелері мен тораптарының ұйымдастырылуы» пәндері оқытылуы тиіс.
КF 12-06-03
2.3 Құзыреттіліктер:
ПҚ2.Шет тілі шеңберіндегі құзіреттілік.
ПҚ3.Математикалық және іргелі жаратылыстану ғылыми және техникалық құзіреттілік.
ПҚ4. Компьютерлік құзіреттілік.
3. Сабақтың түрі мен кредиті бойынша сағаттардың бөлінуі
Семестр
|
Кредит саны
|
Сабақ түрлері және cеместр бойынша сағаттардың бөлінуі
|
СӨЖ
|
Курстық жұмыс (жоба)
|
Барлығы
|
Бақылау түрі
|
Лекциялар
|
Практикалық (семинарлық) сабақтар
|
Зертханалық сабақтар
|
ОБСӨЖ
|
6
|
3
|
15
|
-
|
60
|
30
|
30
|
-
|
135
|
Емтихан
|
Барлығы
|
|
|
|
|
|
|
|
|
|
4. Пәннің қысқаша сипаттамасы.
Тақырып 1. Кіріспе лекция. Пәннің мазмұны мен мақсаттары. Пролог тіліне жалпы шолу.
Жоспар
Пәннің мазмұны мен мақсаттары.
Пролог тіліне жалпы шолу.
Тақырып мазмұны
Бағдарламалауда процедуралық әдістен басқа, оның өкілдері Бейсик, Паскаль, Си сияқты жоғары дәрежелі әмбебап тілдермен қатар, тағы екі бағыт - функционалдық (қызметтік) және логикалық бағдарламалау жатады.
Функционалдық бағдарламалау қарапайым идеяға негізделген, бүкіл информацияны өңдеу және соңында алынған нәтиже кейбір қызметтерді орындайтын салымды немесе рекурсивті функцияларды шақыру түрінде көрсетілуі мүмкін, сондықтан бір функцияның мәні екіншісінің аргументі ретінде қолданылады. Функционалдық бағдарламалау тілінің өкіліне Лисп (Lisp proces – sing – тізімдерді өңдеу) тілі жатады.
Бақылау сұрақтары
Логикалық бағдарламалау
Функционалдық бағдарламалау
Әдебиет тізімі
1,2,3..
Тақырып 2. Бағдарлама мысалы: туыстық қатынастар.Ережелер көмегімен мысал – бағдарламаны кеңейту.Бағдарлама мысалы: туыстық қатынастар
Жоспар
Ережелер көмегімен мысал – бағдарламаны кеңейту.
Бағдарлама мысалы: туыстық қатынастар
Тақырып мазмұны
КF 12-06-03
Б ірінші суреттегі туыстық қатынастардың толық ағашы келесі Пролог – бағдарламасында сипатталған:
( пам, боб) ата –анасы.
( том, боб) ата – анасы.
( том, лиз) ата – анасы.
( боб, энн) ата – анасы.
( боб, пат) ата – анасы.
( пат, джим) ата – анасы.
Бұл бағдарлама 6 сөйлемнен құралған, әрбір сөйлем бір ғана ата – ана қатынасы болу фактісін жариялайды (көрсетеді).
Бақылау сұрақтары
1.Туыстық қатынастар
Әдебиет тізімі
1,2,3...
Тақырып 3. Ереженің рекурсивті анықтамасы. Пролог программалау ортасы.
Жоспар
Ереженің рекурсивті анықтамасы.
Пролог программалау ортасы.
Тақырып мазмұны
Ата, тегі қатынасын анықтайық :
4- сурет ата тегі қатынасының мысалы.
а) X – жақын ата – тегі;
б) X – Z – тің алыс (арғы) ата – тегі. Бағдарлама:
а) (X, Z) ата – тегі: - (X, Z) ата – анасы.
б) (X, Z) ата – тегі: - (X, Y) ата – анасы, (Y, Z) ата –анасы.
КF 12-06-03
(X, Z) ата – тегі: - (X, Y1) ата – анасы, (Х1, Y2) ата – анасы, (Y2, Z) ата – анасы.
Бақылау сұрақтары
1. Пролог тілі Си, Паскаль, Фортран
Әдебиет тізімі
1,2,3...
Тақырып 4. Пролог бағдарламаның құрылымы.
Жоспар
1.Берілгендерді енгізу, шығару операторлары.
2.Пролог – бағдарламаның құрылымы
Тақырып мазмұны
Бағдарлама құрылысы келесі түрге ие:
/ * бірнеше жолдарда коментарии */
% бір жолда комментарии
CONCTANCTS
% Бұл бөлімде константалар сипатталады.
PREDICATES
% Бұл бөлімде айнымалылар жазылады.
CLAUSES
% Бұл бөлімде фактілер мен ережелер анықталады.
DATABASES
% Бұл бөлімде мәліметтердің динамикалық базасының предикаттары анықталады.
Бақылау сұрақтары
Прологта атомдарға мысалдар келтіру.
Ағаш. Шешімдер ағашы. Оны ережелерге түрлендіру
Әдебиет тізімі
1,2,3..
Тақырып 5. Пролог бағдарламаның декларативті мағынасы.
Жоспар
Мысал бағдарламалар.
Пролог – бағдарламаның декларативті мағынасы (мәні)
Тақырып мазмұны
Сөйлемді қарастырайық: P: - Q , R 7
Декларативті интерпретация:
Р – шындық, егер Q, R шындық
Q мен R- ден P шығады
Процедуралық интерпретация:
Р есебін шешу үшін, Q ішкі есебін шеш, ал кейін R ішкі есебін шешуге көш.
Р – ға жету үшін, алдымен Q – ге жет, содан кейін R – ге жет.
Мақсаттар арасындағы үтір мақсаттар конъюнкциясын білдіреді: олардың барлығы шындық болуы тиіс. Бірақ – та Прологта мақсаттар дизъюнкциясы да болуы мүмкін: кем дегенде мақсаттардың біреуі шындық болуы тиіс.
Бақылау сұрақтары
Прологта программа құрылымы тұралы түсінік.
Жасанды интеллект тұралы түсінік.
КF 12-06-03
Әдебиет тізімі
1,2,3..
Тақырып 6 Айнымалылар. Құрылымдар. Салыстырулар. Сұрақтар мен үйлестіру.
Жоспар
Құрылымдар.
Салыстырулар.
Сұрақтар мен үйлестіру.
Тақырып мазмұны
Прологта айнымалылар бас әріптен басталады, латын алфавитінің цифрлері мен әріптері қолданылады. Айнымалының ерекше түрі – анонимді айнымалы, айнымалының нақты мәні жоқ кезде предикаттың аргументі ретінде қолданылады. Прологта айнымалы информация қоймасы емес, ол сөйлем қаншалықты болса, соншалықты өмір сүреді. Бағдарламаның орындалуы процесінде айнымалы жаңа мәнге ие бола алады.
Құрылыс – бұл конструкция, ол оның аргументтері тізімінің жақшалары ішіне жазылған және үтірлермен бөлінген құрылысы атынан құралады. Құрылысқа компоненттерін біріктіру үшін функтурды таңдап алу қажет.
Бақылау сұрақтары
Машиналық интеллект дегеніміз не?
Терім.
Құрылым
Әдебиет тізімі
1,2,3..
Тақырып 7. Фактілер мен ережелер. Бағдарламаның орындалу алгоритмі.
Жоспар
1 Фактілер мен ережелер.
2.Бағдарламаның орындалу алгоритмі.
Тақырып мазмұны
Факті – бұл аргументтері, константалар болатын предикаттар, объекттер арасында немесе объекттер сипаты қатынастарын білдіреді. Фактілер әрдайым шындық және бағдарлама орындалуы кезінде болатын, дәлелдеме қызметін атқарады.
Прологта бағдарлама фактілері мен ережелері қандай да бір мәнді облыста объекттер арасындағы байланыстар мен қатынастар сипаттары болып табылады. Факті орындалуы үшін басқа ешнәрсе қажет емес, толық анықталған процедура ретінде қарастыруға болады.
Бақылау сұрақтары
пролог.
логикалық операциялар жөнінде түсінік.
Предикат. Импликация.
Әдебиет тізімі
1,2,3..
Тақырып 8. Есептеулерді басқару.
Жоспар
КF 12-06-03
Есептеулерді басқару.
Тақырып мазмұны
Есептеулерді басқару процесінің негізгі құралдарына стандартты предикаттар fail және !. Fail – дұрыс емес, сәтсіздік,!-өшіріп тастау, Сәтсіздікке душар бағдарламаның мысалы:
1. Мысал. Екінші курс студенттері туралы мәліметтерді экранға шығару.
DOMAINS
st=student(fam,pr,oc)
fam,pr=symbol
num, oc=integer
g=gr(num,st)
PREDICATES
kurs_22(g)
CLAUSES
kurs_22(gr(261,student(“Қалдаров”,”Бағдарламалау тілдері”,5))).
kurs_22(gr(261,student(“Ашірбеков”,”Операциялық жүйелер”,5))).
kurs_22(gr(261,student(“Әділбеков”,”Басқару жүйелері”,5))).
kurs_22(gr(262,student(“Айқынова”,”Бағдарламалау тілдері”,4))).
kurs_22(gr(261,student(“Бұхарбаев”,”Басқару жүйелері”,4))).
kurs_22(gr(261,student(“Нүрсейтов”,”Шет тілі”,5))).
kurs_22(gr(261,student(“Сатымбеков”,”Операциялық жүйелер”,5))).
GOAL
clearwindow, kurs_22(X), write(X)
Бақылау сұрақтары
Есептеулерді басқару процесі
Әдебиет тізімі
1,2,3..
Тақырып 9. Рекурсивтік есептеулер.
Жоспар
Рекурсивтік есептеулер.
Тақырып мазмұны
Ереженің рекурсивті сипаты өз денесінде тура осы ереже атына қатысты сілтемеден құралған. Және мұнда рекурсияның келесі варианттары болады:
Оң рекурсия
Pr ( ): - pr11 ( ), pr12 ( ), …, pr1 ( ).
Сол рекурсия
Pr1 (1): - pr ( ), …, pr 11 ( ), pr12 ( ).
3. Жалпы рекурсия
Pr1 ( ): - pr11 ( ), pr12 ( ), …, pr ( ), …, pr 21 ( ), pr22 ( ).
Реккурсивті ережеде орындалуы уақытында тоқтап қалулар болмауы үшін, рекурсияның аяқталу шарттарын қарастыру қажет. Оларды екі тәсілмен жүзеге асыруға болады:
1. Құрамында рекурсиясы жоқ, бағдарламаға альтернативті ереже немесе факторды
КF 12-06-03
pr1 ( ) қосу, шығыс тек осы рекурсивті ереже дұрыс аяқталған кезде болады.
Дұрыс аяқталатын, (қандай) бір предикат шығу қалпын қалыптастыру.
Бақылау сұрақтары
1. Ереженің рекурсивті сипаты
Әдебиет тізімі
1,2,3..
Тақырып 10. Арифметикалық өрнектер. Қолданылатын предикаттар.
Жоспар
1.Арифметикалық өрнектер.
2. Қолданылатын предикаттар.
Тақырып мазмұны
Арифметикалық формулалар санға немесе құрылысқа жатады. Құрылысқа бір немесе бірнеше компонент кіре алады, мысалы, сандар, арифметикалық операторлар, арифметикалық тізбек формулалар, айнымалы
– арифметикалық формуламен, нақтыланған, унарлы функторлар, қайта құру функторлары және арифметикалық функторлар.
Бақылау сұрақтары
Прологтағы унификация.
Арифметикалық өрнектер.
Әдебиет тізімі
1,2,3..
Тақырып 11. Тізімдер, оларға қолданылатын қарапайым операциялар.
Жоспар
1.Тізімдер
2.Қарапайым операциялар.
Тақырып мазмұны
Тізбектер – бұл квадрат жақшаларға енгізілген және бір – бірінен бөлінген, объектің реттелген тізімі немесе тізбек элементтерінің жиыны. Тізбек кез – келген элементтер санынан құралады, шектеуге тек компьютер жадысында қалған орын жатады. Элементтері жоқ тізбек бос деп аталады және квадрат жақшаға алынады, бірақ ішінде ешнәрсе жоқ болады.
Тізбектерді өңдеу – тізбектің басы мен аяғына бөлу түсінігіне негізделеді. Басы – бұл тізбектің бірінші элементі, аяғы – қалған бөлігі.
Бақылау сұрақтары
Операциялар, есептеу реті.
Жи-дің қазіргі жағдайы
Әдебиет тізімі
1,2,3..
Тақырып 12. Прологта енгізу мен шығару, файлдардың өзара қарым-қатынасы, қатарларды өңдеу.
Жоспар
Операция: тізбекке қатыстылығы (мүшелігі).
Операция: жалғастыру (конкатенация).
Операция: тізбекке элементті қосу
Тақырып мазмұны
КF 12-06-03
Тізбекке қатыстылығының бағдарламасын құру келесі тұжырымдарға негізделеді:
Х бұл l – дің басы, немесе
Х l аяғына қатысты.
Осыны екі сөйлем түрінде жазуға болады, олардың ішіндегі біріншісі жәй файл, ал екіншісі ө ереже :
Қатысты (X, [X | Аяғы ] ).
Қатысты ( X [ басы | Аяғы ] ): қатысты (Х, Аяғы).
Мысалы:
Қатысты (в, [а, в, с])
Қатысты ( [в, с], [а, [в, с]])
Бақылау сұрақтары
1.Прологта енгізу мен шығару
2.Файлдардың өзара қарым-қатынасы, қатарларды өңдеу.
Әдебиет тізімі
1,2,3..
Тақырып 13. Пролог бағдарламалау жүйесінің стандартты предикаттары
Жоспар
Пролог бағдарламалау жүйесінің стандартты предикаттары
Тақырып мазмұны
Стандартты (жүйеге енгізілген) предикаттар әртүрлі функциялар орындайды. Олар: әртүрлі типтегі айнымалыларды енгізу - шығару, файлдармен жұмыс істеу, DOS функцияларын орындау, жолдарды өңдеу, графикалық режимді қолдау, басқа да бағдарлама жүйелерімен (Си, Паскаль) интерфейсті қалтамасыз ету және т.б. жүйеде барлығы 200 стандартты предикаттар бар.
Бақылау сұрақтары
Предикарттар логикасы.
Қайтару механизмі.
Мәліметтерді енгізу шығарудың предикарттары.
Әдебиет тізімі
1,2,3..
Тақырып 14. Жүйелік операторлар, анықталған предикаттар.
Жоспар
Жүйелік операторлар, анықталған предикаттар.
Мәліметтер қорын құру жолдары.
Тақырып мазмұны
Asserta (<факт>) (dbasedom) (енг) – мәліметтердің резиденттік базасы басына факты (тұжырымдама) енгізеді (basedom ретінде белгіленетін, домен, database бөлімінен әрбір предикат үшін автоматты түрде жарияланады).
Assertz (X) (dbasedom): (енг) – мәліметтердің резиденттік базасының соңына Х фактісін (тұжырымын) енгізеді.
Retract (X): (енг) – мәліметтер базасына тұжырымды іздеу жүзеге асырылады, оның басы мен денесі Х термімен салыстырылады. Бірінші осындай тұжырым мәліметтер базасынан жойылады. Аргумент (терм Х) құрама терммен нақтылануы тиіс:
КF 12-06-03
Retractall (X): (енг) – мәліметтер базасынан барлық тұжырымдарды жояды, олардың функтор мен арносттылыған Х – пен салыстыруға болады.
Cursor (жол, саны) (integer, integer): (енг, енг), (шығ, шығ) – (енг, енг) – курсорды координаттары (жол, саны) позициясына орналастырады.
Бақылау сұрақтары
Asserta
Retract
Cursor
Әдебиет тізімі
1,2,3..
Тақырып 15. Қорытынды дәріс. Пролог тілінің даму жолдары мен деңгейлері
Жоспар
1. Пролог тілінің дамуы
2. Деңгейлері
Тақырып мазмұны
Пролог базасы үлгілерді салыстыру, мәліметтерді иерархиялық құрылыста көрсету және автоматты түрде қайтарудан құрылған механизмдердің шектелген тізбегінен тұрады, осы шағын тізбек ғажайып қуатты және икемді бағдарламалық аппаратты құрайды. Пролог тілінің жетістіктері мынаған негізделген, бір жағынан, ондағы логикалық формулаларды қолдану арқылы көптеген практикалық есептерді жазып шығуға болады, ал екінші жағынан қарапайым интерпретациялары формулалардың табылған және логикалық бағдарламалау жүйесін жеткілікті дәрежеде тиімді жүзеге асыру енгізілген, Пролог әсіресе, ішінде объекттері және олардың арасында қатынастары болатын есептерді шешуге жақсы бейімделген.
Бақылау сұрақтары
Тізім
Деңгей
Әдебиет тізімі
1,2,3..
5. Пәннің құрамы
5.1 Лекциялардың КТЖ (лекциялардың күнтізбелік - тақырыптық жоспары)Лекциялық сабақтар саны__15__
№
|
Күні
|
Лекция тақырыбы
|
Лекцияны өткізу түрі
|
ОТҚ және таным шығар.белсен.әдіс
|
Тақырып бойынша студентте қандай құзыреттілік
қалыптасуы керек
|
№
|
2
|
3
|
4
|
5
|
6
|
1
|
|
Кіріспе лекция. Пәннің мазмұны мен мақсаттары. Пролог тіліне жалпы шолу.
|
Кіріспелік шолу
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
КF 12-06-03
2
|
|
Бағдарлама мысалы: туыстық қатынастар. Ережелер көмегімен мысал – бағдарламаны кеңейту.
|
Түсіндірме шолу
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
3
|
|
Ереженің рекурсивті анықтамасы. Пролог программалау ортасы.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
4
|
|
Пролог бағдарламаның құрылымы. Берілгендерді енгізу, шығару операторлары.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
5
|
|
Пролог бағдарламаның декларативті мағынасы. Мысал бағдарламалар.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
6
|
|
Айнымалылар. Құрылымдар. Салыстырулар. Сұрақтар мен үйлестіру.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
7
|
|
Фактілер мен ережелер. Бағдарламаның орындалу алгоритмі.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
8
|
|
Есептеулерді басқару.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
9
|
|
Рекурсивтік есептеулер.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
10
|
|
Арифметикалық өрнектер. Қолданылатын предикаттар.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
11
|
|
Тізімдер, оларға қолданылатын қарапайым операциялар.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
12
|
|
Прологта енгізу мен шығару, файлдардың өзара қарым-қатынасы, қатарларды өңдеу.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
13
|
|
Пролог бағдарламалау жүйесінің стандартты предикаттары
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
14
|
|
Жүйелік операторлар, анықталған предикаттар. Мәліметтер қорын құру жолдары.
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
15
|
|
Қорытынды дәріс. Пролог тілінің даму жолдары мен деңгейлері
|
Информациялық ақпарат
|
слайдтар
|
ПҚ2.
ПҚ3.
ПҚ4.
|
Достарыңызбен бөлісу: |