Написать программу на языке Паскаль по заданной блок-схеме
Задание:
Определите значение переменной a и b после выполнения фрагмента алгоритма:
В данном уроке задача решается в два этапа: сначала помощью таблицы, затем на языке программирования Паскаль.
a | b | a < b | ход решения | a | b |
25 | 16 | нет |
a:= 25 — 4 b:= 16 + 2 |
21 | 18 |
21 | 18 | нет |
a:= 21 — 4 b:= 18 + 2 |
17 | 20 |
17 | 20 | да | a:= 20 — 1 | 19 | 20 |
Таким образом, переменная a = 19, переменная b = 20
Запишем с помощью языка программирования «Паскаль» программу для решения задачи по блок-схеме:
Program block_schema;
var
a,b:integer;
begin
a:=25;
b:=16;
repeat
a:= a - 4;
b:= b + 2;
until
a < b;
a:=b-1;
writeln('a= ',a);
writeln('b= ',b);
end.
Оператор цикла с постусловием repeat.
В данной программе используется оператор цикла с постусловием repeat.
Repeat — это цикл, в котором условие стоит после тела . Причем оно выполняется тогда и только тогда, когда результат условия false; как только логическое выражение становится true, выполнение цикла прекращается.Между словами REPEAT (повторить) и UNTIL(до тех пор, пока) можно записать любое количество операторов без использования операторных скобок.
В отличие от оператора WHILE вычисление логического выражения происходит не до, а после очередного повторения цикла. Из-за этого цикл REPEAT обязательно выполнится хотя бы раз, а цикл WHILE может не выполнится ни разу. Если условие в цикле ПОКА является условием продолжения повторений, то условие в цикле ДО — условием выхода из цикла, его завершения. Поэтому для одной и той же задачи эти условия противоположны.
Выполняется группа операторов до тех пор, пока не будет выполнено условие a < b.