Задачи по Pascal. Произведение эл-тов с четными номерами, которые больше t.

Задачи по Pascal

Условие задачи : Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-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.

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий