Определите, все ли элементы массива – простые числа, в матрице из вещественных элементов - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

1. В одномерном массиве, состоящем из n вещественных элементов: 1) определите, каких элементов больше – положительных нечетных или отрицательных четных; 2) определите, все ли элементы массива – простые числа. Не совсем поняла это задание. Заранее благодарю.

Решение задачи: «Определите, все ли элементы массива – простые числа, в матрице из вещественных элементов»

textual
Листинг программы
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.

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы