Задачи по 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
    .
    Предыдущая
    ПрограммированиеЗадачи по Pascal. Найти среднее арифметическое элементов массива с нечетными номерами.
    Следующая
    ПрограммированиеЗадачи по Pascal. Найти наименьший нечетный элемент массива.
    Помогли? Поставьте оценку, пожалуйста.
    Плохо
    0
    Хорошо
    0
    Супер
    0
    Спринт-Олимпик.ру
    Мы в ВК, подпишись на нас!

    Подпишись на нашу группу в ВКонтакте, чтобы быть в курсе выхода нового материала...

    Вступить
    ×