ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Windows, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ число n — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ nΡ…n. Для условий Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся сообщСниС, ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ «ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ» ΠΈΠ»ΠΈ «ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Object Pascal. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΡΡ€Π΅Π΄Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Windows, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° эскизного ΠΈ Ρ‚СхничСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠ°Π½ стандарт Π“ΠžΠ‘Π’ 19.404−79 ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° «ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка», входящСго Π² ΡΠΎΡΡ‚Π°Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π° ΡΡ‚адиях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ эскизного ΠΈ Ρ‚СхничСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

1.1 Π—Π°Π΄Π°Π½ΠΈΠ΅

Π’Π΅ΠΌΠ°: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Windows, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ.

УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ:

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΡƒΡŽ, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π»ΠΈ элСмСнты Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива магичСский ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚. Π’ ΠΌΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΎΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π΅ суммы чисСл ΠΏΠΎ Π²ΡΠ΅ΠΌ вСртикалям, всСм горизонталям ΠΈ Π΄Π²ΡƒΠΌ диагоналям ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

1.2 НазначСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния

НСобходимо Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ выполнСния дСйствий Π½Π°Π΄ элСмСнтами ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, учитывая условия магичСского ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ процСссС Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ наглядного пособия.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ставится Π·Π°Π΄Π°Ρ‡Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Windows, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠžΠ‘ Windows.

1.3 ВСхничСскиС характСристики

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, являСтся Π»ΠΈ заданная квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ слоТСниС элСмСнтов ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠΌ.

Входная информация ΠΏΠΎ Π·Π°Π΄Π°Ρ‡Π΅ — цСлочислСнная квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Выходная информация — сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся ΠΈΠ»ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ.

Π’Π°ΠΊΠΆΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ количСство строк ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Для программирования Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ структура Π΄Π°Π½Π½Ρ‹Ρ… — массив. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ конструкции Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΈ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ конструкции.

Массив — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… элСмСнтов. Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° опрСдСляСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ. НапримСр, А [4,4] - ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠ· 4 строк ΠΈ 4 столбцов. Доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСксов. Для доступа ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° индСкса. НапримСр A [I, j] - элСмСнт Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΉ i — строки, j — столбца.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ для удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ исходная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° формируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ случайныС числа Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 0 Π΄ΠΎ 5.

Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ вводится Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… <30.

По ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ выполнСния условий магичСского ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° для исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡ€ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ случайных чисСл.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий магичСского ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° выполняСтся Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‚. Π΅. Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° button1.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ нСзависимыС Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ.

1. Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

2. Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌ, ΠΏΠΎ ΡΡ‚ΠΎΠ»Π±Ρ†Π°ΠΌ, ΠΏΠΎ Π΄Π²ΡƒΠΌ диагоналям ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий.

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌ Π’Π½Π°Ρ‡Π°Π»Π΅ провСряСтся Ρ€Π°Π²Π½ΠΎΡΡ‚ΡŒ суммы элСмСнтов Π΄Π²ΡƒΡ… Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ, Ссли ΠΎΠ½ΠΈ Ρ€Π°Π²Π½Ρ‹ ΠΏΠΎ Ρ†ΠΈΠΊΠ»Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΡΡ‚ΡŒ сумм элСмСнтов строк, столбцов.

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ число n — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ nΡ…n. Для условий Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся сообщСниС, ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ «ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ» ΠΈΠ»ΠΈ «ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ».

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ для удобства исходная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° формируСтся случайными числами.

Π Π°Π·ΠΌΠ΅Ρ€ поля StringGrid мСняСтся Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ n.

Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Windows, поэтому использована срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Delphi.

Delphi — это срСда быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Object Pascal. Π’ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ Delphi Π»Π΅ΠΆΠΈΡ‚ тСхнология Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования ΠΈ ΠΌΠ΅Ρ‚одология ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Π’ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

TLabel слуТит для отобраТСния тСкста Π½Π° ΡΠΊΡ€Π°Π½Π΅. МоТно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ ΠΈ Ρ†Π²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ, Ссли Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ Font Π² Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅ ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написав всСго ΠΎΠ΄Π½Ρƒ строчку ΠΊΠΎΠ΄Π°.

TStringGrid — слуТит для прСдставлСния тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ происходит Ρ‡Π΅Ρ€Π΅Π· свойство Cell.

TButton позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ дСйствия ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Delphi всС дСлаСтся ΠΎΡ‡Π΅Π½ΡŒ просто. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠ² TButton Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Над ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ события Show, Create, onClick, Close.

Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: процСссор Pentium IV ΠΈΠ»ΠΈ Celeron 2.0Ghz.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 512 ΠœΠ±Π°ΠΉΡ‚, достаточноС количСство свободного мСста Π½Π° Π΄ΠΈΡΠΊΠ΅ — порядка 1 Π“Π±Π°ΠΉΡ‚.

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

2.1 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТит Ρ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°:

1. Form1 — Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ).

2. Form2 — справка ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅.

Окно Form1.

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — Form1

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ описаниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Ρ‹.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Form1

Бвойства:

Π‘aption — ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚;

Border — bsSingle;

BiSystemMenu — false;

BiMinimaze — false;

BiHelp — False;

Бобытия: Π½Π΅Ρ‚.

1 — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ TМainMenu

Бвойства:

object MainMenu1: TMainMenu

Items

Π‘ΠΏΡ€Π°Π²ΠΊΠ° (N1) О ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (N4)

Π’Ρ‹Ρ…ΠΎΠ΄ (N2)

Бобытия:

Для N1 — событиС BitBtn1Click (приводится Π½ΠΈΠΆΠ΅).

N2Click — Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

N1Click — ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ со Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

2 — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ StringGrid1

Бвойства

Left = 152

Top = 42

Width = 220

Height = 180

DefaultColWidth = 20

DefaultRowHeight = 16

FixedCols = 0

FixedRows = 0

3 — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Button1

Caption = 'ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚?'

событиС

OnClick = Button1Click

4 — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label6:

Бвойства

Left = 96

Top = 400

Width = 196

Height = 24

Caption = «ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€»

Font. Charset = DEFAULT_CHARSET

OnClick = Label6Click

5 — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Edit1:

Бвойства

Left = 232

Top = 48

Width = 41

Height = 32

НиТС приводится ΠΎΠΊΠ½ΠΎ Form2.

Окно Form2

ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Form2

Бвойства

Caption Π‘ΠΏΡ€Π°Π²ΠΊΠ°

1-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label1

object Label1: TLabel

Left = 24

Top = 48

Width = 582

Height = 20

Caption =

«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ»

Font. Charset = DEFAULT_CHARSET

Font. Color = clWindowText

Font. Height = -16

Font. Name = 'MS Sans Serif'

Font. Style = []

ParentFont = False

НаписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π±Ρ‹Π» объявлСн Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°)

x:array [0. 10,0.10] of integer;

Доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСксов, поэтому Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ цСлочислСнныС простыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

k, s, c, i, j, n: integer;

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ цикличСскиС конструкции. ΠšΡ€ΠΎΠΌΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ УсловиС [Π¦ΠΈΠΊΠ»[УсловиС]].

// ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° формирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ x

procedure TForm1. Label3Click (Sender: TObject);

begin

if edit1. Text='' then showmessage ('Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹') else

randomize;

n:=strtoint (edit1. Text);

stringgrid1. Visible:=true;

n:=n-1;

StringGrid1. Height:=StringGrid1. DefaultRowHeight* (strtoint (edit1.text)+1);

StringGrid1. Width:=StringGrid1. DefaultColWidth* (strtoint (edit1.text)+1);

StringGrid1. ColCount:=strtoint (edit1.text);

StringGrid1. RowCount:=strtoint (edit1.text);

for i:=0 to n do

for j:=0 to n do

begin

x [i, j]: =random (5)+1;

end;

for i:=0 to n do

for j:=0 to n do

begin

stringgrid1. Cells [j, i]: =inttostr (x[i, j]);

end;

end;

// ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСния суммы элСмСнтов ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

procedure TForm1. Button1Click (Sender: TObject);

begin

s:=0;

for i:=0 to n do

s:= s+x [i, i];

c:=0;

for j:=n downto 0 do

c:= c+x [n-j, j];

for i:=0 to n do

begin

x [i, n+1]: =0;

for j:=0 to n do

x [i, n+1]: =x [i, n+1]+x [i, j];

end;

for i:=0 to n do

begin

x [n+1, i]: =0;

for j:=0 to n do

x [n+1, i]: =x [n+1, i]+x [j, i];

end;

k:=0;

if c=s then begin

for i:=0 to n do

if (c=x [n+1, i]) and (c=x [i, n+1]) then k:=k+1; end;

if k=n+1 then label4. caption:='Данная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся магичСсим ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ'

else label4. caption:='Π­Ρ‚Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ';

end;

// Π’Ρ‹Π²ΠΎΠ΄ Π² StringGrid3 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

procedure TForm1. Label6Click (Sender: TObject);

begin

randomize;

n:=strtoint (edit1. Text);

stringgrid1. Visible:=true;

n:=n-1;

StringGrid1. Height:=StringGrid1. DefaultRowHeight* (strtoint (edit1.text)+1);

StringGrid1. Width:=StringGrid1. DefaultColWidth* (strtoint (edit1.text)+1);

StringGrid1. ColCount:=strtoint (edit1.text);

StringGrid1. RowCount:=strtoint (edit1.text);

for i:=0 to n do

for j:=0 to n do

begin

x [i, j]: =random (1)+1;

end;

for i:=0 to n do

for j:=0 to n do

begin

stringgrid1. Cells [j, i]: =inttostr (x[i, j]);

end;

end;

2.2 БпСцификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Matr. exe ΠΈ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Matr1Magi. Бостав ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

НаимСнованиС

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Magi.res

Π€Π°ΠΉΠ» рСсурсов

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, графичСскиС изобраТСния

Magi.dpr

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

БвязываСт всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Magi.dof

Π€Π°ΠΉΠ» ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ установки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: настройки компилятора ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ°, ΠΈΠΌΠ΅Π½Π° слуТСбных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², условныС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹

Magi.cfg

Π€Π°ΠΉΠ», содСрТащий ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… позициях ΠΎΠ½ΠΈ располоТСны

Unit2.pas

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля для Ρ„ΠΎΡ€ΠΌΡ‹ № 2

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ № 2

Unit2.dfm

Π€Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΡ‹ № 2

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ список свойств всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΡƒ № 2

Unit2.dcu

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для Unit2. pas

ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ вСрсия Unit2. pas

Unit1.pas

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля для Ρ„ΠΎΡ€ΠΌΡ‹ № 1

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ № 1

Unit1.dfm

Π€Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΡ‹ № 1

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ список свойств всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΡƒ № 1

Unit1.dcu

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для Unit1. pas

ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ вСрсия Unit2. pas

2.3 ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

unit Unit1;

interface

// ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, Menus;

// описаниС Ρ‚ΠΈΠΏΠΎΠ²

type

TForm1 = class (TForm)

Label1: TLabel;

StringGrid1: TStringGrid;

Edit1: TEdit;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Label4: TLabel;

Label6: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

procedure Label3Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Label6Click (Sender: TObject);

procedure N1Click (Sender: TObject);

procedure N2Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

// описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

var

Form1: TForm1;

k, s, c, i, j, n: integer;

x:array [0. 10,0.10] of integer;

implementation

uses Unit2;

{$R *.dfm}

// Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

procedure TForm1. Label3Click (Sender: TObject);

begin

if edit1. Text='' then showmessage ('Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹') else

randomize;

n:=strtoint (edit1. Text);

stringgrid1. Visible:=true;

n:=n-1;

StringGrid1. Height:=StringGrid1. DefaultRowHeight* (strtoint (edit1.text)+1);

StringGrid1. Width:=StringGrid1. DefaultColWidth* (strtoint (edit1.text)+1);

StringGrid1. ColCount:=strtoint (edit1.text);

StringGrid1. RowCount:=strtoint (edit1.text);

for i:=0 to n do

for j:=0 to n do

begin

x [i, j]: =random (5)+1;

end;

for i:=0 to n do

for j:=0 to n do

begin

stringgrid1. Cells [j, i]: =inttostr (x[i, j]);

end;

end;

procedure TForm1. FormCreate (Sender: TObject);

begin

stringgrid1. Visible:=false;

end;

// основная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСнии ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

procedure TForm1. Button1Click (Sender: TObject);

begin

s:=0;

for i:=0 to n do

s:= s+x [i, i];

c:=0;

for j:=n downto 0 do

c:= c+x [n-j, j];

for i:=0 to n do

begin

x [i, n+1]: =0;

for j:=0 to n do

x [i, n+1]: =x [i, n+1]+x [i, j];

end;

for i:=0 to n do

begin

x [n+1, i]: =0;

for j:=0 to n do

x [n+1, i]: =x [n+1, i]+x [j, i];

end;

k:=0;

if c=s then begin

for i:=0 to n do

if (c=x [n+1, i]) and (c=x [i, n+1]) then k:=k+1; end;

if k=n+1 then label4. caption:='Данная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся магичСсим ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ'

else label4. caption:='Π­Ρ‚Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся магичСским ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ';

end;

// ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

procedure TForm1. Label6Click (Sender: TObject);

begin

randomize;

n:=strtoint (edit1. Text); // количСство строк ΠΈΠ»ΠΈ столбцов

stringgrid1. Visible:=true; // Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ

n:=n-1;

// настройка Ρ€Π°Π·ΠΌΠ΅Ρ€Π° StringGrid

StringGrid1. Height:=StringGrid1. DefaultRowHeight* (strtoint (edit1.text)+1);

StringGrid1. Width:=StringGrid1. DefaultColWidth* (strtoint (edit1.text)+1);

StringGrid1. ColCount:=strtoint (edit1.text);

StringGrid1. RowCount:=strtoint (edit1.text);

for i:=0 to n do

for j:=0 to n do

begin

x [i, j]: =random (1)+1; // ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°

end;

for i:=0 to n do

for j:=0 to n do

begin

stringgrid1. Cells [j, i]: =inttostr (x[i, j]);

end;

end;

// Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 2-Ρ„ΠΎΡ€ΠΌΡƒ

procedure TForm1. N1Click (Sender: TObject);

begin

form2.show;

end;

// Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅

procedure TForm1. N2Click (Sender: TObject);

begin

close;

end;

end.

// ΠΊΠΎΠ΄ для 2 — Ρ„ΠΎΡ€ΠΌΡ‹

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm2 = class (TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

private

{Private declarations}

public

{Public declarations}

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

end.

2.4 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Object Pascal. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΡΡ€Π΅Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Widows 2000/XP. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: процСссор Pentium IV ΠΈΠ»ΠΈ Celeron 2.0Ghz.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 512 ΠœΠ±Π°ΠΉΡ‚, достаточноС количСство свободного мСста Π½Π° Π΄ΠΈΡΠΊΠ΅ — порядка 1 Π“Π±Π°ΠΉΡ‚.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Ρ„Π°ΠΉΠ» Magi.exe. На ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ располоТСн мСню MainMenu, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ справки, ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ случайных чисСл. НаТатиС Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ формирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ для отобраТСния Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ StringGrid1.

Выходная информация размСщаСтся Π² ΠΏΠΎΠ»Π΅ Label4. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся Π·Π°Π΄Π°Ρ‚ΡŒ количСство строк.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° загруТаСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Ρ„Π°ΠΉΠ» Magi. exe ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ? mag ΠšΡƒΡΠ°ΠΈΠ½ΠΎΠ²Π°.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° описана ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ цСлочислСнныС, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов ΠΎΡ‚ 0 Π΄ΠΎ 5. Π’Π°ΠΊΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ обусловливаСтся ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·Π° памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΎΡˆΠΈΠ±ΠΎΠΊ связанныС Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. ЗначСния для StringGrid1. ColCount ΠΈ StringGrid1. RowCount Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΎΠΊΠ½Π΅ ObjectInspektor.

2.5 ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для цСлочислСнной ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠ΅Π½Π΅Π΅ 30×30.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Object Pascal. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΡΡ€Π΅Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Widows 2000/XP. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: процСссор Pentium IV ΠΈΠ»ΠΈ Celeron 2.0 Ghz.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 512 ΠœΠ±Π°ΠΉΡ‚, достаточноС количСство свободного мСста Π½Π° Π΄ΠΈΡΠΊΠ΅ — порядка 1 Π“Π±Π°ΠΉΡ‚.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Ρ„Π°ΠΉΠ» Magi.exe. На ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ располоТСн мСню MainMenu, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ справки, ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ случайных чисСл. НаТатиС Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ формирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ для отобраТСния Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ StringGrid1.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π€Π°Ρ€ΠΎΠ½ΠΎΠ², Π’.Π’. Turbo Pascal [ВСкст]: ΡƒΡ‡Π΅Π±. пособиС / Π’. Π’. Π€Π°Ρ€ΠΎΠ½ΠΎΠ². — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006. — 366 с.

2. Бобровский, Π‘. И. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Delphi 2006. НовыС возмоТности [ВСкст] / Π‘. И. Бобровский. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006.

3. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½, Н.Π‘. Delphi Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… [ВСкст] / Н. Π‘. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2004.

4. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½, Н. Π‘. ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π² Delphi 7 [ВСкст] / Н. Π‘. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2003.

5. НСмнюгин, Π‘.А. Turbo Pascal. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня [ВСкст]: ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ для Π²ΡƒΠ·ΠΎΠ² / Π‘. А. НСмнюгин. — 2-Π΅ ΠΈΠ·Π΄., ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±. ΠΈ Π΄ΠΎΠΏ. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006.

6. НСмнюгин, Π‘.А. Turbo Pascal: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ [ВСкст] / Π‘. А. НСмнюгин. — 2-Π΅ ΠΈΠ·Π΄. ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±. ΠΈ Π΄ΠΎΠΏ. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006.

7. Павловская, Π’. А. Паскаль. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня [ВСкст]: ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ для Π²ΡƒΠ·ΠΎΠ² / Π’. А. Павловская. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2004. (Π΄ΠΎΠΏΡƒΡ‰Π΅Π½ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎΠΌ образования).

8. Π€Π°Ρ€ΠΎΠ½ΠΎΠ², Π’. Π’. Π’ΡƒΡ€Π±ΠΎ Паскаль 7.0. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° программирования [ВСкст]: ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ пособиС / Π’. Π’. Π€Π°Ρ€ΠΎΠ½ΠΎΠ². — Πœ.: ΠžΠœΠ” Π“Ρ€ΡƒΠΏΠΏ, 2003.

9. Π€Π°Ρ€ΠΎΠ½ΠΎΠ², Π’.Π’. Delphi 2005. Π―Π·Ρ‹ΠΊ, срСда, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ [ВСкст] / Π’. Π’. Π€Π°Ρ€ΠΎΠ½ΠΎΠ². — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2005.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