Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные.doc
Скачиваний:
1
Добавлен:
13.07.2019
Размер:
130.05 Кб
Скачать

Варианты лабораторных работ

Вариант 1

  1. Описать рекурсивно домен, элементами которого будут множества целых чисел, представленные списками, переменные, представленные латинскими словами и произвольные теоретико-множественные выражения в префиксной форме от таких множеств, переменных и выражений с операциями union, intersect, minus

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(From, To), который должен быть истинным, только если из города From можно долететь до города To, может быть несколькими самолетами.

  1. Написать программу для предиката, который по входному списку из целых чисел строил список из 0 и 1. Единица соответствует положительному числу, 0 – не положительному.

  1. Из математического анализа известно, что функция sin x представляется в виде ряда Тейлора sin x = x- (x^3)/3!+(x^5)/5!-(x^7)/7!+(x^9)/9!-(x^11)/11!+… Напишите рекурсивную программу для предиката sinus(X, Res), который выдает приближенное значение синуса путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 2

  1. Описать рекурсивно домен, элементами которого являются: константы true, false; переменные, представляемые произвольными латинскими словами; произвольные булевские выражения в префиксной форме от переменных и этих констант с операциями and, or, not и аргументом в виде списка таких же булевских выражений для операций and, or и в виде одного булевского выражения для операции not.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Написать программу для предиката avia2(From, To), который должен быть истинным, только если из города From можно долететь до города To с двумя пересадками, и нельзя с меньшим числом.

  1. Написать программу для предиката, который по входному списку чисел строит список из на единицу больших чисел.

  1. Из математического анализа известно, что функция cos x представляется в виде ряда Тейлора cos x =1- (x^2)/2!+(x^4)/4!-(x^6)/6!+(x^8)/8!-(x^10)/10!+… Напишите рекурсивную программу для предиката cosinus(X, Res), который выдает приближенное значение косинуса путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 3

  1. Описать домен булевых выражений в дизъюнктивной нормальной форме (дизъюнкция произвольного числа конъюнктов от произвольных переменных и отрицаний переменных), элементами которого являются выражения в префиксной форме от операций diz, con, no с соответствующими аргументами в виде списков или переменных. Переменные представляются произвольными латинскими словами.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(From, To), который должен быть истинным, только если из города From можно долететь до города To с одной пересадкой, и нельзя без пересадки.

  1. Написать программу для предиката, который по входному списку чисел строит список из чисел списка, умноженных на 10 для неотрицательных чисел и умноженных на -1 для отрицательных чисел.

  1. Из математического анализа известно, что функция e^x представляется в виде ряда Тейлора e^x =1+ x+(x^2)/2!+(x^3)/3!+(x^4)/4!+(x^5)/5!+(x^6)/6!+… Напишите рекурсивную программу для предиката exp(X,Res), который выдает приближенное значение экспоненты путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 4

  1. Описать домен булевых выражений в конъюнктивной нормальной форме (конъюнкция произвольного числа дизъюнктов от произвольных переменных и отрицаний переменных), элементами которого являются выражения в префиксной форме от операций con, diz, no с соответствующими аргументами в виде списков или переменных. Переменные представляются произвольными латинскими словами.

  1. Даны факты для предикатов parent(X,Y), marriage(X,Y). Написать программу для предиката rodstvennik(X,Y), который должен быть истинным только для родственников.

  1. Написать программу для предиката, выбрасывающего из входного списка чисел отрицательные числа.

  1. Из математического анализа известно, что функция sin x представляется в виде ряда Тейлора sin x = x- (x^3)/3!+(x^5)/5!-(x^7)/7!+(x^9)/9!-(x^11)/11!+… Напишите рекурсивную программу для предиката sinus(X, Res), который выдает приближенное значение синуса путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 5

  1. Описать домен, элементами которого являются: константы вида real; переменные, представляемые произвольными латинскими словами; произвольные арифметические выражения в префиксной форме от переменных и этих констант с операциями plus, times, minus, div и аргументом в виде списка таких же булевских выражений для операций plus, times, и в виде пары арифметических выражений для операций minus и div.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(From, To), который должен быть истинным, только если из города From можно долететь до города To, может быть несколькими самолетами.

  1. Написать программу для предиката, выдающего максимальное значение из списка чисел.

  1. Из математического анализа известно, что функция ln x для x , модуль которых меньше 1, представляется в виде ряда Тейлора ln x = x- (x^2)/2+(x^3)/3-(x^4)/4+(x^5)/5-(x^6)/6+… Напишите рекурсивную программу для предиката log_e(X, Res), который выдает приближенное значение логарифма путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 6

  1. Описать рекурсивно домен для представления системы вложенных окон. Каждое окно характеризуется номером, именем, текстом и списком вложенных окон.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Написать программу для предиката avia2(From, To), который должен быть истинным, только если из города From можно долететь до города To с двумя пересадками, и нельзя с меньшим числом.

  1. Написать программу для предиката, выдающего сумму списка чисел.

  1. Из математического анализа известно, что функция cos x представляется в виде ряда Тейлора cos x =1- (x^2)/2!+(x^4)/4!-(x^6)/6!+(x^8)/8!-(x^10)/10!+… Напишите рекурсивную программу для предиката cosinus(X, Res), который выдает приближенное значение косинуса путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 7

  1. Описать рекурсивно домен, элементами которого будут множества целых чисел, представленные списками, переменные, представленные латинскими словами и произвольные теоретико-множественные выражения в префиксной форме от таких множеств, переменных и выражений с операциями union, intersect, minus

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(From, To), который должен быть истинным, только если из города From можно долететь до города To с одной пересадкой, и нельзя без пересадки.

  1. Написать программу для предиката, выдающего среднее арифметическое входного списка чисел, среднее арифметическое квадратов этих же чисел.

  1. Из математического анализа известно, что функция e^x представляется в виде ряда Тейлора e^x =1+ x+(x^2)/2!+(x^3)/3!+(x^4)/4!+(x^5)/5!+(x^6)/6!+… Напишите рекурсивную программу для предиката exp(X,Res), который выдает приближенное значение экспоненты путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 8

  1. Описать рекурсивно домен, элементами которого являются: константы true, false; переменные, представляемые произвольными латинскими словами; произвольные булевские выражения в префиксной форме от переменных и этих констант с операциями and, or, not и аргументом в виде списка таких же булевских выражений для операций and, or и в виде одного булевского выражения для операции not.

  1. Даны факты для предикатов parent(X,y), marriage(X,y). Написать программу для предиката rodstvennik(X,y), который должен быть истинным только для родственников.

  1. Написать программу для предиката, упорядочивающего список чисел.

  1. Из математического анализа известно, что функция sin x представляется в виде ряда Тейлора sin x = x- (x^3)/3!+(x^5)/5!-(x^7)/7!+(x^9)/9!-(x^11)/11!+… Напишите рекурсивную программу для предиката sinus(X, Res), который выдает приближенное значение синуса путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 9

  1. Описать домен булевых выражений в дизъюнктивной нормальной форме (дизъюнкция произвольного числа конъюнктов от произвольных переменных и отрицаний переменных), элементами которого являются выражения в префиксной форме от операций diz, con, no с соответствующими аргументами в виде списков или переменных. Переменные представляются произвольными латинскими словами.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(From, To), который должен быть истинным, только если из города From можно долететь до города To, может быть несколькими самолетами.

  1. Написать программу для предиката, который по входному списку из целых чисел строил список из этих же чисел, но в обратном порядке.

  1. Из математического анализа известно, что функция ln x для x , модуль которых меньше 1, представляется в виде ряда Тейлора ln x = x- (x^2)/2+(x^3)/3-(x^4)/4+(x^5)/5-(x^6)/6+… Напишите рекурсивную программу для предиката log_e(X, Res), который выдает приближенное значение логарифма путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 10

  1. Описать домен булевых выражений в конъюнктивной нормальной форме (конъюнкция произвольного числа дизъюнктов от произвольных переменных и отрицаний переменных), элементами которого являются выражения в префиксной форме от операций con, diz, no с соответствующими аргументами в виде списков или переменных. Переменные представляются произвольными латинскими словами.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Написать программу для предиката avia2(From, To), который должен быть истинным, только если из города From можно долететь до города To с двумя пересадками, и нельзя с меньшим числом.

  1. Написать программу для предиката, который по входному списку из целых чисел строил список, содержащий каждый третий элемент входного списка.

  1. Из математического анализа известно, что функция cos x представляется в виде ряда Тейлора cos x =1- (x^2)/2!+(x^4)/4!-(x^6)/6!+(x^8)/8!-(x^10)/10!+… Напишите рекурсивную программу для предиката cosinus(X, Res), который выдает приближенное значение косинуса путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 11

  1. Описать домен, элементами которого являются: константы вида real; переменные, представляемые произвольными латинскими словами; произвольные арифметические выражения в префиксной форме от переменных и этих констант с операциями plus, times, minus, div и аргументом в виде списка таких же булевских выражений для операций plus, times, и в виде пары арифметических выражений для операций minus и div.

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(From, To), который должен быть истинным, только если из города From можно долететь до города To с одной пересадкой, и нельзя без пересадки.

  1. Написать программу для предиката, который по входному списку из целых чисел строил список, содержащий каждый сотый элемент входного списка.

  1. Из математического анализа известно, что функция e^x представляется в виде ряда Тейлора e^x =1+ x+(x^2)/2!+(x^3)/3!+(x^4)/4!+(x^5)/5!+(x^6)/6!+… Напишите рекурсивную программу для предиката exp(X,Res), который выдает приближенное значение экспоненты путем суммирования первых членов ряда до тех пор, пока слагаемые превышают 0,0001. В программе, если нужно, использовать отсечение “!”.

Вариант 12