🗊Презентация Programming In Haskell. Определение функций

Нажмите для полного просмотра!
Programming In Haskell. Определение функций, слайд №1Programming In Haskell. Определение функций, слайд №2Programming In Haskell. Определение функций, слайд №3Programming In Haskell. Определение функций, слайд №4Programming In Haskell. Определение функций, слайд №5Programming In Haskell. Определение функций, слайд №6Programming In Haskell. Определение функций, слайд №7Programming In Haskell. Определение функций, слайд №8Programming In Haskell. Определение функций, слайд №9Programming In Haskell. Определение функций, слайд №10Programming In Haskell. Определение функций, слайд №11Programming In Haskell. Определение функций, слайд №12Programming In Haskell. Определение функций, слайд №13Programming In Haskell. Определение функций, слайд №14Programming In Haskell. Определение функций, слайд №15Programming In Haskell. Определение функций, слайд №16Programming In Haskell. Определение функций, слайд №17Programming In Haskell. Определение функций, слайд №18Programming In Haskell. Определение функций, слайд №19Programming In Haskell. Определение функций, слайд №20Programming In Haskell. Определение функций, слайд №21Programming In Haskell. Определение функций, слайд №22Programming In Haskell. Определение функций, слайд №23Programming In Haskell. Определение функций, слайд №24Programming In Haskell. Определение функций, слайд №25Programming In Haskell. Определение функций, слайд №26Programming In Haskell. Определение функций, слайд №27Programming In Haskell. Определение функций, слайд №28Programming In Haskell. Определение функций, слайд №29Programming In Haskell. Определение функций, слайд №30Programming In Haskell. Определение функций, слайд №31Programming In Haskell. Определение функций, слайд №32Programming In Haskell. Определение функций, слайд №33Programming In Haskell. Определение функций, слайд №34Programming In Haskell. Определение функций, слайд №35Programming In Haskell. Определение функций, слайд №36Programming In Haskell. Определение функций, слайд №37Programming In Haskell. Определение функций, слайд №38Programming In Haskell. Определение функций, слайд №39

Содержание

Вы можете ознакомиться и скачать презентацию на тему Programming In Haskell. Определение функций. Доклад-сообщение содержит 39 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Programming In Haskell. Определение функций, слайд №1
Описание слайда:

Слайд 2





Условные выражения
Описание слайда:
Условные выражения

Слайд 3


Programming In Haskell. Определение функций, слайд №3
Описание слайда:

Слайд 4





Выражения охраны
Описание слайда:
Выражения охраны

Слайд 5


Programming In Haskell. Определение функций, слайд №5
Описание слайда:

Слайд 6





Pattern Matching (Образцы)
Описание слайда:
Pattern Matching (Образцы)

Слайд 7


Programming In Haskell. Определение функций, слайд №7
Описание слайда:

Слайд 8


Programming In Haskell. Определение функций, слайд №8
Описание слайда:

Слайд 9


Programming In Haskell. Определение функций, слайд №9
Описание слайда:

Слайд 10





Работа со списками
Описание слайда:
Работа со списками

Слайд 11


Programming In Haskell. Определение функций, слайд №11
Описание слайда:

Слайд 12


Programming In Haskell. Определение функций, слайд №12
Описание слайда:

Слайд 13





Лямбда-выражения
Описание слайда:
Лямбда-выражения

Слайд 14


Programming In Haskell. Определение функций, слайд №14
Описание слайда:

Слайд 15





Для чего можно использовать?
Описание слайда:
Для чего можно использовать?

Слайд 16


Programming In Haskell. Определение функций, слайд №16
Описание слайда:

Слайд 17


Programming In Haskell. Определение функций, слайд №17
Описание слайда:

Слайд 18





Sections
Описание слайда:
Sections

Слайд 19





Виды программ
Описание слайда:
Виды программ

Слайд 20





Описание модуля
--------------------------------------
-- шапка
module Имя(определение1, определение2,..., определениеN) where
import Модуль1(...)
import Модуль2(...)
...
---------------------------------------
-- определения
определение1
определение2
...
Описание слайда:
Описание модуля -------------------------------------- -- шапка module Имя(определение1, определение2,..., определениеN) where import Модуль1(...) import Модуль2(...) ... --------------------------------------- -- определения определение1 определение2 ...

Слайд 21





Декларативная и композиционная запись 
В Haskell существует несколько встроенных выражений, которые облегчают построение функций и делают код более наглядным. Их можно разделить на два вида: выражения, которые поддерживают декларативный стиль (declarative style) определения функций, и выражения которые поддерживают композиционный стиль (expression style). 
 Что это за стили? В декларативном стиле определения функций больше похожи на математическую нотацию, словно это предложения языка. В композиционном стиле мы строим из маленьких выражений более сложные, применяем к этим выражениям другие выражения и строим ещё большие. 
 В Haskell есть полноценная поддержка и того и другого стиля. Выбор стиля скорее дело вкуса, существуют приверженцы и того и другого стиля, поэтому разработчики Haskell не хотели никого ограничивать. 
 where-выражения – декларативный стиль 
 let-выражения –композиционный стиль 
Более подробно ru-Haskell-book-1.pdf стр. 59
Описание слайда:
Декларативная и композиционная запись В Haskell существует несколько встроенных выражений, которые облегчают построение функций и делают код более наглядным. Их можно разделить на два вида: выражения, которые поддерживают декларативный стиль (declarative style) определения функций, и выражения которые поддерживают композиционный стиль (expression style). Что это за стили? В декларативном стиле определения функций больше похожи на математическую нотацию, словно это предложения языка. В композиционном стиле мы строим из маленьких выражений более сложные, применяем к этим выражениям другие выражения и строим ещё большие. В Haskell есть полноценная поддержка и того и другого стиля. Выбор стиля скорее дело вкуса, существуют приверженцы и того и другого стиля, поэтому разработчики Haskell не хотели никого ограничивать. where-выражения – декларативный стиль let-выражения –композиционный стиль Более подробно ru-Haskell-book-1.pdf стр. 59

Слайд 22






square a b c = sqrt(p * pa * pb* pc)
        where p = (a + b + c) / 2
                    pa = p -a
                    pb= p -b
                    pc = p –c
square a b c = let p = (a + b + c) / 2
                          in sqrt ((let pa = p -a in p * pa) *
                                        (let pb= p -b
                                         pc = p -c
                         in pb* pc))
Описание слайда:
square a b c = sqrt(p * pa * pb* pc) where p = (a + b + c) / 2 pa = p -a pb= p -b pc = p –c square a b c = let p = (a + b + c) / 2 in sqrt ((let pa = p -a in p * pa) * (let pb= p -b pc = p -c in pb* pc))

Слайд 23





функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
 ИМТ =вес/ рост в квадрате
Параметр - индекс массы тела bmi
Описание слайда:
функции Скоро в армию! Функция определяет годность к армии , в зависимости от индекса массы тела. ИМТ =вес/ рост в квадрате Параметр - индекс массы тела bmi

Слайд 24





функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
 ИМТ =вес/ рост в квадрате
2 параметра – вес, рост  weight height
Описание слайда:
функции Скоро в армию! Функция определяет годность к армии , в зависимости от индекса массы тела. ИМТ =вес/ рост в квадрате 2 параметра – вес, рост weight height

Слайд 25





функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
 ИМТ =вес/ рост в квадрате
2 параметра, сам индекс считается в функции where bmi = weight / height ^ 2 
Описание слайда:
функции Скоро в армию! Функция определяет годность к армии , в зависимости от индекса массы тела. ИМТ =вес/ рост в квадрате 2 параметра, сам индекс считается в функции where bmi = weight / height ^ 2 

Слайд 26





функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
 ИМТ =вес/ рост в квадрате
Описание слайда:
функции Скоро в армию! Функция определяет годность к армии , в зависимости от индекса массы тела. ИМТ =вес/ рост в квадрате

Слайд 27





функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
 ИМТ =вес/ рост в квадрате
