Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 82
- 83
- 84
- 85
- 86
- …
- следующая ›
- последняя »
