Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

То что скидывала Даша / Лаб3 ответы

.txt
Скачиваний:
6
Добавлен:
27.05.2015
Размер:
2.09 Кб
Скачать
Контрольные вопросы.
1. К какому типу относятся символы? Какие три символа нельзя записать обычным способом?
Char. "'\. Их надо экранировать символом \
2. Как записывается символ перехода на другую строку?
'\n'
3. Как записывается символ табуляции?
'\t'
4. Чем отличаются списки и тьюплы?
Списки содержат элементы одного типа. Тьюплы - картежи элементов разных типов.
5. Какие функции работы со списками есть в Haskell?
head - голова списка
tail - хвост списка
length - количество элементов списка
reverse - запись списка в обратном порядке.
6. Для чего применяются частные определения?
Для избежания повторения частей кода.
7. В каких случаях применяются определения с альтернативами?
Когда необходимо задать при каком аргументе какое определение использовать.
Например, abs x= if x>=0 then x else -x
8. Охранные выражения.
abs x | x>=0 = x
| x< 0 = -x
otherwise
9. что такое двумерный синтаксис? каковы его основные правила?
Методика оформления кода программы.
Правила:
строка, расположенная с точно таким же отступом, как и предыдущая, рассматривается как новое определение;
строка, имеющая больший отступ, чем предыдущая, рассматривается как продолжение предыдущей строки (вложенные определения);
строка, имеющая меньший отступ, означает, что продолжение предыдущей строки завершено.
10. Когда полезны рекурсивно определенные функции?
Когда параметр рекурсивного вызова более прост, чем параметр определяемой функции
Когда имеется нерекурсивное определение для основного случая
fact n | n==0 =1
| n>0 = n*fact(n-1)
11. что такое образцы в Haskell?
f [1,x,y] =x+y
12. В чем отличие определений функции рекурсией и индукцией?
Индукция определяется без охранных выражений
fact 0 = 1
fact (n+1)=(n+1)*fact n
13. что такое <<as-образцы>>?
Применяется, если имя образца предполагается использовать в правой части уравнения, задающего функцию
f (x:xs) = x:x:xs
f s@(x:xs)=x:s
14. Чем отличаются формальные и фактические параметры?
Формальные параметры - названия переменных
Фактические параметры - подставляемые значения.
Соседние файлы в папке То что скидывала Даша