VAR ans: Real; n, i, j, kol: Integer; a: Array of Array of Real; BEGIN Read(n); SetLength(a, n+1); For i := 1 to n do SetLength(a[i], n+1);
For i:= 1 to n do For j := 1 to n do Read(a[i][j]);
For i := 1 to n do If (a[i][i] > 0) then begin Inc(kol); ans := ans + a[i][i]; End;
If (kol > 0) then begin Writeln('Ср. ар. с гл. диагонали = ', ans / kol); kol := 0;ans := 0; End Else Writeln('Элементов > 0 на гл. диагонали - нет !');
For i := 1 to n do If (a[i][n-i+1] > 0) then begin Inc(kol); ans := ans + a[i][n-i+1]; End;
If (kol > 0) then Writeln('Ср. ар. с поб. диагонали = ', ans / kol) Else Writeln('Элементов > 0 на поб. диагонали - нет !'); END.
1. Вычисляется сумма квадратов чисел от 1 до 4: 1²+2²+3²+4².
2. Вычисляется сумма чисел от 1 до 5. Таблица изменений S и i в цикле for прикреплена в первом вложении.
3. Здесь вычисляется произведение чисел от 1 до 4. После выполнения цикла for в s будет храниться 1*2*3*4=24, а в a - 5. Таблица изменений i, s и a в цикле for прикреплена во втором вложении.
4. Здесь вычисляется произведение чисел от 1 до 5, за исключением того, что изначально s=0, поэтому после цикла for в s тоже будет храниться 0. А в a будет храниться 6.
5. Это циклический алгоритм.
6. S=4. Внутри цикла while число S увеличивается на 1, пока не перестанет выполняться условие "X <= 3". Так как X увеличивается вместе с S, то после цикла S=X=4.
7. Не уверен, что соблюдены какие-то правила составления блок-схем, но в общем у меня получилась такая (вложение 3).
ans: Real;
n, i, j, kol: Integer;
a: Array of Array of Real;
BEGIN
Read(n); SetLength(a, n+1);
For i := 1 to n do SetLength(a[i], n+1);
For i:= 1 to n do
For j := 1 to n do Read(a[i][j]);
For i := 1 to n do
If (a[i][i] > 0) then begin Inc(kol); ans := ans + a[i][i]; End;
If (kol > 0) then begin Writeln('Ср. ар. с гл. диагонали = ', ans / kol); kol := 0;ans := 0; End
Else Writeln('Элементов > 0 на гл. диагонали - нет !');
For i := 1 to n do
If (a[i][n-i+1] > 0) then begin Inc(kol); ans := ans + a[i][n-i+1]; End;
If (kol > 0) then Writeln('Ср. ар. с поб. диагонали = ', ans / kol)
Else Writeln('Элементов > 0 на поб. диагонали - нет !');
END.
1. Вычисляется сумма квадратов чисел от 1 до 4: 1²+2²+3²+4².
2. Вычисляется сумма чисел от 1 до 5. Таблица изменений S и i в цикле for прикреплена в первом вложении.
3. Здесь вычисляется произведение чисел от 1 до 4. После выполнения цикла for в s будет храниться 1*2*3*4=24, а в a - 5. Таблица изменений i, s и a в цикле for прикреплена во втором вложении.
4. Здесь вычисляется произведение чисел от 1 до 5, за исключением того, что изначально s=0, поэтому после цикла for в s тоже будет храниться 0. А в a будет храниться 6.
5. Это циклический алгоритм.
6. S=4. Внутри цикла while число S увеличивается на 1, пока не перестанет выполняться условие "X <= 3". Так как X увеличивается вместе с S, то после цикла S=X=4.
7. Не уверен, что соблюдены какие-то правила составления блок-схем, но в общем у меня получилась такая (вложение 3).