
- •1.1 Знакомство с интерпретатором Hugs.
- •1.2 Выполнение математических операций в интерпретаторе.
- •1.3. Простейшие генераторы списков.
- •1.4 Логические функции, функции сравнения, функции работы с перечислимыми типами данных.
- •1.5 Простейшие списочные и кортежные функции.
- •Задание на лабораторную работу №1.
- •Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Пример выполнения лабораторной работы 1.
- •Лабораторная работа 2. Создание простейших рекурсивных программ. Функции работы со строками и множествами. Сообщения об ошибках и преобразования типов.
- •2.1 Создание простейших рекурсивных программ.
- •2.2 Функции работы со строками и множествами.
- •2.3 Сообщения об ошибках и преобразования типов
- •Задание на лабораторную работу 2.
- •Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Пример выполнения работы
- •Лабораторная работа 3. Функции высших порядков.
- •Задание на лабораторную работу 3.
- •Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Лабораторная работа 4. Текстовые файлы. Факторизация, простые числа, разные задачи.
- •4. 1 Работа с текстовыми файлами в Haskell
- •Задание на лабораторную работу 4.
- •Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Лабораторная работа 5. Управление выводом в Прологе. Простейшие рекурсивные программы.
- •5.1 Факты и правила. База знаний. Запросы.
- •5.2 Управление выводом.
- •5.3 Рекурсия
- •Задание на лабораторную работу 5.
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Лабораторная работа №6. Работа со списками в Прологе.
- •6.1 Списки в Прологе.
- •6.2 Алгоритмы обработки списков
- •6.3 Алгоритмы сортировки
- •Лабораторная работа № 7. Решение логических задач на Прологе.
- •Пример выполнения работы.
- •Лабораторная работа № 8.
Вариант 3.
1. F(n,m,l)= fib(n!+2*max{m,l}-min{m,l})
2. а) Удалить из строки все элементы, равные заданному символу;
б) найти произведение индексов (начиная с 1) четных элементов числового списка, при отсутствии четных элементов вывести -1.
3.а)не должен содержать латинских заглавных букв, стоящих в алфавите после ‘T’ б) содержит только четные цифры.
5.
6.
Операция |
1-й аргумент |
2-й аргумент |
Результат |
вычитание |
8-ричная |
двоичная |
римская |
7. По введенным датам рождения и смерти в формате «dd.mm.yyyy» вычисляет продолжительность жизни человека в годах, месяцах и днях. Выводит соответствующие сообщения об ошибках в данных.
Вариант 4.
1.
2. а) Вычислить количество вхождений в числовой список минимальных элементов;
б) найти сумму индексов нечетных элементов числового списка.
3. а) должен начинаться с нечетной цифры; б) содержать не менее трех строчных букв; в) не содержать более одного символа, не являющегося ни цифрой и ни буквой.
5.
6.
Операция |
1-й аргумент |
2-й аргумент |
Результат |
сложение |
16-ричная |
двоичная |
римская |
7. По введенной дате в формате «dd.mm» определяет знак гороскопа(зодиакального). Выводит соответствующие сообщения об ошибках в данных.
Вариант 5.
1. F(n,m,l)=min{m!,l!}-fib(max{n,m})
2. а) Вычислить количество вхождений в строку (общее) символов «а», «b», «с»;
б) получить список индексов тех элементов числового списка, которые кратны трем.
3. а) содержит только двоичные цифры; б) заканчивается заглавной буквой .
5.
6.
Операция |
1-й аргумент |
2-й аргумент |
Результат |
умножение |
римская |
двоичная |
16-ричная |
7. По введенной дате в формате «dd.mm» выводит сообщение о номере учебной четверти или о виде каникул для школьников ( 07.01 – «зимние каникулы», 24.10 – первая учебная четверть и т.п.). Выводит соответствующие сообщения об ошибках в данных.
Вариант 6.
1. F(n)=min{fib(n!),(fib(n)+n)!}
2. а) Вычислить количество элементов числового списка, не превышающих заданного числа;
б) найти индекс первого вхождения в числовой список максимального элемента.
3. а)число символов ‘(’ равно числу символов ‘)’ ; б)не содержит гласных строчных латинских букв.
5.
6.
Операция |
1-й аргумент |
2-й аргумент |
Результат |
вычитание |
4-ричная |
римская |
16-ричная |
7. Составить расписание на день (6-10 пунктов, например 00:00 – 07:00 Сон. 07:00-08:00 Завтрак, поездка в университет и т.д.). По введенному времени в формате «hh:mm» напечатать соответствующий пункт расписания. Вывести соответствующие сообщения об ошибках в данных.
Вариант 7.
1. F(n,m)=(n mod m)! +fib(m mod n)
2. а) Вычислить произведение четных элементов числового списка;
б) преобразовать список в кортеж двух списков – с нечетными и четными индексами соответственно.
3. а) не содержит символов строчных латинских букв, предшествующих ‘k’; б) сразу после любой точки(если таковые есть) должна следовать цифра.
5.
6.
Операция |
1-й аргумент |
2-й аргумент |
Результат |
сложение |
римская |
двоичная |
8-ричная |
7. По вводимой температуре наружного воздуха в градусах выводит сообщения о реакции человека (реакции написать самостоятельно – например, «Лютый мороз», «Немного жарко» и т.п.). Выводит соответствующие сообщения об ошибках в данных.