Практическая информатика




Примеры программ - часть 3


Правило печать_суммы не имеет аргументов, данные вводятся с клавиатуры и затем, при помощи механизма унификации, передаются другим подцелям данного правила.

Пример

Напишите программу на языке Пролог, вводящую с клавиатуры два числа - координаты точки на плоскости и определяющую, попадает ли данная точка в круг единичного радиуса с центром в начале координат.

inside(X,Y,попадает):- number(X), number(Y), X**2+Y**2=<1. inside(X,Y,не_попадает):-number(X), number(Y), X**2+Y**2>1.

/* Ввести два числа и вызвать предикат inside/3 */

input:-write('Введите x-координату: '), read(X), nl, write('Введите y-координату: '), read(Y), nl, inside(X,Y,R), write(R).

Задание

Напишите процедуры на языке Пролог для решения следующих задач и приведите примеры использования этих процедур.

  1. Измените последнюю из рассмотренных программ так, чтобы пользователь мог ввести координаты центра круга.
  2. Найдите количество цифр во введенном числе.
  3. Определите максимальную цифру введенного числа.
  4. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определите, сколько клеток будет через N часов (N=3, 6, ..., 24, т. е. кратно 3), если первоначально была одна амеба.




Содержание  Назад  Вперед