Описание слайда:
функции Скоро в армию! Функция определяет годность к армии , в зависимости от индекса массы тела. ИМТ =вес/ рост в квадрате

Слайд 28





Скоро в армию!

• Функция определяет годность к армии , в зависимости от индекса массы тела.
• ИМТ =вес/рост в квадрате

bmiTell :: (RealFloat a) =>a->a->String
bmiTell weighth eight 
        |bmi<=skinny=“must be getting fat!"
        |bmi<=normal=”it's all right"
        |bmi<=fat =”need to lose weight!!"
        |otherwise=”urgently needs to lose weight !!!"
        where bmi=weight/height^2
              (skinny, normal, fat)=(18.5,25.0,30.0)
Описание слайда:
Скоро в армию! • Функция определяет годность к армии , в зависимости от индекса массы тела. • ИМТ =вес/рост в квадрате bmiTell :: (RealFloat a) =>a->a->String bmiTell weighth eight |bmi<=skinny=“must be getting fat!" |bmi<=normal=”it's all right" |bmi<=fat =”need to lose weight!!" |otherwise=”urgently needs to lose weight !!!" where bmi=weight/height^2 (skinny, normal, fat)=(18.5,25.0,30.0)

Слайд 29





let <bindings> in <expression>
cylinder::(RealFloat a )=> a -> a -> a
сylinder r h=
      let sideArea=2*pi*r*h
            topArea=pi*r^2
      in  sideArea + 2 * topArea
ghci>[let square x = x * x in (square 5, square 3, square 2)]
[(25,9,4)]
ghci>4 *(let a = 9 in a+1) + 2
42
Описание слайда:
let <bindings> in <expression> cylinder::(RealFloat a )=> a -> a -> a сylinder r h= let sideArea=2*pi*r*h topArea=pi*r^2 in sideArea + 2 * topArea ghci>[let square x = x * x in (square 5, square 3, square 2)] [(25,9,4)] ghci>4 *(let a = 9 in a+1) + 2 42

Слайд 30





Case expressions
head‘ :: [a]->a
head‘ [] =error "No head for empty lists!"
head‘ (x:_) =x
head' :: [a] -> a  
head' xs = case xs of [] -> error "No head for empty lists!"  
                                     (x:_) -> x  
Case expression of pattern -> result
                                  pattern -> result
                                  pattern -> result
Описание слайда:
Case expressions head‘ :: [a]->a head‘ [] =error "No head for empty lists!" head‘ (x:_) =x head' :: [a] -> a   head' xs = case xs of [] -> error "No head for empty lists!"                          (x:_) -> x   Case expression of pattern -> result pattern -> result pattern -> result

Слайд 31





Примеры
describeList::[a]->String
describeList xs = "The list is” ++ case xs of [] ->"empty."
                                                                   [x]->"a singleton list."
                                                                    xs->"a longer list." 
describeList :: [a] -> String
describeList xs ="The list is"++ what xs
     where what [] ="empty."
                 what [x] ="a singleton list."
                 what xs ="a longer list."
Описание слайда:
Примеры describeList::[a]->String describeList xs = "The list is” ++ case xs of [] ->"empty." [x]->"a singleton list." xs->"a longer list." describeList :: [a] -> String describeList xs ="The list is"++ what xs where what [] ="empty." what [x] ="a singleton list." what xs ="a longer list."

Слайд 32





ДОПОЛНИТЕЛЬНО:
Программная реализация
Описание слайда:
ДОПОЛНИТЕЛЬНО: Программная реализация

Слайд 33


Programming In Haskell. Определение функций, слайд №33
Описание слайда:

Слайд 34





Общий вид определения функции
Описание слайда:
Общий вид определения функции

Слайд 35





клоз
Описание слайда:
клоз

Слайд 36





образцы
Описание слайда:
образцы

Слайд 37





Образцы и клозы на  примере last
Описание слайда:
Образцы и клозы на примере last

Слайд 38





Использование   исчислений
Описание слайда:
Использование  исчислений

Слайд 39





Инфиксный способ записи функций
Описание слайда:
Инфиксный способ записи функций



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