(в таблице отражен только конечный результат работы циклов типа для, в которых вычисляются суммы) Обозначения проверяемых условий: (i<=N) и (Flag = "ДА" )=> (1) (j<=N) и (Flag = "ДА" )=> (2) Flag = "ДА"=> (3)
N теста
St
Flag
i
(1)
j
(2)
(3)
S
S<>St
Otvet
1
"Да"
1 2 3 1,2,3 1,2,3 1,2,3 1,2,3
+ + +
1,2,3 1,2,3 1,2,3 1 2 3
+ + +
+
6 6 6 6 6 6 6
- - - - - - -
"Магический квадрат"
"Да" "Нет"
+ -(кц)
1,2 1
-(кц)
-
+
"Не магический квадрат"
Turbo Pascal
Program MagicSquare;
Uses Crt;
Var A : Array [1..20, 1..20] of Integer;
i, j, N : Integer;
Standard, S : Integer; {Standard - сумма-эталон, S - текущая сумма}