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

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

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

 

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

 

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

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

1. Переменная mass — для массива
2. Переменная i — для цикла for
3. Переменная n — для кол-ва элементов массива
4. Переменная 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.

Вот результат :

zadachi-po-pascal-najti-proizvedenie-elementov-kratnyx-3-v-massive

feliguaus.org estaba en funcionamiento como una farmacia en linea.

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *