Программирование в Логике. Чанышев О.Г. - 17 стр.

UptoLike

Составители: 

33
filenameext с шаблоном (o,i,i):
filenameext(FullName,"prolog",".err"),
write(FullName),nl,
filenameext(FullName1,"prolog.err",".exe"),
write(FullName1),nl.
Выход:
prolog.err
prolog.exe
filenamepath с шаблоном (i,o,o)
filenamepath("C:\\mycatalog\\myfile.txt",Path,Name),
write("Path=",Path, "Name=",Name),nl,
Выход:
Path=C:\mycatalog\ Name=myfile.txt
filenamepath с шаблоном (o,i,i)
filenamepath(FullName,"C:\\mycatalog\\","anfile.txt"),
write(FullName),nl,
Выход:
C:\mycatalog\anfile.txt
3.6.3. Чтение и запись
Основные предикаты для чтения:
file_str(OSFileName,StringVariable) – читает файл целиком.
readchar(CharVariable) – читает один символ с устройства
ввода (файл или клавиатура).
readint(IntegerVariable) – читает целое число в пределах (от
-2147483648 до >2147483647 для 32 bit платформы). Ошибка воз-
никает, если ввод
не может быть преобразован в целое.
readln(StringVariable) – читает строку.
readreal(RealVariable) – читает реальное число.
Примеры правильного задания:
127
-127.457E-5
0.72
.99
34
Универсальный оператор записи – write. Пример:
write("Это значения переменных. V=",V,",C=",C),nl,
Переменные могут иметь любой тип.
Предикат nl служит для перевода строки.
3.7. Строки и функции работы со строками
Строкалюбая последовательность символов, заключенная
в кавычки.
Предикат
concat – объединение строк.
Шаблоны (patterns) (i, i, o), (o, i, i), (i, o, i), (i, i, i).
Примеры с разными шаблонами.
% Шаблон (i, i, o)
Строка1="Это строка ",
Строка2="И это строка",
concat(Строка1,Строка2,ИтоговаяСтрока).
write(ИтоговаяСтрока),
%Выход: Это строка И это строка
% Шаблон (o, i, i)
concat(X,"И это строка","Это строка И это строка")
write(X)
%Выход: Это строка
% Шаблон (i, o, i)
concat("Это строка",X,"Это строка И это строка
")
%Выход: И это строка
% Шаблон (i, i, i)
concat("Это строка"," И это строка","Это строка И это стро-
ка")
% Нет выхода. Утверждение истинно.
concat("Это строка"," А это строка не строка","Это строка И
это строка")
% Утверждение ложно. "А это строка не строка" не является
% подстрокой "Это строка И это строка
"
     filenameext с шаблоном (o,i,i):                                        Универсальный оператор записи – write. Пример:
     filenameext(FullName,"prolog",".err"),                                 write("Это значения переменных. V=",V,",C=",C),nl,
     write(FullName),nl,                                                    Переменные могут иметь любой тип.
     filenameext(FullName1,"prolog.err",".exe"),                            Предикат nl служит для перевода строки.
     write(FullName1),nl.
     Выход:                                                                 3.7. Строки и функции работы со строками
     prolog.err
                                                                           Строка – любая последовательность символов, заключенная
     prolog.exe
                                                                     в кавычки.
                                                                           Предикат concat – объединение строк.
     filenamepath с шаблоном (i,o,o)
                                                                           Шаблоны (patterns) (i, i, o), (o, i, i), (i, o, i), (i, i, i).
     filenamepath("C:\\mycatalog\\myfile.txt",Path,Name),
     write("Path=",Path, "Name=",Name),nl,
                                                                            Примеры с разными шаблонами.
     Выход:
                                                                            % Шаблон (i, i, o)
     Path=C:\mycatalog\ Name=myfile.txt
                                                                            Строка1="Это строка ",
                                                                            Строка2="И это строка",
     filenamepath с шаблоном (o,i,i)
                                                                            concat(Строка1,Строка2,ИтоговаяСтрока).
     filenamepath(FullName,"C:\\mycatalog\\","anfile.txt"),
                                                                            write(ИтоговаяСтрока),
     write(FullName),nl,
                                                                            %Выход: Это строка И это строка
     Выход:
     C:\mycatalog\anfile.txt
                                                                            % Шаблон (o, i, i)
                                                                            concat(X,"И это строка","Это строка И это строка")
     3.6.3. Чтение и запись
                                                                            write(X)
      Основные предикаты для чтения:                                        %Выход: Это строка
      file_str(OSFileName,StringVariable) – читает файл целиком.
      readchar(CharVariable) – читает один символ с устройства              % Шаблон (i, o, i)
ввода (файл или клавиатура).                                                concat("Это строка",X,"Это строка И это строка")
      readint(IntegerVariable) – читает целое число в пределах (от          %Выход: И это строка
-2147483648 до >2147483647 для 32 bit платформы). Ошибка воз-
никает, если ввод не может быть преобразован в целое.                       % Шаблон (i, i, i)
      readln(StringVariable) – читает строку.                               concat("Это строка"," И это строка","Это строка И это стро-
      readreal(RealVariable) – читает реальное число.                ка")
      Примеры правильного задания:                                          % Нет выхода. Утверждение истинно.
      127
      -127.457E-5                                                          concat("Это строка"," А это строка не строка","Это строка И
      0.72                                                           это строка")
      .99                                                                  % Утверждение ложно. "А это строка не строка" не является
                                                                           % подстрокой "Это строка И это строка"

                                33                                                                   34