Описать процедуру проверки простоты числа - Pascal ABC
Формулировка задачи:
описать процедуру проверки простоты числа. описать процедуру проверки числа на разложение вида 1+2а. составить программу, которая выбирает из данного массива чисел те, которые удовлетворяют 2 условиям.
Решение задачи: «Описать процедуру проверки простоты числа»
textual
Листинг программы
procedure pr_prost(const ch:integer; var b:boolean);
var
i:integer;
begin
b:=true;
if ch<2 then b:=false;
for i:=2 to trunc(sqrt(ch)) do
if ch mod i=0 then
begin
b:=false;
break;
end;
end;
procedure pr_uslov(const ch:integer; var b:boolean);
begin
if ch=1+2*(ch div 2) then
b:=true
else
b:=false;
end;
const
max=10;
var
mas:array[1..max]of integer;
i:integer;
a,b:boolean;
begin
writeln('исходный массив');
for i:=1 to max do
begin
mas[i]:=random(100);
write(mas[i],' ');
end;
writeln;
writeln('выбранные числа');
for i:=1 to max do
begin
pr_prost(mas[i],a);
pr_uslov(mas[i],b);
if a and b then write(mas[i],' ');
end;
end.
Объяснение кода листинга программы
- В процедуре pr_prost переменная b инициализируется значением true.
- Если число ch меньше 2, то переменная b устанавливается в false.
- Затем происходит цикл, который выполняется от 2 до округленного значения корня из числа ch.
- Внутри цикла проверяется, делится ли число ch на какое-либо число из диапазона от 2 до i без остатка.
- Если делится, то переменная b устанавливается в false и цикл прерывается командой break.
- Если после выполнения цикла переменная b остается равной true, то число ch является простым.
- В процедуре pr_uslov переменная b инициализируется значением true.
- Если число ch равно 1+2*(ch/2), то переменная b устанавливается в true.
- В противном случае переменная b устанавливается в false.
- В константе max значение равно 10.
- В переменной mas хранится массив из max элементов, каждый из которых является целым числом и хранится в соответствующем элементе массива.
- В переменной i хранится номер текущего элемента массива от 1 до max.
- В переменной a и b хранятся булевые значения, которые используются в процедурах pr_prost и pr_uslov соответственно.
- Выводится исходный массив чисел.
- Для каждого числа из массива выполняются следующие действия:
- вызывается процедура pr_prost с аргументами mas[i] и a;
- вызывается процедура pr_uslov с аргументами mas[i] и b;
- если результаты выполнения процедур a и b истинны, то выводится число mas[i].
- Выводится сообщение о выбранных числах.
- Для каждого числа из массива выполняются следующие действия:
- вызывается процедура pr_prost с аргументами mas[i] и a;
- вызывается процедура pr_uslov с аргументами mas[i] и b;
- если результаты выполнения процедур a и b истинны, то число mas[i] выводится на экран.