Задачи по Pascal. Найти произведение элементов, кратных 3 в массиве.

Условие задачи: Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]. Размер произвольный. (Язык Pascal)

Сложность: легкая.

Решение задачи

Для начала продумаем наше решение. Ну само собой сначала заполним массив случайными числами с помощью цикла и когда будем заполнять будем проверять является ли текущее число кратное трем и если кратно то сразу занесем его в произведение.

Для того чтобы решить задачу нам понадобятся следующие переменные:

  • Переменная mass — для массива
  • Переменная i — для цикла for
  • Переменная n — для кол-ва элементов массива
  • Переменная proiz — для произведения
  • Начнем мы с каркаса нашей программы

    type

    massiv =
    array
    [
    1..1000
    ]
    of
    integer
    ;
    // создаем свой тип данных
    var

    proiz, n, i :
    integer
    ;
    // объявляем

    mass : massiv;
    // переменные
    begin

    randomize;
    // включаем генератор случайных чисел

    write
    (
    ‘Введите длину массива : ‘
    );readln(n);
    // вводим длину массива

    readln;
    // чтобы программа не закрывалась
    end
    .

    Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ) включили генератор случайных чисел , подробнее (тут), ну и попросили пользователя ввести кол-во элементов массива.

    Теперь нам надо заполнить наш массив случайными, делается это как обычно в цикле, но также мы в цикле сразу проверим элемент которому только что присвоили значение на кратность, до начала цикла нам нужно задать начальное значение переменной в которое у нас будет храниться произведение (proiz), нужно ей присвоить единицу, если этого не сделать, то произведение у нас будет всегда равно одному:

    proiz :=
    1
    ;
    // начальное значение произведение ДОЛЖНО быть равно 1
    for
    i:=
    1
    to
    n
    do
    // пускаем цикл, от 1 до длины массива

    begin

    mass[i] := random(
    56
    ) —
    28
    ;
    // получаем случайное число от -28 до 27

    if
    (mass[i]
    mod
    3
    =
    0
    )
    then
    // если оно кратно 3

    proiz := proiz * mass[i];
    // то заносим его в произведение

    write
    (mass[i],
    ‘ | ‘
    );
    // выводим массив

    end
    ;

    Т.е. довольно просто, при заполнение массива сразу же и проверяем числа на кратность.

    Всё решение задачи Pascal

    type

    massiv =
    array
    [
    1..1000
    ]
    of
    integer
    ;
    // создаем свой тип данных
    var

    proiz, n, i :
    integer
    ;
    // объявляем

    mass : massiv;
    // переменные
    begin

    randomize;
    // включаем генератор случайных чисел

    write
    (
    ‘Введите длину массива : ‘
    );readln(n);
    // вводим длину массива

    proiz :=
    1
    ;
    // начальное значение произведение ДОЛЖНО быть равно 1

    for
    i:=
    1
    to
    n
    do
    // пускаем цикл, от 1 до длины массива

    begin

    mass[i] := random(
    56
    ) —
    28
    ;
    // получаем случайное число от -28 до 27

    if
    (mass[i]
    mod
    3
    =
    0
    )
    then
    // если оно кратно 3

    proiz := proiz * mass[i];
    // то заносим его в произведение

    write
    (mass[i],
    ‘ | ‘
    );
    // выводим массив

    end
    ;

    writeln
    ;
    // для красоты переносим курсор на новую строку

    writeln
    (
    ‘Произведение чисел кратных 3-м = ‘
    , proiz);
    // выводим результат

    readln;
    // чтобы программа не закрывалась
    end
    .

    Беликова Ирина

    Учитель физики, информатики и вычислительной техники. Победитель конкурса лучших учителей Российской Федерации в рамках Приоритетного Национального Проекта "Образование".

    Оцените автора
    Добавить комментарий