Clauses. readlist([H|T] :- readint(H)

readlist([H|T]:- readint(H),!, readlist(T).

readlist [ ]).

Строки, символы и символические имена

Под строкой понимается последовательность из нуля или нескольких символов. В Прологе такая последовательность используется для преобразования двух видов термов: символических имен и строк. Символическое имя – это неправильная последовательность букв, цифр и знака подчеркивания, начинающаяся с маленькой буквы (stol_stul,l1,m1). Символическое имя относится к типу symbol. Строка – это последовательность любых символов, заключенная в двойные кавычки (”stol”), строка относится к типу string. Символические имена можно использовать для именования объектов и отношений, а строки – только для названия объектов и значений их атрибутов. Символические имена и строки автоматически преобразуются друг в друга, и все предикаты, определенные для строки, могут быть применены и к символическим именам. Основное различие между ними в том, что символические имена хранятся в таблице в оперативной памяти и доступ к ним осуществляется быстрее, чем к строкам, обработка которых ведется посимвольно.

Для ввода строк используется предикат readln(Str), для ввода символов – readchar(Ch), а для вывода любых термов – предикат write(…).

Пример. Описания строк, символических имен и символов.

Domains

simvol=char

simvol_imya=symbol

str=string

Пример. Применение предикатов ввода-вывода для различных типов данных.

Goal

write(”Введите символ ”), readchar(Ch), write(”Ch= ”,Ch, ” ”), nl,

write(”Введите строку ”),readln(Str), write(”Str= ”,Str, ” ”), nl,

Write(”Введите символическое имя ”),readln(Sym),


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: