Определите, все ли элементы массива – простые числа, в матрице из вещественных элементов - Pascal ABC
Формулировка задачи:
Решение задачи: «Определите, все ли элементы массива – простые числа, в матрице из вещественных элементов»
- program project1556;
- {1) определите, каких элементов больше – положительных нечетных или отрицательных четных;
- 2) определите, все ли элементы массива – простые числа.}
- function prime(a:integer):boolean;
- var
- k:integer;
- p:boolean;
- begin
- p:=True;
- for k:=2 to a-1 do
- begin
- if a mod k=0 then
- p:=False;
- if not p then
- break;
- end;
- prime:=p;
- end;
- const
- n=10;
- var
- i:integer;
- a:array [1..n] of real;
- k1,k2:integer;
- yesorno:boolean;
- begin
- randomize;
- for i:=1 to n do
- begin
- a[i]:= - n div 2 + random*n;
- write(a[i]:8:2)
- end;
- for i:=1 to n do
- begin
- if (odd(trunc(a[i]))) and (a[i]<0) then
- inc(k1);
- if (not odd(trunc(a[i]))) and (a[i]<0) then
- inc(k2);
- end;
- if k1>k2 then
- writeln('положительных нечетных >')
- else
- if k2>k1 then
- writeln('отрицательных четных >')
- else
- writeln('=');
- yesorno:=true;
- for i:=1 to n do
- if not (prime(abs(trunc(a[i])))) then
- begin
- yesorno:=false;
- break;
- end;
- writeln(yesorno);
- readln;
- end.
Объяснение кода листинга программы
1) В первой части кода определяется функция prime, которая проверяет, является ли число простым. Функция принимает целое число в качестве аргумента и использует цикл for для проверки деления числа на все числа от 2 до n-1. Если число делится на какое-либо из этих чисел без остатка, то оно не является простым. Функция возвращает true, если число простое, и false в противном случае.
2) Во второй части кода определяется константа n, которая равна 10. Затем создается переменная i, которая будет использоваться для итерации по элементам массива a.
3) В третьем блоке кода происходит итерация по элементам массива a. Для каждого элемента a[i] вычисляется его абсолютное значение с помощью функции trunc, а затем проверяется, является ли он нечетным с помощью функции odd. Если элемент является нечетным и отрицательным, то его значение увеличивается на k1. Если элемент не является нечетным и отрицательным, то его значение увеличивается на k2.
4) После завершения итерации по всем элементам массива a выполняется проверка, больше ли значение k1, чем значение k2. Если это так, то выводится сообщение положительных нечетных >
. Если k1 меньше или равно k2, то выводится сообщение отрицательных четных >
. Если k1 больше k2, то выводится сообщение =
.
5) В четвертом блоке кода определяется переменная yesorno, которая будет использоваться для хранения результата проверки каждого элемента массива a на простоту с помощью функции prime. Если хотя бы один элемент не является простым, то значение yesorno устанавливается в false и цикл прерывается с помощью оператора break.
6) В пятом блоке кода выполняется вывод значения yesorno. Если значение yesorno равно true, то выводится сообщение да
, если false - то нет
.
7) В шестом блоке кода происходит чтение следующего значения из ввода пользователя с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д