Пятница, 03.05.2024, 07:42
Приветствую Вас Гость | RSS

Язык программирования ПРОЛОГ

Стандартные предикаты

Стандартные предикаты

   ТП имеет большой набор встроенных предикатов. Большинство стандартных предикатов выполняют несколько функций в зависимости от ссотояния параметров вхлдящих в предикат. К моменту обращения к предикату каждый отдельный его параметр может быть опредеелн или неопределен. Известные параметры предиката – входные (i), неизвестные – выходные (o). Совокупность входных и выходных параметров определяет работу предиката и называется поточным шаблоном. Не для каждого варианта все возможные варианты поточного шаблона имеют смысл.

Стандартные предикаты ввода-вывода

   Служат для организации взаимодейтсвия программы с пользователем.

write (l1, l2, … ) ((i)*)

   Запись заданных констант или значений переменных l1, l2, … в активное окно на текстовом устройстве вывода. Аргументы могут быть как константами так и перменными, связанными со значениями стандартных типов данных.

write f (формат, a1, a2, …) (i, (i)*)

   Осуществляетяс форматный вывод. Общий вид формата %-m.p,

где % - начальный символ, - – указывает выравнивание по левой границе, по умолчанию – по правой границе, m – минимальная ширина поля вывода (необязательно), p – точность выводимых чисел.

readln (строка) (string) : (o)

   Читает строку с текстового устройства ввода и связывает ее с заданной переменной. Конец строки – ввод. Переменная может быть символьного типа.

readint (целочисленная переменная) (integer) : (o)

   Читает целое число и связывает его с заданой перменной. Переменная не должна быть определена до вызова предиката.

readreal (вещественная переменная) (real) : (o)

readchar (символьная переменная) (char) : (o)

inkey (символ) (char) : (o)

   Читает символ, в отличии от readchar выполнение программы не прерывается. Поэтому применяется для организации циклов ожидания. Предикат inkey не выполняется, если не введен ни один символ.

/* Вычисление факториала */

 

domains

      n, f=real

predicates

      factorial (n, f)

      result

clauses

      factorial (1, 1).

      factorial (N, F):-N=0, N1=N-1, factorial (N1, F1), F=F1*N.

      result:-write ("Введите N”), nl, write ("N=”),

      readreal (N), N=0, factorial (N, F), write (N,”!”,F), result.

goal

            write ("Выход из программы при N<=0”), nl, nl, result
Меню сайта
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Long Time Ago © 2024
Сделать бесплатный сайт с uCoz