Укажите структуру подписки условного оператора в полной и неполной форме! Количество правильных ответов: 2
A) if (договор) оператор 3;
B) if (договор) оператор;
C) else оператор 2; if (условие) оператор 1;
D) if (условие) оператор 1; else оператор 2;
var a,b,c:real;
s1,s2,s3:integer;
begin
read(a);
read(b);
read(c);
if a>0 then s1:=s1+1;
if b>0 then s1:=s1+1;
if c>0 then s1:=s1+1;
if a<0 then s2:=s2+1;
if b<0 then s2:=s2+1;
if c<0 then s2:=s2+1;
if frac(a)<eps then s3:=s3+1;
if frac(b)<eps then s3:=s3+1;
if frac(c)<eps then s3:=s3+1;
writeln('Число положительных чисел = ',s1);
writeln('Число отрицательных чисел = ',s2);
writeln('Число целых чисел = ',s3);
end.
/* Для подсчета целых чисел использовалась функция frac - она возвращает дробную часть числа. При сравнении дробных чисел полезно отсекать разряды после скажем 8 знака после запятой, что и было сделано путем введения константы eps . */
что-то типа этого:
const n = 8, m = 8;
var
A: array[1..n,1..m] of integer;
i, j, sum, product: integer;
isnotnull: boolean;
begin
randomize;
writeln('Случайная матрица:'); for i:=1 to n do begin
for j:=1 to m do begin
A[i,j] := random(51) - 25;
write(A[i,j]:5);
end;
writeln;
end; sum := 0;
for i:=1 to n do
if A[i,n-i+1] < 0 then
sum := sum + A[i,n-i+1];
writeln('Сумма отрицательных элементов побочной диагонали = ', sum); product := 1;
isnotnull := False;
for i:=1 to n-1 do
for j:=2 to n do
if (j > i) and (A[i,j] <> 0) then begin
isnotnull := True;
product := product * A[i,j];
end;
if isnotnull
writeln('Произведение ненулевых элементов в области выше главной диагонали = ', product)
else
writeln('Ненулевых элементов в области выше главной диагонали нет.', product); readln;
end.