ПОСТРОИТЕЛЬ МК

КАРТА САЙТА ТЕТРАЭДРЫ ЧАТУРАНГА ВСЁ О КВАДРАТАХ ПОСТРОИТЕЛЬ МК 1 ПОСТРОИТЕЛЬ МК 2

Copyright , А. А. Ратушный Построитель магических квадратов Surmico-edition, Kiev, 2004

Поскольку построитель магических квадратов - программа реализованная мной на Visual Basic 6.0 и многие могут с недоверием отнестись к неизвестной программе, я просто намерен постепенно распечатать полностью её листинг. Кто работает с Visual Basic 6.0 легко её воспроизведёт сам, кто работает с другими языками, легко переведёт её на свой родной язык.

НАЧИНАЮ ВЫКЛАДЫВАТЬ!

Несколько вводных замечаний:
для любителей изящного программирования здесь нет ничего интересного.
Воспроизведение кода в условиях самобытного шаблона "народа" весьма нетривиальная задача. Я запущу отдельный список фрагментов кода и уже там все постараюсь упорядочить и откомментировать. Здесь особых комментов нет, потому что все очевидно и наглядно. В 16 случаях прописаны те самые 54 строки, которые являются ключевыми для каждого корневого числа. Здесь для примера приведен код для корневого числа 8. То есть для строки, начинающейся этим числом. Методологии получения этих 54 строк я посвящу отдельную страничку. Так что не грустите. Даст Бог, всё у вас будет!

Private Sub otcenochka()
Dim Result As Integer
Result = 10

Val (Label5.Caption) + Val(Label2.Caption) = zavsm1
Val (Label11.Caption) + Val(Label16.Caption) = zavsm2
Val (Label5.Caption) + Val(Label6.Caption) = zavsm3
Val (Label3.Caption) + Val(Label4.Caption) = zavsm4
Val (Label2.Caption) + Val(Label6.Caption) = zavsm5
Val (Label9.Caption) + Val(Label13.Caption) = zavsm6

If Val(Label11.Caption) < 1 Or Val(Label11.Caption) > 16 Or Val(Label11.Caption) = Val(Label1.Caption) Or _
Val(Label11.Caption) = Val(Label2.Caption) Or Val(Label11.Caption) = Val(Label3.Caption) Or Val(Label11.Caption) = Val(Label6.Caption) Or _
Val(Label11.Caption) = Val(Label4.Caption) Or Val(Label11.Caption) = Val(Label5.Caption) Or Val(Label11.Caption) = Val(Label16.Caption) Or _
Val(Label11.Caption) = Val(Label9.Caption) Or Val(Label11.Caption) = Val(Label13.Caption) Or _
Val(Label2.Caption) = Val(Label5.Caption) Or Val(Label2.Caption) = Val(Label9.Caption) Or Val(Label2.Caption) = Val(Label13.Caption) Or Val(Label2.Caption) = Val(Label6.Caption) Or Val(Label2.Caption) = Val(Label16.Caption) Or _
Val(Label3.Caption) = Val(Label5.Caption) Or Val(Label3.Caption) = Val(Label9.Caption) Or Val(Label3.Caption) = Val(Label13.Caption) Or Val(Label3.Caption) = Val(Label6.Caption) Or Val(Label3.Caption) = Val(Label16.Caption) Or _
Val(Label4.Caption) = Val(Label5.Caption) Or Val(Label4.Caption) = Val(Label9.Caption) Or Val(Label4.Caption) = Val(Label13.Caption) Or Val(Label4.Caption) = Val(Label6.Caption) Or Val(Label4.Caption) = Val(Label16.Caption) Or _
Val(Label5.Caption) = Val(Label6.Caption) Or Val(Label5.Caption) = Val(Label16.Caption) Or Val(Label9.Caption) = Val(Label6.Caption) Or Val(Label9.Caption) = Val(Label16.Caption) Or Val(Label4.Caption) = Val(Label16.Caption) Or _
Val(Label13.Caption) = Val(Label6.Caption) Or Val(Label13.Caption) = Val(Label16.Caption) Or Val(Label6.Caption) = Val(Label1.Caption) Or _
Val(Label6.Caption) < 1 Or Val(Label6.Caption) > 16 Or Val(Label16.Caption) < 1 Or Val(Label16.Caption) > 16 Or Val(Label6.Caption) = Val(Label16.Caption) Or Val(Label16.Caption) = Val(Label1.Caption) Then
Result = 0
End If
If Result = 10 Then
Timer1.Enabled = False
ispytanie
End If

End Sub

Private Sub ispytanie()

Form4.Label1.Caption = Label1.Caption
Form4.Label2.Caption = Label2.Caption
Form4.Label3.Caption = Label3.Caption
Form4.Label4.Caption = Label4.Caption
Form4.Label5.Caption = Label5.Caption
Form4.Label6.Caption = Label6.Caption
Form4.Label9.Caption = Label9.Caption
Form4.Label11.Caption = Label11.Caption
Form4.Label13.Caption = Label13.Caption
Form4.Label16.Caption = Label16.Caption
Form4.Timer1.Enabled = True
Form4.Show

End Sub

Private Sub MagStrok8Horizont()

MagHorizont8 = MagHorizont8 + 1: If MagHorizont8 = 55 Then MagHorizont8 = 1


