Дан массив, состоящий из 17 элементов. Заполнить его целыми числами из отрезка [58;98].
Вычислить:
-Количество элементов, больших некоторого числа В;
-произведение пяти первых элементов;
-сумму четных элементов;
-сумму элементов, стоящих на нечетных местах.
, и объясните, не понимаю вообще( язык программирования паскаль)
Программа:
program test;
(c) NaaMan}
var b, n, s1, s2 : integer;
p : Int64;
begin
{Формируем массив А из 17 элементов от 58 до 98}
var a := ArrRandomInteger(17, 58, 98);
{Спрашиваем у пользователя число В}
write( 'Введите число В: ');
readln( b);
{n - счетчик для подсчета элементов, больших В}
{Обнуляем счетчик}
n := 0;
{Просматриваем каждый элемент в массиве а}
ForEach var x in a do
{Если он больше, чем В, по увеличиваем счетчик на 1}
if x > b then n := n + 1;
{Для вычисления произведения используем переменную Р}
p := 1;
{Выберем 5 первых элементов массива, от 0-го до 4-го}
for var x :=0 to 4 do
{Перемножаем}
p := p * a[x];
{Для вычисления суммы четных эл-в используем переменную S1}
s1 := 0;
{Переберем все элементы в массиве}
foreach var x in a do
{Если элемент чётный, т.е. делится на 2 без остатка,
то прибавляем его к S1}
if x mod 2 = 0 then
s1 := s1 + x;
{Для вычисления суммы эл-в, стоящих на нечетных местах,
используем переменную S2}
s2 := 0;
{Просмотрим индексы массива по порядку, 17 штук, от 0 до 16}
for var x := 0 to 16 do
{Если индекс нечетный, т.е. делится на 2 с остатком,
то складываем содержимое массива по этому индексу
с S2}
if x mod 2 = 1 then
s2 := s2 + a[x];
{А теперь всё это безобразие выводим на экран}
{Содержимое массива А}
writeln(a);
writeln( 'Количество элементов массива, больших чем ',b, ' - ', n, ' штук');
writeln( 'Произведение первых пяти элементов р = ', p);
writeln( 'Сумма всех чётных эл-в массива s1 = ', s1);
writeln( 'Сумма эл-в, стоящих на нечетных местах s2 = ', s2);
end.
Результат выполнения программы: