🗊Презентация Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5

Нажмите для полного просмотра!
Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №1Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №2Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №3Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №4Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №5

Вы можете ознакомиться и скачать презентацию на тему Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5. Доклад-сообщение содержит 5 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Зертханалық жұмыс №5
Haskell тілінде тізімдер мен жолдарды өңдеу
Описание слайда:
Зертханалық жұмыс №5 Haskell тілінде тізімдер мен жолдарды өңдеу

Слайд 2





 ­есептеуді қолдану
 ­есептеуді қолдану
Программалаудың функционалдық парадигмасы -есептеуге негізделгендіктен, барлық функционалдық тілдердің -абстракцияны сипаттауға арналған қағиданы қолдайтыны заңды құбылыс.  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 өрнегінің типі.
 
Описание слайда:
 ­есептеуді қолдану  ­есептеуді қолдану Программалаудың функционалдық парадигмасы -есептеуге негізделгендіктен, барлық функционалдық тілдердің -абстракцияны сипаттауға арналған қағиданы қолдайтыны заңды құбылыс. 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





Функцияны жазудың инфиксті тәсілі
Функцияны жазудың инфиксті тәсілі
Кейбір функциялар үшін жазудың инфиксті тәсілі қолданылуы мүмкін, ондай функциялар қарапайым бинарлық операциялар сияқты. Мысалы, тізімдерді конкатенациялау мен функцияларды композициялау операциялары анықталған:
Мысал 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. Тізімдерді конкатенациялаудың инфиксті операциясы. (++) :: [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


Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №4
Описание слайда:

Слайд 5


Haskell тілінде тізімдер мен жолдарды өңдеу. Зертханалық жұмыс №5, слайд №5
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию