Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные.doc
Скачиваний:
1
Добавлен:
13.07.2019
Размер:
130.05 Кб
Скачать
  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. В программе, если нужно, использовать отсечение “!”.

Вариант 27

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

  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. В программе, если нужно, использовать отсечение “!”.

Вариант 28

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

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

  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. В программе, если нужно, использовать отсечение “!”.

Вариант 29

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

  1. Даны факты для предиката reys(From, To), описывающего существующие рейсы самолетов с указанием пунктов отправления и прибытия. Известно, что обратные рейсы тоже существуют, но могут быть не указаны в расписании. Написать программу для предиката avia(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. В программе, если нужно, использовать отсечение “!”.

Вариант 30