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

Задачи по Pascal

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

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

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

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

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

  1. Переменная mass — для массива
  2. Переменная i — для цикла for
  3. Переменная n — для кол-ва элементов массива
  4. Переменная proiz — для произведения

Начнем мы с каркаса нашей программы

1
2
3
4
5
6
7
8
9
10
11
12
13
14
type
massiv = array [1..1000] of integer; // создаем свой тип данных
var
proiz, n, i : integer; // объявляем
mass : massiv; // переменные
begin
randomize; // включаем генератор случайных чисел
write('Введите длину массива : ');readln(n); // вводим длину массива
readln; // чтобы программа не закрывалась
end.

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

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

1
2
3
4
5
6
7
8
9
10
11
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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.
cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий