Var:a,i,b:integer
begin
readln(a);
for i:=1 to a do
if a mod i=0 then b:=b+1;
if b=2 then writeln(простое число)
else writeln( не простое число)
end.
Объясните пожалуйста подробно ,что делает эта программа? В чем суть ? Буду очень благодарна)

Ты вводишь любое число, которое в памяти компьютера присваивается в ячейку a. 

for i:=1 to a do 
Данная строка — некий алгоритм, повторяющийся определённое количество раз; 1 to a (a — число, которое ты ввела). Например, если ты ввела число 3, то твой алгоритм будет повторяться 3 раза. 

if a mod i=0 then b:=b+1 
Данная строка означает: если остаток от деления a на i равен нулю, то мы к b прибавляем один. 

if b=2 then writeln(простое число) 
Если число b равно двум, то на экране выводим надпись: "Простое число"; 
else writeln( не простое число)
Если же число b неравно двум, то на экране выводим надпись: "Непростое число" (если переводить подробно). 

А теперь, насчёт числа 3. 
Заменяем программу: 
var a, i, b:integer; 
begin
readln (a); 
for i:=1 to 3 do 
if 3 mod i = 0 then b:=b + 1; 
if b = 2 then writeln (простое число)
else writeln (непростое число);
end.

Вводится число 3. Алгоритм повторяется 3 раза.
Остаток деления 3 на 1 равен нулю? — нет —> b + 1 (b = 1); 
Остаток деления 3 на 2 равен нулю? — нет —> b + 1 = 1 + 1 = 2 (b = 2); 
Остаток деления 3 на 3 равен нулю? — нет —> b + 1 = 2 + 1 = 3 (b = 3).
<Программа идёт дальше>
Если b = 2, то выводим надпись: "простое число". 
b ≠ 2, так как b = 3 (после выполнения алгоритма) —> выводим надпись: "Непростое число". 
Конец.

Надеюсь, доходчиво объяснил. Удачи :)

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку