Информатика

Напишите программу на языке Паскаль уровня B для заполнения массива случайными числами в интервале [0,100] и выбора

Напишите программу на языке Паскаль уровня B для заполнения массива случайными числами в интервале [0,100] и выбора всех простых чисел в другой массив. Для определения, является ли переданное число простым, используйте логическую функцию. Пример: массив A: 12 13 85 96 47 массив B.
Верные ответы (1):
  • Тарас
    Тарас
    65
    Показать ответ
    Название: Генерация случайных чисел и выбор простых чисел в массиве

    Описание: Для написания программы на языке Паскаль уровня B для заполнения массива случайными числами в интервале [0,100] и выбора всех простых чисел в другой массив, мы можем использовать следующий алгоритм:

    1. Объявите два массива: A и B.
    2. Заполните массив A случайными числами в интервале [0,100] с помощью функции Random.
    3. Создайте функцию IsPrime, которая будет проверять, является ли переданное число простым. Для этого можно использовать простой алгоритм перебора всех чисел от 2 до sqrt(n) и проверять, делится ли число без остатка на какое-либо из них.
    4. Используя цикл, переберите все элементы массива A. Если элемент является простым числом (проверяется с помощью функции IsPrime), добавьте его в массив B.
    5. Выведите массивы A и B на экран.

    Пример использования:

    program RandomPrimeNumbers;

    const
    N = 10; // размер массива A

    var
    A: array[1..N] of Integer;
    B: array[1..N] of Integer;
    i, j: Integer;

    function IsPrime(n: Integer): Boolean;
    var
    i: Integer;
    begin
    IsPrime := True;
    if n < 2 then
    IsPrime := False
    else
    for i := 2 to Trunc(Sqrt(n)) do
    if n mod i = 0 then
    begin
    IsPrime := False;
    Break;
    end;
    end;

    begin
    Randomize;

    // Заполнение массива A случайными числами
    for i := 1 to N do
    A[i] := Random(101);

    // Выбор простых чисел и добавление их в массив B
    j := 1;
    for i := 1 to N do
    begin
    if IsPrime(A[i]) then
    begin
    B[j] := A[i];
    j := j + 1;
    end;
    end;

    // Вывод массивов A и B
    Writeln("Массив A:");
    for i := 1 to N do
    Write(A[i], " ");

    Writeln;
    Writeln("Массив B (простые числа):");
    for i := 1 to N do
    if B[i] <> 0 then
    Write(B[i], " ");

    Readln;
    end.


    Советы: Перед тем как приступать к заданию, школьнику стоит ознакомиться с алгоритмами проверки чисел на простоту и генерации случайных чисел в языке Паскаль. Также, для лучшего понимания задачи, есть смысл самостоятельно провести тесты на числах и проверить правильность работы программы.

    Практика: Попробуйте изменить размер массива A и посмотреть, как это повлияет на количество простых чисел, выбираемых в массив B.
Написать свой ответ: