Var i:integer; a:array[1..3] of integer; begin Write('Введите три целых числа: '); Read(a[1],a[2],a[3]); for i:=1 to 3 do begin if a[i] mod 2=0 then a[i]:=sqr(a[i]); Write(a[i],' ') end end.
Пример выполнения Введите три целых числа: 17 -8 14 17 64 196
Цикл с предусловием это такой цикл, в котором условие проверяется перед выполнением тела цикла. А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while
i:integer;
a:array[1..3] of integer;
begin
Write('Введите три целых числа: ');
Read(a[1],a[2],a[3]);
for i:=1 to 3 do begin
if a[i] mod 2=0 then a[i]:=sqr(a[i]);
Write(a[i],' ')
end
end.
Пример выполнения
Введите три целых числа: 17 -8 14
17 64 196