КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Задачи для лабораторных работ по дисциплине ЯПЗИИ
| На базе имеющихся предикатов, описывающих родственные отношения: man(symbol), woman(symbol), parent(symbol,symbol), Kol_det(symbol, symbol, integer), mother(symbol), father(symbol)
Определить предикаты брат, сестра, дядя, бабушка.
|
| Имеется информационная база о служащих предприятия в виде:
идентификационный номер служащего, фамилия, должность, зарплата, номер отдела. Дополнительно отдельно хранятся данные о семейном положении служащего в виде: идентификационный номер служащего, фамилия жены или мужа, число детей.
Написать программу, содержащую пример такой базы и дополнить её правилами:
1) Азнаком с В , если они работают в одном отделе
2) Жена/муж Азнаком с женой/мужем В , если А и В работают в одном отделе.
3) Составить целевые запросы к программе:
- Выдать всех служащих первого отдела)
- Определить работников, получающих зарплату более заданной
- Определить работников, имеющих более одного ребёнка.
|
| Составить программу, вычисляющую значение функции
f(x,y)=3*y * a(x) + sin(x*y)* b(y), где
a(x)=sqrt(| x|),
b(y)=cos(y) +2.
Вывести промежуточные значения a(x), b(y) и результат f (x,y). Использовать два способа – вычисление в одном предикате и выделение нахождения a(x) и b(y), в отдельные предикаты.
|
| Написать программу, вычисляющую значение функции вида:
f (x,y)
| =
|
| 2*x, если x+y < -1
cos(x*y), если -1 ≤ x+y ≤ 1
sqrt(x+y), если x+y > 1
|
|
| Написать программу, осуществляющую сравнение двух чисел А и В и формирующую одно из сообщений:
«А больше В», «А меньше В», «А равно В»
|
| Составить предикат max1(x,y,z), определяющий max
из двух чисел x и y
|
| Составить программу для решения квадратного уравнения ax²+bx+c=0
|
| Имеются сведения о возрасте различных людей в форме:
возраст(фамилия, число_лет) и их поле: мужчина(фамилия), женщина(фамилия).
Используя внутрипрограммную цель получить список всех мужчин старше 18 лет.
|
| Имеются данные о том, кто кого победил во время соревнований в виде: победил(фамилия, фамилия).
Используя предикат победил и предикат cut, необходимо классифицировать соревновавшихся следующим образом:
если Х победил кого-либо и Х был кем-то побеждён, тоХ – боец
иначе еслиХпобедил кого-либо, то Х – победитель
иначе если Хбыл кем-то побеждён, то Х – спортсмен
кесли
|
| Пусть имеется информация о возрасте некоторых людей в виде:
возраст(имя, число лет) и их поле: мужчина(имя), женщина(имя), цвете волос: цвет_волос(имя, цвет) а также о различных городах, когда-либо посещавшихся данными людьми. Необходимо составить программу, осуществляющую поиск и выбор одного рыжеволосого мужчины старше 18 лет из списка и вывод всех городов, которые он посещал. Целевой запрос должен быть внутрипрограммным.
|
| Составить программу, определяющую х в степени n,
где х, n - целые числа, n ≥0.
|
| Последовательность Фибоначчи имеет вид: 0,1,1,2,3,5,8…. и определяется формулами: f(1) = 0, f(2) = 1,…., f(k )= f(k-2) + f(k-1).
Составить программу, определяющую число Фибоначчи с заданным номером.
|
| Имеются факты, описывающие родственные отношения между людьми, указывая, кто является чьим родителем:
родитель(X,Y), т.е. X – родитель Y.
Описать предикат, позволяющий определить, кто является чьим потомком:
потомок(А,В), т.е. А - потомок В.
|
| Определить предикат lensp(N,L) для нахождения длины списка L.
|
| Составить программу для поиска суммы всех четных элементов списка
|
| Составить программу для перевода списка, записанного в виде цифр, в список из соответствующих слов, например:
[3,5,1,3] преобразовать в [“три”, “пять”, “один”, “три”]
|
| Написать программу для определения максимального значения в списке.
| 18-а
| Составить программу для определения, является ли первый список подсписком второго.
| 18- б
| Второй вариант предыдущей задачи: определить подсписок через предикат объединения списков append.
|
| Написать программу, позволяющую найти список, являющийся пересечением двух списков.
|
| Написать программу, позволяющую определить длину строки, введённой пользователем, не используя стандартного предиката str_len.
|
| Подсчитать, сколько символов находится в файле, определенном пользователем
|
| Подсчитать, сколько слов находится в файле, определенном пользователем
|
| Файл tree.dat содержит базу данных о плодовых деревьях: яблонях и грушах, включая сорт и тип плодоношения:
яблоня(”Папировка”,”летний”)
яблоня(”Мельба”,”летний”)
яблоня(”Антоновка”,”зимний”)
яблоня(”Уэлси”,”зимний”)
груша(”Лада”,”летний”)
груша(”Московская”,”летний”)
груша(”Чижовскаяа”,”осенний”)
Необходимо запросить у пользователя дерево и тип плодоношения и выдать ему все подходящие сорта. В случае отсутствия подходящего сорта выдать ответ «Нет данных»
|
| В файле tel.dat разместить данные об именах и номерах телефонов, используя предикат телефон(имя, номер):
телефон(”Иван”,”1234337”)
телефон(”Петр”,”1111567”)
телефон(”Маша”,”3222232”)
Составить программу, позволяющую проводить дополнение базы данных, с помощью примерного диалога:
Введите имя: Толя
Введите телефон: 1234567
Продолжить? да/нет
По окончании дополнения базы следует сохранить обновлённый файл tel.dat.
|
|