Условие задачи : Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-56, 47]. Найти произведение элементов с четными номерами, которые превосходят некоторое число t.
Сложность : легкая .
Чтобы решить эту задачу нам понадобиться цикл и условие.
Первое что мы сделаем мы создадим свой тип данных как и зачем читайте (тут) :
type massiv = array [1..100] of integer;
Теперь надо подумать какие переменные нам нужны :
1. Под массив само собой
2. Под кол-во элементов
3. Для произведения
4. Переменная счетчик для цикла
5. Переменная t.
Объявим их :
var mass : massiv ; n , proizv , i , t : integer;
Теперь мы сделаем следующее :
Сначала включим генератор случайных чисел для random зачем читайте (тут), затем присвоим переменной t какое-то число допустим 10, начальное значение произведения сделаем 1 (если этого не сделать то оно всегда будет равняться 1) и попросим пользователя ввести кол-во элементов массива :
begin
randomize; // включаем генератор случайных чисел.
t := 10 ;
proizv := 1;
write('Введите кол-во элементов массива : '); readln(n);
end.
Теперь остался цикл в нем мы будем перебирать каждый элемент и сделаем условие, если число четное и больше t, то его можно умножать, погнали :
for i:=1 to n do
begin
mass[i] := random(104) - 56 ;
if (mass[i] mod 2 = 0) and (mass[i] > t) then
proiz := proiz * mass[i];
end;
Также можно для удобства вывести числа которые умножались, просто в условие добавим эту строку :
write(mass[i], ' | ');
Вот и вся задача :
uses crt;
type
massiv = array [1..100] of integer;
var
mass : massiv ;
n , proizv , i , t : integer;
begin
clrscr; // очищаем экран
randomize; // включаем генератор случайных чисел.
t := 10 ;
proizv := 1;
write('Введите кол-во элементов массива : '); readln(n);
for i:=1 to n do
begin
mass[i] := random(104) - 56 ;
if (mass[i] mod 2 = 0) and (mass[i] > t) then
begin
write(mass[i], ' | ');
proizv := proizv * mass[i];
end;
end;
writeln('Произведение эл-тов равно : ', proizv);
readln; // чтобы программа не закрывалась.
end.
Вот результат :