If MagHorizont8 = 1 Then Label2.Caption = 1: Label3.Caption = 10
If MagHorizont8 = 2 Then Label2.Caption = 1: Label3.Caption = 11
If MagHorizont8 = 3 Then Label2.Caption = 1: Label3.Caption = 12
If MagHorizont8 = 4 Then Label2.Caption = 1: Label3.Caption = 13
If MagHorizont8 = 5 Then Label2.Caption = 1: Label3.Caption = 14
If MagHorizont8 = 6 Then Label2.Caption = 1: Label3.Caption = 15

If MagHorizont8 = 7 Then Label2.Caption = 2: Label3.Caption = 9
If MagHorizont8 = 8 Then Label2.Caption = 2: Label3.Caption = 11
If MagHorizont8 = 9 Then Label2.Caption = 2: Label3.Caption = 13
If MagHorizont8 = 10 Then Label2.Caption = 2: Label3.Caption = 15

If MagHorizont8 = 11 Then Label2.Caption = 3: Label3.Caption = 9
If MagHorizont8 = 12 Then Label2.Caption = 3: Label3.Caption = 10
If MagHorizont8 = 13 Then Label2.Caption = 3: Label3.Caption = 13
If MagHorizont8 = 14 Then Label2.Caption = 3: Label3.Caption = 14

If MagHorizont8 = 15 Then Label2.Caption = 5: Label3.Caption = 9
If MagHorizont8 = 16 Then Label2.Caption = 5: Label3.Caption = 10
If MagHorizont8 = 17 Then Label2.Caption = 5: Label3.Caption = 11
If MagHorizont8 = 18 Then Label2.Caption = 5: Label3.Caption = 12

If MagHorizont8 = 19 Then Label2.Caption = 9: Label3.Caption = 2
If MagHorizont8 = 20 Then Label2.Caption = 9: Label3.Caption = 3
If MagHorizont8 = 21 Then Label2.Caption = 9: Label3.Caption = 5
If MagHorizont8 = 22 Then Label2.Caption = 9: Label3.Caption = 12
If MagHorizont8 = 23 Then Label2.Caption = 9: Label3.Caption = 14
If MagHorizont8 = 24 Then Label2.Caption = 9: Label3.Caption = 15

If MagHorizont8 = 25 Then Label2.Caption = 10: Label3.Caption = 1
If MagHorizont8 = 26 Then Label2.Caption = 10: Label3.Caption = 3
If MagHorizont8 = 27 Then Label2.Caption = 10: Label3.Caption = 5
If MagHorizont8 = 28 Then Label2.Caption = 10: Label3.Caption = 11
If MagHorizont8 = 29 Then Label2.Caption = 10: Label3.Caption = 13

If MagHorizont8 = 30 Then Label2.Caption = 11: Label3.Caption = 1
If MagHorizont8 = 31 Then Label2.Caption = 11: Label3.Caption = 2
If MagHorizont8 = 32 Then Label2.Caption = 11: Label3.Caption = 5
If MagHorizont8 = 33 Then Label2.Caption = 11: Label3.Caption = 10
If MagHorizont8 = 34 Then Label2.Caption = 11: Label3.Caption = 13
If MagHorizont8 = 35 Then Label2.Caption = 11: Label3.Caption = 14

If MagHorizont8 = 36 Then Label2.Caption = 12: Label3.Caption = 1
If MagHorizont8 = 37 Then Label2.Caption = 12: Label3.Caption = 5
If MagHorizont8 = 38 Then Label2.Caption = 12: Label3.Caption = 9
If MagHorizont8 = 39 Then Label2.Caption = 12: Label3.Caption = 13

If MagHorizont8 = 40 Then Label2.Caption = 13: Label3.Caption = 1
If MagHorizont8 = 41 Then Label2.Caption = 13: Label3.Caption = 2
If MagHorizont8 = 42 Then Label2.Caption = 13: Label3.Caption = 3
If MagHorizont8 = 43 Then Label2.Caption = 13: Label3.Caption = 10
If MagHorizont8 = 44 Then Label2.Caption = 13: Label3.Caption = 11
If MagHorizont8 = 45 Then Label2.Caption = 13: Label3.Caption = 12

If MagHorizont8 = 46 Then Label2.Caption = 14: Label3.Caption = 1
If MagHorizont8 = 47 Then Label2.Caption = 14: Label3.Caption = 3
If MagHorizont8 = 48 Then Label2.Caption = 14: Label3.Caption = 9
If MagHorizont8 = 49 Then Label2.Caption = 14: Label3.Caption = 11

If MagHorizont8 = 50 Then Label2.Caption = 15: Label3.Caption = 1
If MagHorizont8 = 51 Then Label2.Caption = 15: Label3.Caption = 2
If MagHorizont8 = 52 Then Label2.Caption = 15: Label3.Caption = 9
If MagHorizont8 = 53 Then Label2.Caption = 15: Label3.Caption = 10
If MagHorizont8 = 54 Then Label2.Caption = 10: Label3.Caption = 15

Label4.Caption = 34 - (Val(Label1.Caption) + Val(Label2.Caption) + Val(Label3.Caption))

Label11.Caption = 34 - (Val(Label1.Caption) + Val(Label3.Caption) + Val(Label9.Caption))
Label6.Caption = 34 - (Val(Label1.Caption) + Val(Label2.Caption) + Val(Label5.Caption))
Label16.Caption = 34 - (Val(Label1.Caption) + Val(Label4.Caption) + Val(Label13.Caption))

otcenochka

End Sub

Hosted by uCoz