Определите, все ли элементы массива – простые числа, в матрице из вещественных элементов - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д