Содержание
- 2. 1+1/(1+1/(1+…)) f n = 1+1/(1+1/(1+…)) f (n-1) f 0 = 1 f n = 1 +
- 3. Золотое сечение Такой предмет у вас в сумке?
- 4. 0+1/(1+1/(2+1/3+…)) b n = 0+1/(1+1/(2+1/3+…)) При трудностях помогает доп.параметр b’ k n = k+1/(k+1+1/(...+1/n))) b n
- 5. sumsin sin(1+2+...+n)/(sin 1+sin 2+...+sin n) Накапливающие параметры s1 s2 0 0 1 sin 1 1+2 sin
- 6. sumfact 1!+2!+3!+…+n! Желательно O(n) i p s 1 1 0 2 1 1 3 1*2 1+1*2
- 7. Еще синтаксис
- 8. Безымянная переменная (wildcard) sumfact' 0 i p s = s Лучше так: sumfact' 0 _ _
- 9. let sumfact' n i p s = sumfact' (n-1) (i+1) (p*i) (s+p*i) Еще одна проблема (небольшая
- 10. let в общем случае Двумерный синтаксис let правило1 правило2 … in выражение Могут быть и правила
- 11. Явное задание синтаксиса let правило1 правило2 … in выражение Можно использовать { ; }, тогда отступы
- 12. where sumfact' n i p s = sumfact' (n-1) (i+1) p’ (s+p’) where p’ = p*i
- 13. Еще д.з.
- 14. minlist Не совсем правильное решение minlist [x] = x minlist (x:xs) = if x then x
- 15. minlist – c чего начать? С чего начать? minlist [x] = x или minlist [] =
- 16. minsum minsum [_] = 1/0 minsum (x:y:xs) = min (x+y) (minsum (y:xs))
- 17. rev Вариант 1, используя ++ [x] rev [] = [] rev (x:xs) = rev xs ++
- 18. Забыл сказать length – длина списка length [] = 0 length (_:xs) = 1 + length
- 19. Кортежи
- 20. Кортежи (tuples) (1,2) - пары (3,7,11) – тройки (3, 4, 88, 9) и т.д. Для пар
- 21. zip zip – соединить два списка в список пар zip [1,2,3] [33,55,22] ? [(1,33), (2,55), (3,22)]
- 22. Pattern binding Пусть функция возвращает пару: areaPerim r = (3.14*r^2, 2*3.14*r) areaPerim 10 ? (314, 62.8)
- 23. Алгебраические типы данных
- 24. Как называются стандартные типы? Integer, Char, Bool, Double Списки [Integer] Строка String – сокращение для [Char]
- 25. data – простой случай. Конструкторы data Point = Pt Integer Integer Pt 33 50 Похоже на
- 26. data c вариантами data Person = Student String Integer Integer | Professor String String Student "Сидоров"
- 27. data c рекурсивным определением data Tree = Empty | Node Integer Tree Tree Node 1 (Node
- 28. Снова про функции высшего порядка
- 29. check check cond [] = False check cond (x:xs) = if cond x then True else
- 30. Стандартные функции all и any any - проверить, что хотя бы один элемент удовлетворяет условию any
- 31. checkDifferent checkDifferent [] = True checkDifferent (x:xs) = if x содержится в xs then False else
- 32. Частичная параметризация Задача 1: Написать функцию для вычисления квадратного трехчлена f a b с x =
- 34. Скачать презентацию