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

UptoLike

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

88
write(Char_data),
read_a_character.
_______________________________________________________
Программа циклически считывает символ, введенный пользовате-
лем: если этот символ не #, то он выдается на экран, если этот символ - #, то
программа завершается. Правило рекурсии имеет вид:
read_a_character :-
readchar(Char_data),
Char_data <> '#',
write(Char_data),
read_a_character.
Первая компонента правила есть встроенный предикат Турбо-
Пролога, обеспечивающий считывание символа. Значение этого символа
присваивается переменной Char_data.
Следующее подправило, проверяет,
является ли символ символом #. Если нет, то подправило успешно, символ
выдается на экран и рекурсивно вызывается read_a_character. Этот процесс
продолжается до тех пор, пока внутренняя проверка не обнаружит недо-
пустимый символ #. В этот момент обработка останавливается, и программа
завершается.
* Упражнение
4.10. Запустите программу Вернись. После приглашения Goal:
введите
последовательность символов:
The early bird gets the worm.#
4.5.2 Метод обобщенного правила рекурсии (ОПР)
Обобщенное правило рекурсии содержит в теле правила само себя.
Рекурсия будет конечной, если в правило включено условие выхода, гаран-
тирующее окончание его работы. Тело правила состоит из утверждений и
правил, определяющих задачи, которые должны быть выполнены.
Ниже в символическом виде дан общий вид правила рекурсии:
<имя правила рекурсии> :-
<
список предикатов>, (1)
<предикат условия выхода>, (2)
<список предикатов>, (3)
<имя правила рекурсии>, (4)
<список предикатов>. (5)
Хотя структура этого правила сложнее чем структура простого правила
рекурсии, рассмотренного в предыдущем разделе, однако принципы, приме-
няемые к первому из них применимы и ко второму.
Данное правило рекурсии имеет пять компонент. Первая - это
группа
предикатов. Успех или неудача любого из них на рекурсию не влияет. Сле-
дующая компонента - предикат условия выхода. Успех или неудача этого
предиката либо позволяет продолжить рекурсию, либо вызывает ее оста-
                    write(Char_data),
                    read_a_character.
_______________________________________________________

     Программа циклически считывает символ, введенный пользовате-
лем: если этот символ не #, то он выдается на экран, если этот символ - #, то
программа завершается. Правило рекурсии имеет вид:
     read_a_character :-
                       readchar(Char_data),
                       Char_data <> '#',
                       write(Char_data),
                       read_a_character.
     Первая компонента правила есть встроенный предикат Турбо-
Пролога, обеспечивающий считывание символа. Значение этого символа
присваивается переменной Char_data. Следующее подправило, проверяет,
является ли символ символом #. Если нет, то подправило успешно, символ
выдается на экран и рекурсивно вызывается read_a_character. Этот процесс
продолжается до тех пор, пока внутренняя проверка не обнаружит недо-
пустимый символ #. В этот момент обработка останавливается, и программа
завершается.

* Упражнение
     4.10. Запустите программу Вернись. После приглашения Goal: введите
последовательность символов:
     The early bird gets the worm.#
     4.5.2 Метод обобщенного правила рекурсии (ОПР)
     Обобщенное правило рекурсии содержит в теле правила само себя.
Рекурсия будет конечной, если в правило включено условие выхода, гаран-
тирующее окончание его работы. Тело правила состоит из утверждений и
правил, определяющих задачи, которые должны быть выполнены.
     Ниже в символическом виде дан общий вид правила рекурсии:
     <имя правила рекурсии> :-
                                  <список предикатов>,             (1)
                                  <предикат условия выхода>,       (2)
                                  <список предикатов>,             (3)
                                  <имя правила рекурсии>,          (4)
                                  <список предикатов>.             (5)
     Хотя структура этого правила сложнее чем структура простого правила
рекурсии, рассмотренного в предыдущем разделе, однако принципы, приме-
няемые к первому из них применимы и ко второму.
     Данное правило рекурсии имеет пять компонент. Первая - это группа
предикатов. Успех или неудача любого из них на рекурсию не влияет. Сле-
дующая компонента - предикат условия выхода. Успех или неудача этого
предиката либо позволяет продолжить рекурсию, либо вызывает ее оста-


                                                                           88