TURBO PROLOG. Терёхин В.В. - 84 стр.

UptoLike

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

84
write("Я повторю их"), nl,
write("Чтобы остановить меня, введите stop"),nl,nl.
do_echo :-
repeat,
readln(Name),
write(Name),nl,
check(Name),!.
check(stop) :-
nl, write(" - OK, bye!").
check(_) :- fail.
_______________________________________________________
Правило repeat является первым в разделе утверждений программы
Эхо. Второе правило выводит информацию для пользователя. Третье правило
do_echo (выполнить_эхо) является правилом повтора, определенным поль-
зователем. Его первая компонента есть repeat:
do_echo :-
repeat,
readln(Name),
write(Name),nl,
check(Name),!.
Утверждение repeat вызывает повторное
выполнение всех следующих
за ним компонент. Предикат readnl(Name) считывает строку с клавиатуры,
write(Name) выдает (или моделирует эхо) ее на экран.
Последнее подправило check(Name) имеет два возможных значения.
Одно определяется подправилом:
check(stop) :-
nl, write(" - OK, bye!").
Если вводимая пользователем строка имеет значение stop, то правило
будет успешным. При этом курсор сдвигается на начало следующей
строки,
на экране появляется сообщение "OK, bye!" (до свидания), и процесс повто-
рения завершается. Обратите внимание на символ отсечения (!). Он служит
для прекращения откатов, если условие check выполнено. Другое значение
check(Name) определяется подправилом:
check(Name) :- fail.
Если значение строки отлично от stop, то результат выполнения этого
правила будет fail. В этом случае произойдет откат
к правилу repeat. Таким
образом, do_echo является конечным правилом в цепи повторений, условие
выхода из которой определяется предикатом check. Благодаря тому, что пра-
вило repeat является компонентой, правило do_echo становится конечным
правилом повтора.
В программе Эхо правило повтора является первой компонентой пра-
вила do_echo. Это очень гибкое средство программирования. Ниже
будут
           write("Я повторю их"), nl,
           write("Чтобы остановить меня, введите stop"),nl,nl.

      do_echo :-
                   repeat,
                   readln(Name),
                   write(Name),nl,
                   check(Name),!.

     check(stop) :-
                  nl, write(" - OK, bye!").
     check(_) :- fail.
_______________________________________________________

      Правило repeat является первым в разделе утверждений программы
Эхо. Второе правило выводит информацию для пользователя. Третье правило
do_echo (выполнить_эхо) является правилом повтора, определенным поль-
зователем. Его первая компонента есть repeat:
      do_echo :-
           repeat,
           readln(Name),
           write(Name),nl,
           check(Name),!.
      Утверждение repeat вызывает повторное выполнение всех следующих
за ним компонент. Предикат readnl(Name) считывает строку с клавиатуры,
write(Name) выдает (или моделирует эхо) ее на экран.
      Последнее подправило check(Name) имеет два возможных значения.
Одно определяется подправилом:
      check(stop) :-
                  nl, write(" - OK, bye!").
      Если вводимая пользователем строка имеет значение stop, то правило
будет успешным. При этом курсор сдвигается на начало следующей строки,
на экране появляется сообщение "OK, bye!" (до свидания), и процесс повто-
рения завершается. Обратите внимание на символ отсечения (!). Он служит
для прекращения откатов, если условие check выполнено. Другое значение
check(Name) определяется подправилом:
           check(Name) :- fail.
      Если значение строки отлично от stop, то результат выполнения этого
правила будет fail. В этом случае произойдет откат к правилу repeat. Таким
образом, do_echo является конечным правилом в цепи повторений, условие
выхода из которой определяется предикатом check. Благодаря тому, что пра-
вило repeat является компонентой, правило do_echo становится конечным
правилом повтора.
      В программе Эхо правило повтора является первой компонентой пра-
вила do_echo. Это очень гибкое средство программирования. Ниже будут


                                                                        84