Паскальvar a,i,b:integer; begin readln(a); while (b>0) begin for i:=2 to a begin if ((a...

0 голосов
83 просмотров

Паскаль
var
a,i,b:integer;

begin
readln(a);

while (b>0)
begin
for i:=2 to a
begin
if ((a mod i)=0) then b:=b+1;
end;
a:=a+1;
end;
writeln(a);
end.
Объясните это словесно, пожалуйста


Информатика (14 баллов) | 83 просмотров
Дан 1 ответ
0 голосов
var
a,i,b:integer; //мы определяем три переменные целого типа
                    //a, i, b = равняются нулю
begin
readln(a); //вводиться с клавиатуры переменная a

while (b>0) do //это цикл с предусловием,
                        //по условие в цикле истино, цикл продолжает работать
                        //если условие ложно происходит выход из цикла
begin
for i:=2 to a do //цикл for - цикл выполняется пока переменная i=2 не станет больше переменной а, прикаждой итерации(шаг) переменная i увеличивается на 1
begin
if (a mod i=0) then b:=b+1; if условие если 
a mod i=0 истино, то 
выполняется  b:=b+1 
//mod -остаток от деления 
//a mod i=0 если при делении на остаток будет равен 0, то условие истино
end;
a:=a+1; //увеличение переменной на 1
end;
writeln(a); вывод переменной a
end.

код находящийся между
begin

end;
это тело цикла или условия, и данный кусок программы выполняется до 
end; и после этого снова обращается к строчке перед begin