Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
5 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
88.03 kB
Просмотров:
58
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Зертханалы жмыс Haskell т л](/documents_6/61ce5e47ae35f30a2c8c6b6a92e49e79/img0.jpg)
Содержание слайда: Зертханалық жұмыс №5
Haskell тілінде тізімдер мен жолдарды өңдеу
№2 слайд![shy есептеуд олдану shy](/documents_6/61ce5e47ae35f30a2c8c6b6a92e49e79/img1.jpg)
Содержание слайда: есептеуді қолдану
есептеуді қолдану
Программалаудың функционалдық парадигмасы -есептеуге негізделгендіктен, барлық функционалдық тілдердің -абстракцияны сипаттауға арналған қағиданы қолдайтыны заңды құбылыс. Haskell бұл аспектіні де айналып өткен жоқ, қандай да бір функцияны анықтауды, қажет болса -абстракция арқылы жүргізеді. Сонымен қатар -абстракция арқылы жасырын функцияларды да анықтауға болады (Мысалы, бірлік шақыру үшін). Төменде, -есептеулер көмегімен add және inc функцияларын анықтаудың мысалы келтірілген.
Мысал 2. абстракциялар арқылы анықталған add және inc функциялары.
add = \x y > x + y
inc = \x > x + 1
Мысал 3. Жасырын функцияны шақыру.
сubes = map (\x > x * x * x) [0 ..]
Мысал 3 берліген параметрдің кубын есептейтінжасырын функцияны шақыруды көрсетіп тұр. Бұл инструкцияның орындалу нәтижесі, нөлден басталған бүтін сандар кубтарының шексіз тізімі болады. Ескертетін жағдай, Haskell’де өрнектерді жазудың қысқартылған тәсілі қолданылады, себебі тура қағида бойынша add функциясын келесі түрде жазған дұрысырық болар еді:
add = \x > \y > x + y
абстракцияның типін анықтау, функцияның типін анықтағандай жүргізіледі. x.expr түріндегі өрнектің типі келесі түрде болады T1 → T2, мұндағы T1 - x айнымалысының типі, ал T2 —expr өрнегінің типі.
№3 слайд![Функцияны жазуды инфикст тс л](/documents_6/61ce5e47ae35f30a2c8c6b6a92e49e79/img2.jpg)
Содержание слайда: Функцияны жазудың инфиксті тәсілі
Функцияны жазудың инфиксті тәсілі
Кейбір функциялар үшін жазудың инфиксті тәсілі қолданылуы мүмкін, ондай функциялар қарапайым бинарлық операциялар сияқты. Мысалы, тізімдерді конкатенациялау мен функцияларды композициялау операциялары анықталған:
Мысал 4. Тізімдерді конкатенациялаудың инфиксті операциясы.
(++) :: [a] > [a] > [a]
[] ++ ys = ys
(x:xs) ++ ys = x : (xs ++ ys)
Мысал 5. Функцияны композициялаудың инфиксті операциясы.
(.) :: (b > c) > (a > b) > (a > c)
f . g = \x > f (g x)
Haskell’-де инфиксті операциялар функция болып табылатындықтан, олар каррирленген, сондықтан мұндай функцияларды бөліктеп қолдану мүмкіндігін қамтамасыз еткен маңызды. Осы мақсатта, Haskell’де «секция» деп аталатын арнайы жазба қолданылады:
(x ++) = \x > (x ++ y)
(++ y) = \y > (x ++ y)
(++) = \x y > (x ++ y)
№4 слайд![](/documents_6/61ce5e47ae35f30a2c8c6b6a92e49e79/img3.jpg)
№5 слайд![](/documents_6/61ce5e47ae35f30a2c8c6b6a92e49e79/img4.jpg)