С применением авторской функции - Pascal ABC

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

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

Составить программу, которая заполняет одномерный массив из 20 элементов случайными целыми числами от 1 до 99, а затем определяет, сколько в массиве имеется простых чисел (простым числом называется такое, которое делится только на единицу или само на себя).С применением авторской функции

Решение задачи: «С применением авторской функции»

textual
Листинг программы
program author;
 
  function IsPrime(a: integer): boolean;
  var
    i, delta: integer;
  begin
    a := abs(a);
    IsPrime := (a > 1) and ((a <= 3) or (a mod 2 <> 0) and (a mod 3 <> 0));
    delta := 4;
    i := 5;
    while (sqr(i) <= a) and IsPrime do
    begin
      IsPrime := IsPrime and (a mod i <> 0);
      delta := delta xor $06;  {смена шага - то 2 то 4}
      Inc(i, delta);
    end;
  end;
 
var
  a: array [1..20] of integer;
  i: integer;
  PrimeCount: integer;
begin
  randomize;
  for i := 1 to 20 do
  begin
    a[i] := 1 + random(99);
    Write(a[i]: 3);
  end;
  writeln;
  PrimeCount := 0;
  for i := 1 to 20 do
    if IsPrime(a[i]) then
      Inc(PrimeCount);
  writeln(PrimeCount);
end.

Объяснение кода листинга программы

  1. В функции IsPrime определяется, является ли число простым. Функция принимает число a в качестве параметра и возвращает true, если число простое, и false в противном случае. Переменные i, delta и IsPrime инициализируются.
  2. В основной программе создается массив a[1..20] из 20 чисел. Каждое число в массиве генерируется случайным образом от 1 до 99. Затем каждое число выводится на экран.
  3. После вывода чисел начинается цикл, который проверяет каждое число в массиве на простоту с помощью функции IsPrime. Если число простое, то его количество увеличивается на 1.
  4. После завершения цикла выводится количество простых чисел в массиве.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 4.286 из 5