Цикл с предусловием это такой цикл, в котором условие проверяется перед выполнением тела цикла. А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while
Часть программы. Решение задач
1. Найдите ошибку в программе:
program ;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
2. Найдите ошибку в программе:
program Prim 2 1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f ); p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
3. Найдите ошибку в программе:
program Prim_2_1;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
4. Найдите ошибку в программе:
program Prim_2_1;
var a,b:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
5. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
6. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
writeln('p=',p);
readln
end.
7. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
8. Следующий алгоритм в результате выполнения программы находит:
program Prim_2_3;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c;
writeln('p=',p);
readln
end
9. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p=:a+b+c+d+f;
writeln('p=',p);
readln
end.
А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while