program raf105;
var i,j,del:integer;
begin
for i:=10 to 99 do
begin
del:=0;
for j:=1 to i do
begin
if (i mod j)=0
then del:= del+1;
end;
if del=3
then writeln(i);
end;
end.
2)program raf105;
var a,b,c:integer;
x:boolean;
begin
write('Введите число: ');
readln(a);
write('Введите искомую цифру: ');
readln(c);
while a<>0 do
begin
b:= a mod 10;
if x=false
then x:= b=c;
a:= (a-b) div 10;
end;
if x
then writeln('В ведённом числе есть искомая цифра')
else writeln('В ведённом числе нет искомой цифры');
end.
3)a) 2
b) 1
c) 0
d) 1
e) бесконечно
Язык программирования PascalABC
А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while