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

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

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

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

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

textual
Листинг программы
  1. program project1556;
  2. {1) определите, каких элементов больше положительных нечетных или отрицательных четных;
  3. 2) определите, все ли элементы массива простые числа.}
  4.  
  5. function prime(a:integer):boolean;
  6. var
  7.   k:integer;
  8.   p:boolean;
  9. begin
  10.   p:=True;
  11.   for k:=2 to a-1 do
  12.     begin
  13.       if a mod k=0 then
  14.         p:=False;
  15.       if not p then
  16.         break;
  17.     end;
  18.   prime:=p;
  19. end;
  20.  
  21. const
  22.   n=10;
  23. var
  24.   i:integer;
  25.   a:array [1..n] of real;
  26.   k1,k2:integer;
  27.   yesorno:boolean;
  28.  
  29. begin
  30.   randomize;
  31.   for i:=1 to n do
  32.     begin
  33.       a[i]:= - n div 2 + random*n;
  34.       write(a[i]:8:2)
  35.     end;
  36.   for i:=1 to n do
  37.     begin
  38.       if (odd(trunc(a[i]))) and (a[i]<0) then
  39.         inc(k1);
  40.       if  (not odd(trunc(a[i]))) and (a[i]<0) then
  41.         inc(k2);
  42.     end;
  43.   if k1>k2 then
  44.     writeln('положительных нечетных >')
  45.   else
  46.     if k2>k1 then
  47.       writeln('отрицательных четных >')
  48.     else
  49.       writeln('=');
  50.   yesorno:=true;
  51.   for i:=1 to n do
  52.     if not (prime(abs(trunc(a[i])))) then
  53.       begin
  54.         yesorno:=false;
  55.         break;
  56.       end;
  57.   writeln(yesorno);
  58.   readln;
  59. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы