Тема. Программирование циклического процесса. Типы циклов.
Задание:
Рассмотреть решение предложенной задачи с использованием всех трех видов циклов. Отладить программу с наиболее рациональным вариантом цикла.
Задано натуральное число N. Определить является ли оно простым.
Вариант с циклом FOR. Исходный код для Delphi 7:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n: word;
i:integer;
k :boolean;
begin
{ TODO -oUser -cConsole Main : Insert code here }
Writeln('N=');
Readln(n);
for i:=2 to round(sqrt(n)) do //проверка на простое число
if n mod i = 0 then
begin
k:=true;
break;
end;
if k then writeln('Ne prostoe')
else writeln('Prostoe');
Readln;
end.
Блок схема:
Вариант с циклом WHILE. Исходный код для Delphi 7:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n: word;
i:integer;
k :boolean;
begin
{ TODO -oUser -cConsole Main : Insert code here }
Writeln('N=');
Readln(n);
i:=1;
while i<=round(sqrt(n)) do
begin
inc(i);
if n mod i = 0 then
begin
k:=true;
break;
end;
end;
if k then writeln('Ne prostoe')
else writeln('Prostoe');
Readln;
end.
Блок схема:
Вариант с циклом REPEAT. Исходный код для Delphi 7:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n: word;
i:integer;
k :boolean;
begin
{ TODO -oUser -cConsole Main : Insert code here }
Writeln('N=');
Readln(n);
i:=1;
repeat
inc(i);
if n mod i = 0 then
begin
k:=true;
break;
end;
until i>=round(sqrt(n));
if k then writeln('Ne prostoe')
else writeln('Prostoe');
Readln;
end.
Блок схема:
|