алгМагический квадрат (арг целN, арг цел табA[1:N, 1:N], рез лит Otvet)
дано| N>0
нач цел i, j, St, S,литFlag
St:=0 | вычисление суммы элементов главной диагонали
нц для i от1 до N | в качестве эталонной суммы St
St:=St+A[i, i]
кц
Flag:="Да"; i:=1
нц пока (i<=N) и (Flag="Да") | вычисление сумм элементов строк
S:=0
нц для j от 1 до N
S:=S+A[i, j]
кц
если S<>St | сравнение суммы элементов текущей строки с эталонной
тоFlag:="Нет"
иначеi:=i+1
Все
кц
j:=1
нц пока (j<=N) и (Flag="Да") | вычисление сумм элементов столбцов
S:=0
нц для i от1доN
S:=S+A[i, j]
кц
если S<>St |сравнение суммы элементов текущего
то Flag:="Нет" |столбца с эталонной суммой
иначеj:=j+1
Все
кц
если Flag="Да"
тоS:=0 | вычисление суммы элементов побочной диагонали
нц для i от1 доN
S:=S+A[i, N+1-i]
кц
если S<>St | сравнение суммы с эталонной
тоFlag:="Нет"
Все
Все
если Flag="Да"
то Otvet := "Это магический квадрат."
иначе Otvet := "Это не магический квадрат."
Все
Кон
Блок-схема (фрагмент)
| Вычисление суммы элементов главной диагонали в качестве эталонной суммы
|
| Вычисление сумм элементов строк и сравнение их с эталонной суммой
|
Блок-схема (продолжение)
|
Вычисление сумм
элементов столбцов
и сравнение их с
эталонной суммой
Вычисление суммы
элементов побочной
диагонали и сравнение
ее с эталонной суммой
|
|