Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
39 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
453.50 kB
Просмотров:
72
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img0.jpg)
№2 слайд![Условные выражения](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img1.jpg)
Содержание слайда: Условные выражения
№3 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img2.jpg)
№4 слайд![Выражения охраны](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img3.jpg)
Содержание слайда: Выражения охраны
№5 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img4.jpg)
№6 слайд![Pattern Matching Образцы](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img5.jpg)
Содержание слайда: Pattern Matching (Образцы)
№7 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img6.jpg)
№8 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img7.jpg)
№9 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img8.jpg)
№10 слайд![Работа со списками](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img9.jpg)
Содержание слайда: Работа со списками
№11 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img10.jpg)
№12 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img11.jpg)
№13 слайд![Лямбда-выражения](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img12.jpg)
Содержание слайда: Лямбда-выражения
№14 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img13.jpg)
№15 слайд![Для чего можно использовать?](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img14.jpg)
Содержание слайда: Для чего можно использовать?
№16 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img15.jpg)
№17 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img16.jpg)
№18 слайд![Sections](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img17.jpg)
Содержание слайда: Sections
№19 слайд![Виды программ](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img18.jpg)
Содержание слайда: Виды программ
№20 слайд![Описание модуля](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img19.jpg)
Содержание слайда: Описание модуля
--------------------------------------
-- шапка
module Имя(определение1, определение2,..., определениеN) where
import Модуль1(...)
import Модуль2(...)
...
---------------------------------------
-- определения
определение1
определение2
...
№21 слайд![Декларативная и](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img20.jpg)
Содержание слайда: Декларативная и композиционная запись
В 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](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img21.jpg)
Содержание слайда: 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 слайд![функции Скоро в армию!](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img22.jpg)
Содержание слайда: функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
ИМТ =вес/ рост в квадрате
Параметр - индекс массы тела bmi
№24 слайд![функции Скоро в армию!](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img23.jpg)
Содержание слайда: функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
ИМТ =вес/ рост в квадрате
2 параметра – вес, рост weight height
№25 слайд![функции Скоро в армию!](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img24.jpg)
Содержание слайда: функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
ИМТ =вес/ рост в квадрате
2 параметра, сам индекс считается в функции where bmi = weight / height ^ 2
№26 слайд![функции Скоро в армию!](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img25.jpg)
Содержание слайда: функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
ИМТ =вес/ рост в квадрате
№27 слайд![функции Скоро в армию!](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img26.jpg)
Содержание слайда: функции
Скоро в армию!
Функция определяет годность к армии , в зависимости от индекса массы тела.
ИМТ =вес/ рост в квадрате
№28 слайд![Скоро в армию! Функция](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img27.jpg)
Содержание слайда: Скоро в армию!
• Функция определяет годность к армии , в зависимости от индекса массы тела.
• ИМТ =вес/рост в квадрате
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 lt bindings gt in lt](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img28.jpg)
Содержание слайда: 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 - gt](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img29.jpg)
Содержание слайда: 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 - gt](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img30.jpg)
Содержание слайда: Примеры
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 слайд![ДОПОЛНИТЕЛЬНО Программная](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img31.jpg)
Содержание слайда: ДОПОЛНИТЕЛЬНО:
Программная реализация
№33 слайд![](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img32.jpg)
№34 слайд![Общий вид определения функции](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img33.jpg)
Содержание слайда: Общий вид определения функции
№35 слайд![клоз](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img34.jpg)
№36 слайд![образцы](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img35.jpg)
Содержание слайда: образцы
№37 слайд![Образцы и клозы на примере](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img36.jpg)
Содержание слайда: Образцы и клозы на примере last
№38 слайд![Использование исчислений](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img37.jpg)
Содержание слайда: Использование исчислений
№39 слайд![Инфиксный способ записи](/documents_6/ac0f155cb993f6e093c209d6d5aed6b2/img38.jpg)
Содержание слайда: Инфиксный способ записи функций