Нужно составить блок-схему по этому коду a = 30; b = 10; c = -48; d = -9;
если (b > a) тогда a=(b div c)-7;
если (b > c) xor (b > d) тогда a=(c-d) div 8;
если (b > d) xor (a > c) тогда b=(c div d)-3; b=(a-d)*2; кесли кесли иначе
если (b > c) and (b > a) тогда c=(a-d) mod 5;
если (a > b) тогда b=(d div c)-7; d=(d mod a) mod 5; иначе a=(d div b)*1; кесли c=(a*c)+4; кесли
если (c > d) тогда c=(d*b)*8; c=(c div a)+6; иначе a=(a div d)-1; кесли кесли печать a, b, c, d
var a: array[1..maxn] of integer;
skv,prod,gr,i: integer;
begin
writeln('введите ',maxn,' чисел');
skv:=0; prod:=1;
gr:=0;
for i:=1 to maxn do
begin
write(i,': '); readln(a[i]);
if a[i]<0 then skv:=skv+a[i]*a[i];
if (a[i] mod 2 = 0) and (i mod 2 = 0) then
prod:=prod*a[i];
if abs(a[i])>100 then gr:=gr+1;
end;
writeln('сумма квадратов отрицательных: ',skv);
writeln('произведение четных на четных местах: ',prod);
writeln('больше 100 по модулю: ',gr);
end.
введите 15 чисел
1: 151
2: -231
3: 104
4: 19
5: 36
6: -112
7: 5
8: 8
9: 11
10: 13
11: 45
12: 5
13: 6
14: 17
15: 19
сумма квадратов отрицательных: 65905
произведение четных на четных местах: -896
больше 100 по модулю: 4
Почему просто не попытаться перемножить эти элементы? Например потому, что максимальное целое значение в компьютерной математике ограничено количеством байт, отводимых для представления данных такого типа и редко превышает 2³². А представление с плавающей точкой - приближенное и проверять четность для подобных чисел часто оказывается бессмысленным.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
var a:=ArrRandom(10,-15,15); a.Println;
if a.Where((x,i)->i.IsEven).Any(x->x.IsEven) then
Writeln('Четное')
else Writeln('Нечетное')
end.
Тестовое решение
13 3 5 4 15 7 -15 -4 7 12
Нечетное
Пояснения.
1. var a:=ArrRandom(10,-15,15); - описывается динамический массив "а", который создается и заполняется данными.
2. a.Println; - вывод элементов массива.
3. a.Where((x,i)->i.IsEven) выделяет из массива "а" элементы, у которых индекс четный (массив "а" - динамический и его элементы индексируются от нуля, поэтому элементы с нечетным порядковым номером имеют четные индексы).
Полученная последовательность элементов посредством Any(x->x.IsEven) проверяется на наличие хотя бы одного элемента с четным значением. Проверка возвращает логическое значение, на основе которого формируется вывод.