Ein Magisches Quadrat zeichnet sich seiner Definition zufolge durch die gleichen Seitensummen aus. Ein Algorithmus, der prüft ob das Magische Quadrat tatsächlich magisch ist, müsste also zunächst erst einmal mittels der allgemeinen Formel für die Seitensumme einen Erwartungswert der Seitensumme bilden. Dann müsste er die Summen der Vertikalen, Horizontalen und Diagonalen bilden und diese mit dem vorher berechneten Erwartungswert vergleichen. Stimmen alle Werte meiteinander überein, so gibt der Algorithmus den Wert TRUE zuzrück, andernfalls FALSE.
Umsetzung in Delphi
In Delphi kann man das dadurch umsetzen, indem man Zeile für Zeile und Spalte für Spalte durchgeht, und die darin befindlichen Werte miteinander addiert. Um nicht wegen den Horizontalen, Vertikalen und Diagionalen viermal durch das ganze Feld zu müssen, kann man auch einmal jede einzelne Zelle erreichen und sie zu bestimmten Summen hinzuaddieren. Danach muss man immer wieder vergleichen, ob die errechnete Summe auch mit dem Wert der allgemeinen Summenformel übereinstimmt. Stimmen die beiden nicht miteinander überein, so wird der Wert FALSE zurückgegeben und die Prozedur angehalten. Nur wenn alle Tests mit wahr sind, ändert sich der Wert auf TRUE. var