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

8.5. Разветвления на prolog

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

предикат if <первая ветвь разветвления>.

предикат if <вторая ветвь разветвления>.

                     

предикат if <последняя ветвь разветвления>

Пример

8.3. Для примера рассмотрим программу определения типа образовательного учреждения, которое посещает ребенок в зависимости от его возраста.

Domains

X,Y=symbol.

Predicates

ввод(X).

вывод(X).

посещает(X,X)

ответ.

Clauses

Ввод(X) if write(“введите возраст ребенка”),readint(X),nl.

Вывод(Y) if write(”ребенок посещает”),write(Y).

Посещает(X,Y) if X<3,Y=”ясли”.

Посещает(X,Y)if X>=3,X<=6,Y=.”дет.сад”.

Посещает(X,Y) if X>6,Y=.”школа”.

Ответ if ввод(X),посещает(X,Y),вывод(У).

Упражнения

    1. Найти большее из двух чисел.

    2. Найти меньшее из трех чисел.

    3. Вывести на экран название угла в зависимости от его величины (острый, тупой, прямой, развернутый).

    4. Даны длины трех отрезков. Могут ли эти отрезки служить сторонами треугольника?

    5. Ввести результаты двух экзаменов и вывести размер стипендии.

    6. Вычислить значение функции при заданном х.

    7. Найти абсолютную величину заданного числа.

    8. Найти значение функции при заданном х.

    9. Найти значение функции max(a,c)+max(b,c,d)при заданных a,b,c,d.

    10. Найти значение функции |x+xy+1| при заданных х,y.

    11. Найти значение функции max(a,b,c)–min(b,c) при заданных a,b,c.

    12. Найти значение функции min(a,b)+min(b,c,d)при заданных a,b,c,d.

    13. Найти значение функции |2x + y| при заданных х,y.

    14. Найти значение функции max (a, b) – max (a, c, d) при заданных a, b, c, d.

    15. Найти значение функции |3a – b| при заданных a, b.

    16. Найти значение функции max (a, c) + max (b, c, d) при заданных a, b, c, d.

    17. Найти значение функции | x + xy + 1| при заданных х, y.

    18. Найти значение функции max (a, b, c) – min (b, c) при заданных a, b, c.

    19. Найти значение функции |ab – 1| при заданных a, b.

    20. Найти значение функции min (a, b) + min (b, c, d) при заданных a, b, c, d.

    21. Найти значение функции |x – y2| при заданных х, y.

    22. Найти значение функции max (a, b) – min (a, b, c) при заданных a, b, c.

    23. Найти значение функции |x2 – y| при заданных х, y.

    24. Найти значение функции min (a, c) – min (b, c) при заданных a, b, c.

    25. Найти значение функции |x2 – y2| при заданных х, y.

    26. Найти значение функции min (a, b) × min (a, c) при заданных a, b, c.

    27. Найти значение функции |3x + y| при заданных х, y.

    28. Найти значение функции max (a, b) + min (a, c) при заданных a, b, c.

    29. Найти значение функции |6x – y| при заданных х, y.

    30. Найти значение функции min (a, b) + min (d, c) при заданных a, b, c, d.

    31. Найти значение функции |x – 8y2| при заданных х, y.

    32. Найти значение функции max (a, c) × min (d, l) при заданных a, c, d.

    33. Найти значение функции |2x – 3y| при заданных х, y.

    34. Найти значение функции 2 min (a, b, c) при заданных a, b, c.

    35. Найти значение функции |ab + c| при заданных a, b, c.

    36. Найти значение функции max (a, c) – min (a, c) при заданных a, c.

    37. Найти значение функции |ac – b| при заданных a, b, c.

    38. Найти значение функции min (a, c) × min (d, e) при заданных a, c, d, e.

    39. Найти значение функции |a2 – ac| при заданных a, c.

    40. Найти значение функции max (a, b) + min (b, c) при заданных a, b, c.

    41. Найти значение функции |x – y2| при заданных х, y.

    42. Найти значение функции min (a, b, c) × max (a, b) при заданных a, b.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]