Читайте также:
|
|
Циклическое выполнение задается с помощью оператора WHILE – выражения со стандартными словами WHILE и DO в следующей форме:
WHILE условие
DO
оператор DO
Если условие выполняется, Паскаль-машина выполняет оператор DO, после чего выполнение всего выражения WHILE повторяется до тех пор, пока выполняется условие.
Как правило, оператор WHILE записывается в вышеприведенном стиле, WHILE и DO на отдельных строках, оператор DO сдвинут вправо на два пробела. Это стандартный стиль написания программ, который облегчает их чтение.
Программа Copy использует оператор WHILE для любого количества символов из INPUT в OUTPUT. Символ # используется как маркер конца входных данных для остановки процесса копирования.
PROGRAM Copy (INPUT, OUTPUT);
{Копирует все символы, предшествующие #
из INPUT в OUTPUT}
VAR
Ch: CHAR;
BEGIN
READ(Ch);
WHILE Ch <> ‘#’
DO
BEGIN
WRITE(Ch);
READ(Ch)
END;
WRITELN
END.
INPUT: ABC#
OUTPUT: ABC
INPUT: Red#AZURE
OUTPUT: Red
Второй вариант выполнения программы показывает, что любые данные следующие за символом # не будут выведены в OUTPUT. Следовательно, маркер конца данных не может быть использован как данные.
Часть выполнения программы Copy для входных данных ABC# показана в таблице выполнения ниже. Значения не показаны в тех строках таблицы, где они не могут быть изменены.
Частичная таблица выполнения для программы Copy
Условие | INPUT | OUTPUT | Ch | |
BEGIN READ(Ch) WHILE Ch <> ‘#’ DO BEGIN WRITE(Ch) READ(Ch) END WHILE Ch <> ‘#’ DO BEGIN WRITE(Ch) READ(Ch) END WHILE Ch <> ‘#’ DO BEGIN WRITE(Ch) READ(Ch) END WHILE Ch <> ‘#’ WRITELN END. | Yes Yes Yes No | A BC# A B C# AB C # ABC # ABC#_ ABC# | _ A_ AB_ ABC_ ABC/_ ABC | ? A B C # |
Дата добавления: 2015-07-11; просмотров: 108 | Нарушение авторских прав