Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PROLOG_Labs / Лабораторная работа 3.doc
Скачиваний:
110
Добавлен:
20.03.2015
Размер:
181.25 Кб
Скачать

Практическое задание

  1. Пусть дана следующая программа:

p: - a, b.

p: - c.

Декларативный смысл которой следующий: p будет истиной тогда и только тогда, когда будут истинны одновременно a и b, или будет истинным с. Каков декларативный смысл следующих программ?

а) p: - a,!,b.

p: - c.

b) p: - c.

p: - a,!,b.

  1. Следующие отношения классифицируют числа на три класса – положительные, нуль и отрицательные:

класс(Число, положительное): - Число>0.

класс(0, нуль).

класс(Число, отрицательное): - Число<0.

Сделать данную процедуру более эффективной с помощью отсечения.

  1. Пусть имеется программа:

р(4).

р(5):- !.

р(6).

Напишите ответы Пролог-системы на такие запросы:

а) цель: p(X).

б) цель: p(X), p(Y).

c) цель: p(X), !, p(Y).

Объясните полученные ответы.

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

  2. Индивидуальное задание 1. Разработать программу на языке Турбо-Пролог, использующую метод отсечения и отката для решения следующей задачи: из состава студенческой группы выбрать и вывести на экран фамилии студентов, удовлетворяющих одному из условий таблицы 3. Номер варианта совпадает с остатком от деления номера зачетной книжки на 25.

Примечание: фамилии, годы рождения студентов и пр., используемые при построении базы данных программы, не обязательно должны соответствовать фактическим данным.

Таблица 3.

варианта

Условие выборки

1

Родившихся в 1979 году

2

Родившихся в Рыбнице

3

Живущих в общежитии

4

Изучавших немецкий язык

5

Сдавших экзамен по высшей математике на «4»

6

Состоящих в браке

7

Живущих вместе с родителями

8

Сдавших в школе экзамен по химии на «5»

9

Учившихся в рыбницкой школе

10

Живущих на ул. Вершигора

11

Имеющих автомобиль

12

Имеющих компьютер

13

Чья работа связана с командировками

14

Чье имя Александр

15

Имеющих детей

16

Блондинов

17

Имеющих спортивный разряд

18

Служивших в армии

19

Владеющих украинским языком

20

Работающих по специальности

21

Переболевших гриппом в текущем году

22

Совершивших прыжки (прыжок) с парашютом

23

Умеющих стрелять

24

Владеющих приемами рукопашного боя

25

Летавших на самолете

Индивидуальное задание 2. Составить программу на языке Турбо-Пролог для вычисления функций А = А(x, y, z) и В = В(x, y, z) при условиях, заданных в таблице 2. Задачу решить для двух значений x, заданных соответственно в верхней и нижней строках.

Таблица 2.

варианта

Вид функций при условиях

x

y

z

1

0,981

-0,32

-2,625

0,512

2

-1,251

8,367

0,827

0,001

3

0,263

3,251

0,321

0,466

4

6,002

-0,622

3,235

0,541

5

1,625

6,31

5,4

0,252

6

0,625

17,421

10,365

0,828

7

0,451

2,444

0,869

-0,166

8

0,335

0,001

0,025

0,805

9

5,982

3,258

4,005

-0,661

10

8,251

-0,92

0,11

0,765

11

1,542

0,085

0,261

0,032

12

5,061

1,426

1,22

3,5

13

-4,5

1,62

0,75

0,845

14

0,025

3,741

-0,82

0,16

15

0,412

0,011

0,275

-0,486

16

-15,246

3,52

4,642

2,401

17

6,55

0,08

2,75

0,15

18

0,465

5,15

6,33

3,25

19

15,331

-2,23

-0,823

15,221

20

1,825

9,052

8,426

17,5

21

7,8

0,65

-5,5

2,3

22

6,32

-0,85

1,25

0,22

23

7,15

0,11

2,55

0,12

24

1,34

4,31

2,981

3,075

25

3,75

0,22

-6,72

1,05