Главная страница

Задание 2. База данных заполнена следующими фактами lector('Адамов', 'программирование', 'А1', '11. 04. 2021')


Скачать 111.38 Kb.
НазваниеБаза данных заполнена следующими фактами lector('Адамов', 'программирование', 'А1', '11. 04. 2021')
Дата09.12.2022
Размер111.38 Kb.
Формат файлаdocx
Имя файлаЗадание 2.docx
ТипДокументы
#835569

База данных заполнена следующими фактами:

lector('Адамов', 'программирование', 'А1', '11.04.2021').

lector('Адамов', 'базы данных', 'А2', '14.04.2021').

lector('Акинфеев', 'системное программирование', 'А2', '15.04.2021').

lector('Акинфеев', 'основы программирования', 'А1', '16.04.2021').

lector('Алвин', 'компьютерная графика', 'В1', '17.04.2021').

lector('Алвин', 'психология', 'А1', '11.04.2021').

lector('Алдонин', 'философия', 'В1', '11.04.2021').

lector('Аленичев', 'микропроцессорные системы', 'В2', '15.04.2021').

lector('Ананко', 'физическая культура и спорт', 'В3', '16.04.2021').

lector('Анюков', 'математический анализ', 'А2', '17.04.2021').

student('Арифуллин', 'А1', 423537665478546).

student('Аршавин', 'А1', 423537665478547).

student('Афанасьев', 'А1', 423537665478548).

student('Ахметов', 'А2', 423537665478549).

student('Баженов', 'А2', 423537665478550).

student('Бакаев', 'А2', 423537665478551).

student('Баринов', 'А2', 423537665478552).

student('Бахарев', 'В1', 423537665478553).

student('Безродный', 'В1', 423537665478554).

student('Беляев', 'В1', 423537665478555).

student('Березуцкий', 'В1', 423537665478556).

student('Бесчастных', 'В1', 423537665478557).

student('Билялетдинов', 'В2', 423537665478558).

student('Бобёр', 'В2', 423537665478559).

student('Боков', 'В2', 423537665478560).

student('Борзенков', 'В2', 423537665478561).

student('Бородюк', 'В2', 423537665478562).

student('Бояринцев', 'В3', 423537665478563).

student('Бугаев', 'В3', 423537665478564).

student('Будянский', 'В3', 423537665478565).

student('Бузникин', 'В3', 423537665478566).

Получить всех студентов можно так:

student(X, Y, Z).



А информацию обо всех лекторах (экзаменах) — так:

lector(A, B, C, D).

Фрагмент результата:



А) Чтобы найти студентов, сдающих экзамен определенного числа (например 11.04.2021) — надо перебрать лекторов, найти группы сдающие в этот день и потом перебрать студентов этих групп:

Дата = '11.04.2021',

lector(Имя, Предмет, Группа, Дата),

student(Студент, Группа, _Номер).

Результат выполнения:



Б) Чтобы найти студентов, сдающих экзамен определенному лектору (например Адамову) — надо сначала перебрать лекторов, найти группы у которых он принимает экзамен, а затем — перебрать студентов этих групп. Цель может выглядеть так:

Имя = 'Адамов',

lector(Имя, Предмет, Группа, Дата),

student(Студент, Группа, _Номер).

В) чтобы найти предметы, которые надо сдать студенту — перебираем студентов чтобы найти ЭТОГО конкретного и узнать его группу. А затем — смотрим в таблице лекторов какие предметы сдает эта группа. Примеры целей:

?- Студент = 'Бахарев',

lector(_Лектор, Предмет, Группа, Дата), student(Студент, Группа, _Номер).

?- Студент = 'Арифуллин',

lector(_Лектор, Предмет, Группа, Дата), student(Студент, Группа, _Номер).

Г) Чтобы найти преподавателей принимающих у заданной группы, перебираем преподавателей, сверяем группу:

Группа = 'А2',

lector(Лектор, Предмет, Группа, Дата).

Д) Чтобы найти всех студентов в заданной группе — перебираем студентов, сверяем группу:

Группа = 'А1',

student(Студент, Группа, _Номер).

Е) Чтобы найти все предметы данного преподавателя — перебираем преподавателей, сверяем предмет:

Лектор = 'Акинфеев', lector(Лектор, Предмет, Группа, Дата).


написать администратору сайта