Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΈΠ³ΡΡ Β«Π’Π΅ΡΡΠΈΡΒ» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Turbo Pascal
Π’Π΅ΡΡΠΈΡ" Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΠΠ»Π΅ΠΊΡΠ΅Π΅ΠΌ ΠΠ°ΠΆΠΈΡΠ½ΠΎΠ²ΡΠΌ Π² ΠΈΡΠ½Π΅ 1985. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π² ΠΠ¦ ΠΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ ΠΠ°ΡΠΊ Π‘Π‘Π‘Π ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΡ Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ°ΠΌΠΈ. ΠΡΠΈΠ½ΡΠΈΠΏ «Π’Π΅ΡΡΠΈΡΠ°» ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π² ΡΠ΅ΡΡΠΈΠ΄Π΅ΡΡΡΡΠ΅ Π³ΠΎΠ΄Ρ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° ΠΈΠ³ΡΡ «ΠΠ΅Π½ΡΠ°ΠΌΠΈΠ½ΠΎ». Π‘ΠΌΡΡΠ» Π΄Π°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²Π·ΡΡΡ ΠΏΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ²… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΈΠ³ΡΡ Β«Π’Π΅ΡΡΠΈΡΒ» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Turbo Pascal (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ
2. ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠ²ΠΎΠ΄Ρ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ± ΠΈΠ³ΡΠ΅ Π’ΠΠ’Π ΠΠ‘
" Π’Π΅ΡΡΠΈΡ" Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΠΠ»Π΅ΠΊΡΠ΅Π΅ΠΌ ΠΠ°ΠΆΠΈΡΠ½ΠΎΠ²ΡΠΌ Π² ΠΈΡΠ½Π΅ 1985. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π² ΠΠ¦ ΠΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ ΠΠ°ΡΠΊ Π‘Π‘Π‘Π ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΡ Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ°ΠΌΠΈ. ΠΡΠΈΠ½ΡΠΈΠΏ «Π’Π΅ΡΡΠΈΡΠ°» ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π² ΡΠ΅ΡΡΠΈΠ΄Π΅ΡΡΡΡΠ΅ Π³ΠΎΠ΄Ρ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° ΠΈΠ³ΡΡ «ΠΠ΅Π½ΡΠ°ΠΌΠΈΠ½ΠΎ». Π‘ΠΌΡΡΠ» Π΄Π°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²Π·ΡΡΡ ΠΏΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² ΠΈ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΡΡΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠ³ΡΡ — ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² «ΠΠ΅Π½ΡΠ°ΠΌΠΈΠ½ΠΎ». ΠΠ°Π»Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΡΠΈΠ³ΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΡ.
ΠΡΠ°Π²ΠΈΠ»Π°
Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΠ³ΡΡΠΊΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈΠ½ΠΎ ΠΏΠ°Π΄Π°ΡΡ ΡΠ²Π΅ΡΡ Ρ Π² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΡΡΠ°ΠΊΠ°Π½ ΡΠΈΡΠΈΠ½ΠΎΠΉ 10 ΠΈ Π²ΡΡΠΎΡΠΎΠΉ 20 ΠΊΠ»Π΅ΡΠΎΠΊ. Π ΠΏΠΎΠ»ΡΡΠ΅ ΠΈΠ³ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠΈΠ³ΡΡΠΊΡ ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡ Π΅Ρ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, Π½ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΠΏΠΎΠ»ΡΡ. Π€ΠΈΠ³ΡΡΠΊΠ° Π»Π΅ΡΠΈΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠΊΠ½ΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΠΈΠ³ΡΡΠΊΡ Π»ΠΈΠ±ΠΎ Π½Π° ΠΏΠΎΠ» ΡΡΠ°ΠΊΠ°Π½Π°. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΄ ΠΈΠ· 10 ΠΊΠ»Π΅ΡΠΎΠΊ, ΠΎΠ½ ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ ΠΈ Π²ΡΡ, ΡΡΠΎ Π²ΡΡΠ΅ Π΅Π³ΠΎ, ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° 1 ΠΊΠ»Π΅ΡΠΊΡ. Π’Π΅ΠΌΠΏ ΠΈΠ³ΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ 4 ΡΡΠ΄Π°, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ «ΡΠ΅ΡΡΠΈΡ», ΠΎΡΡΡΠ΄Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΡ. ΠΠ³ΡΠ° ΠΊΠΎΠ½ΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΠΎΠ²Π°Ρ ΡΠΈΠ³ΡΡΠΊΠ° ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π²Π΅ΡΡ Π½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΠΊΠ°Π½Π°. ΠΠ³ΡΠΎΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠΊΠΈ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΈΠ³ΡΡΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π·Π°Π΄Π°ΡΠ° — Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ΄Ρ, Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡ ΡΠ°ΠΌ ΡΡΠ°ΠΊΠ°Π½ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»ΡΡΠ΅ (ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΎΡΠΊΠΈ).
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ:
Π ΡΡΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΡ ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΡ ΠΈ Π²ΡΠ΅ΠΌΠΈ Π»ΡΠ±ΠΈΠΌΡΡ ΠΈΠ³ΡΡ Π’Π΅ΡΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Turbo Pascal.
ΠΠ»Π°Π²Π½ΡΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ:
1) ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ³ΡΡ (ΡΡΠ°ΠΊΠ°Π½Π°);
2) ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΌΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΠ³ΡΡ ΡΠ΅ΡΡΠ°ΠΌΠΈΠ½ΠΎ;
3) Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡ Π² ΠΏΠΎΠ»Π΅;
4) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΡΠΈΠ³ΡΡ;
5) ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ ΡΠΈΠ³ΡΡ Π² ΡΡΠ΄Ρ;
6) ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΡΡ ΡΡΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΡΡΡ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°;
7) ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠ³ΡΡΡ;
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
1) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΠ³ΡΡ Π΄Π»Ρ ΠΈΠ³ΡΡ
2) ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ³ΡΡΡ
3) ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ³ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ
4) ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΠ³ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»
5) ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΎΡΠΊΠΎΠ² Ρ ΡΡΡΡΠΎΠΌ ΡΠΊΠΎΡΠΎΡΡΠΈ
6) ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ: Π²ΡΡ ΠΎΠ΄Π°, ΠΏΠ°ΡΠ·Ρ
1. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ:
1) ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Ρ ΠΈΠ³ΡΡ;
ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠ³ΡΡ, ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΡΠΈΠ³ΡΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠ΄ΠΎΠ², Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΈ Ρ. Π΄. Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: function cvet ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ²Π΅Ρ ΡΠΈΠ³ΡΡΡ; procedure cls ΠΎΡΡΠΈΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ»Ρ, procedure proverka ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΈ ΠΏΡΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΠΎΠ², procedure paint ΠΡΠ²ΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠ³ΡΡΡ, procedure figura Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ ΡΠΈΠ³ΡΡΡ,
2) procedure povorot ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΡΠΈΠ³ΡΡΡ.;
3) ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ±ΠΎΡΠ° case: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ Π²ΡΠ±ΠΎΡΠ΅ ΡΠΈΠ³ΡΡΡ;
4) Π¦ΠΈΠΊΠ» Ρ ΠΏΠΎΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Repeat/Until: Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠ΅Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΠ³ΡΡ;
5) ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ keypressed ΠΈ readkey Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ³ΡΡΠ°ΠΌΠΈ;
6) ΠΠΎΠ΄ΡΠ»Ρ crt, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Graph;
ΠΠΈΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2. ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΈΠ³ΡΠ° ΡΠ΅ΡΡΠΈΡ ΠΏΠΎΠ»Π΅ ΡΠΈΠ³ΡΡΠ°
program tetris;
uses crt;
var b, a, c:array[1.10,1.20]of integer;
d:array[1.4,1.4]of integer;
e:array[1.8]of integer;
n, m, x, y: integer;
ch, fi: char;
ht, wt, fig, del, dell, colr, colre, z, s:integer;
new, pov: boolean;
line, figs, ochke: integer;
name:string;
t:text;
{———————————————————}
function cvet (colr:integer):integer;
begin
case colr of
1:cvet:=9;
2:cvet:=10;
3:cvet:=11;
4:cvet:=12;
5:cvet:=13;
6:cvet:=14;
7:cvet:=7;
end;
end;
{———————————————————}
procedure cls;
var i, j: integer;
begin
for i:=1 to 10 do
for j:=1 to 20 do a[i, j]: =0;
end;
{———————————————————-}
procedure proverka;
var i, j, l, f, g:integer;
begin
for i:=20 downto 1 do begin
l:=0;
for j:=1 to 10 do begin
{ readkey;
write (i,' ', j,' ', l,'-'); }
if a[j, i]=1 then l:=l+1;
end;
if l=10 then begin
line:=line+1;
for f:=i-1 downto 1 do
for g:=1 to 10 do begin a[g, f+1]: =a[g, f];
b[g, f+1]:=b[g, f];
end;
i:=i+1;
end;
end;
end;
{————————————————————}
procedure paint;
var i, j: integer;
begin
gotoxy (40,3);
textcolor (15);
ochke:=line*(20-del);
write ('line:', line,' point:', ochke);
gotoxy (41,4);
write ('scor: ', del);
for i:=1 to 10 do
for j:=1 to 20 do
case a[i, j] of
1:begin textcolor (b[i, j]);
gotoxy (i+20,j);
write ('0');
end;
2:begin
textcolor (cvet (colr));
gotoxy (i+20,j);
write ('0');
end;
0:begin textcolor (red);
gotoxy (i+20,j);
write ('.');
end;
end;
for i:=1 to 4 do
for j:=1 to 4 do begin
case d[i, j] of
0:begin textcolor (red);
gotoxy (i+40,j+5);
write ('.');
end;
1:begin
textcolor (cvet (colre));
gotoxy (i+40,j+5);
write ('0');
end;
end;
end;
end;
{—————————————————}
procedure figura (x, y, n, st: integer);
var i: integer;
begin
case n of
1:begin a[x, y]: =st;
a[x+1,y]:=st;
a[x+2,y]:=st;
a[x+1,y+1]:=st;
if (a[x, y+1]=1)or (y=19)or (a[x+2,y+1]=1)or (a[x+1,y+2]=1) then new:=true;
wt:=3;
ht:=2;
colr:=1;
end;
{————}
2:begin a[x+1,y]: =st;
a[x+1,y+1]:=st;
a[x+1,y+2]:=st;
a[x, y+1]:=st;
if (a[x, y+2]=1)or (y=18)or (a[x+1,y+3]=1) then new:=true;
wt:=2;
ht:=3;
colr:=1;
end;
{————}
3:begin a[x+1,y]: =st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
a[x+2,y+1]:=st;
if (a[x, y+2]=1)or (y=19)or (a[x+1,y+2]=1)or (a[x+2,y+2]=1) then new:=true;
wt:=3;
ht:=2;
colr:=1;
end;
{————}
4:begin a[x, y]: =st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
a[x, y+2]:=st;
if (a[x, y+3]=1)or (y=18)or (a[x+1,y+2]=1) then new:=true;
wt:=2;
ht:=3;
colr:=1;
end;
{————}
5:begin a[x, y]: =st;
a[x+1,y]:=st;
a[x+2,y]:=st;
a[x+3,y]:=st;
if (a[x, y+1]=1)or (y=20)or (a[x+1,y+1]=1)or (a[x+2,y+1]=1)or (a[x+3,y+1]=1) then new:=true;
wt:=4;
ht:=1;
colr:=2;
end;
{————}
6:begin a[x, y]: =st;
a[x, y+1]:=st;
a[x, y+2]:=st;
a[x, y+3]:=st;
if (a[x, y+4]=1)or (y=17) then new:=true;
wt:=1;
ht:=4;
colr:=2;
end;
{————}
7:begin a[x, y]: =st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
a[x+1,y]:=st;
if (a[x, y+2]=1)or (y=19)or (a[x+1,y+2]=1) then new:=true;
wt:=2;
ht:=2;
colr:=3;
end;
{————}
8:begin a[x+1,y]: =st;
a[x+2,y]:=st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
if (a[x, y+2]=1)or (y=19)or (a[x+1,y+2]=1)or (a[x+2,y+1]=1) then new:=true;
wt:=3;
ht:=2;
colr:=4;
end;
{————}
9:begin a[x, y]: =st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
a[x+1,y+2]:=st;
if (a[x, y+2]=1)or (y=18)or (a[x+1,y+3]=1) then new:=true;
wt:=2;
ht:=3;
colr:=4;
end;
{————}
{————}
10:begin a[x, y]: =st;
a[x+1,y]:=st;
a[x+1,y+1]:=st;
a[x+2,y+1]:=st;
if (a[x, y+1]=1)or (y=19)or (a[x+1,y+2]=1)or (a[x+2,y+2]=1) then new:=true;
wt:=3;
ht:=2;
colr:=5;
end;
{————}
11:begin a[x+1,y]: =st;
a[x+1,y+1]:=st;
a[x, y+1]:=st;
a[x, y+2]:=st;
if (a[x+1,y+2]=1)or (y=18)or (a[x, y+3]=1) then new:=true;
wt:=2;
ht:=3;
colr:=5;
end;
{————}
12:begin a[x, y]: =st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
a[x+2,y+1]:=st;
if (a[x, y+2]=1)or (y=19)or (a[x+1,y+2]=1)or (a[x+2,y+2]=1) then new:=true;
wt:=3;
ht:=2;
colr:=6;
end;
{————}
13:begin a[x, y]: =st;
a[x+1,y]:=st;
a[x, y+1]:=st;
a[x, y+2]:=st;
if (a[x, y+3]=1)or (y=18)or (a[x+1,y+1]=1) then new:=true;
wt:=2;
ht:=3;
colr:=6;
end;
{————}
14:begin a[x, y]: =st;
a[x+1,y]:=st;
a[x+2,y]:=st;
a[x+2,y+1]:=st;
if (a[x, y+1]=1)or (y=19)or (a[x+1,y+1]=1)or (a[x+2,y+2]=1) then new:=true;
wt:=3;
ht:=2;
colr:=6;
end;
{————}
15:begin a[x+1,y]: =st;
a[x+1,y+1]:=st;
a[x+1,y+2]:=st;
a[x, y+2]:=st;
if (a[x, y+3]=1)or (y=18)or (a[x+1,y+3]=1) then new:=true;
wt:=2;
ht:=3;
colr:=6;
end;
{————}
{————}
16:begin a[x, y+1]: =st;
a[x, y]:=st;
a[x+1,y]:=st;
a[x+2,y]:=st;
if (a[x, y+2]=1)or (y=19)or (a[x+1,y+1]=1)or (a[x+2,y+1]=1) then new:=true;
wt:=3;
ht:=2;
colr:=7;
end;
{————}
17:begin a[x+1,y]: =st;
a[x, y]:=st;
a[x+1,y+1]:=st;
a[x+1,y+2]:=st;
if (a[x+1,y+3]=1)or (y=18)or (a[x, y+1]=1) then new:=true;
wt:=2;
ht:=3;
colr:=7;
end;
{————}
18:begin a[x+2,y]: =st;
a[x, y+1]:=st;
a[x+1,y+1]:=st;
a[x+2,y+1]:=st;
if (a[x, y+2]=1)or (y=19)or (a[x+1,y+2]=1)or (a[x+2,y+2]=1) then new:=true;
wt:=3;
ht:=2;
colr:=7;
end;
{————}
19:begin a[x, y]: =st;
a[x, y+1]:=st;
a[x, y+2]:=st;
a[x+1,y+2]:=st;
if (a[x, y+3]=1)or (y=18)or (a[x+1,y+3]=1) then new:=true;
wt:=2;
ht:=3;
colr:=7;
end;
{————}
{————}
20:begin a[x, y]: =st;
{ a[x, y+1]: =st;
a[x+1,y+1]:=st;
a[x+2,y+1]:=st;
a[x+1,y+2]:=st; }
if (a[x, y+1]=1)or (y=20){or (a[x+1,y+3]=1)or (a[x+2,y+2]=1)} then new:=true;
wt:=1;
ht:=1;
colr:=3;
end;
{————}
end;
end;
{—————————————————}
procedure povorot (n:integer);
begin
if x<(12-ht) then
case n of
1:fig:=2;
2:fig:=3;
3:fig:=4;
4:fig:=1;
5:fig:=6;
6:fig:=5;
8:fig:=9;
9:fig:=8;
10:fig:=11;
11:fig:=10;
12:fig:=13;
13:fig:=14;
14:fig:=15;
15:fig:=12;
16:fig:=17;
17:fig:=18;
18:fig:=19;
19:fig:=16;
end;
end;
{————————————————}
begin
clrscr;
gotoxy (20,14);
write ('Enter your name: ');
read (name);
clrscr;
textcolor (red);
gotoxy (35,10);
Write ('TETRIS');
textcolor (1);
gotoxy (10,20);
WRITE ('Made by: Tretyakov Ilia, Sinkovskaia Lida, Ivanova Aleksandra');
gotoxy (30,12);
textcolor (14);
write (name,' Vvedite skorost: ');
read (del);
dell:=del;
z:=0;
repeat
gotoxy (20,13);
textcolor (13);
write ('Vvedite nomera figur (1−8) (esli vse (v) vkonce (o)): ');
read (fi);
case fi of
'1':begin z:=z+1; e[z]: =1; end;
'2':begin z:=z+1; e[z]: =5; end;
'3':begin z:=z+1; e[z]: =7; end;
'4':begin z:=z+1; e[z]: =8; end;
'5':begin z:=z+1; e[z]: =10;end;
'6':begin z:=z+1; e[z]: =12;end;
'7':begin z:=z+1; e[z]: =16;end;
'8':begin z:=z+1; e[z]: =20;end;
end;
Until (fi='v')or (fi='o');
clrscr;
x:=5;
y:=1;
figs:=random (19)+1;
repeat
randomize;
repeat
del:=dell;
fig:=figs;
if fi='v' then figs:=random (19)+1 else
repeat
new:=false;
figs:=random (20)+1;
for z:=1 to 8 do if e[z]=figs then new:=true;
until new=true;
y:=1;
x:=5;
new:=false;
figura (1,1,figs, 1);
colre:=colr;
for z:=1 to 4 do
for s:=1 to 4 do d[z, s]: =a[z, s];
figura (1,1,figs, 0);
repeat
figura (x, y, fig, 0);
for n:=1 to 9999 do begin
if keypressed then ch:=readkey else ch:=' ';
case ch of
'a':if (x>1)and (a[(x-1), y]<>1) then x:=x-1;
'd':if (x<11-wt)and (a[(x+wt+1), y]<>1) then x:=x+1;
'x':begin dell:=del; del:=1;end;
's':povorot (fig);
'p':readkey;
'm':begin new:=true;
a[4,3]: =1;
gotoxy (31,10);
textcolor (yellow);
write ('Dlia vihoda nagmi novaia igra');
end;
end;
delay (del);
end;
y:=y+1;
figura (x, y, fig, 2);
paint;
Until new=true;
figura (x, y, fig, 1);
proverka;
for z:=1 to 10 do
for s:=1 to 20 do begin
if c[z, s]<>a[z, s] then b[z, s]: =cvet (colr);
c[z, s]:=a[z, s];
end;
Until (new=true)and ((a[4,3]=1)or (a[3,3]=1)or (a[5,3]=1)or (a[6,3]=1));
write ('Nagmi
dlia vihoda ili dlia prodolgenia igre.');
ch:=readkey;
line:=0;
cls;
Assign (t,'record.txt');
append (t);
writeln (' ');
write (t,' (', name,' ', ochke,');');
close (t);
until ch='q';
end.
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΈΠ³ΡΡ ΡΠ΅ΡΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Turbo Pascal, Π½Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅ΡΠΈΡΡ Π³Π»Π°Π²Π½ΡΡ Π·Π°Π΄Π°ΡΡ, ΡΠΎ Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ:
— ΠΏΠΎΠ»Π΅ ΠΈΠ³ΡΡ, ΡΠ΅ΠΌΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΠ³ΡΡ ΡΠ΅ΡΡΠ°ΠΌΠΈΠ½ΠΎ;
— Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡ Π² ΠΏΠΎΠ»Π΅;
— ΠΏΠΎΠ²ΠΎΡΠΎΡ ΡΠΈΠ³ΡΡ;
— ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡ Π² ΡΡΠ΄Ρ;
— ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΡΡ ΡΡΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΡΡΡ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°;
— ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠ³ΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΠ³ΡΡ Π΄Π»Ρ ΠΈΠ³ΡΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ³ΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ³ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ, ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΠ³ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΎΡΠΊΠΎΠ² Ρ ΡΡΡΡΠΎΠΌ ΡΠΊΠΎΡΠΎΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ: Π²ΡΡ ΠΎΠ΄Π°, ΠΏΠ°ΡΠ·Ρ.
ΠΡΡ ΠΈΠ³ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ crt ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Π±Π΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΌΠ°Π»ΡΠΉ ΠΎΠ±ΡΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΌ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΈΠ³ΡΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, Π½ΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΠ³ΡΡ (crt ΠΈΠ»ΠΈ Graph).
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1. ΠΠΏΠ°ΡΠ΅Π½ΠΊΠΎΠ² Π. Π., ΠΠΏΠ°ΡΠ΅Π½ΠΊΠΎΠ² Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Turbo Pascal 7.0 / 3-Π΅ ΠΈΠ·Π΄., ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏ. — Π.: ΠΠΈΠ°Π»ΠΎΠ³-ΠΠΈΡΠΈ, 1996.
2. ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ°ΠΉΡ http://ru.wikipedia.org/wiki.
3. ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ°ΠΉΡ http://256bit.ru/informat/eu_pascal.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΡ:
— function cvet ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ²Π΅Ρ ΡΠΈΠ³ΡΡΡ
— procedure cls ΠΎΡΡΠΈΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ»Ρ
— procedure proverka ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΈ ΠΏΡΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΠΎΠ²
— procedure paint ΠΡΠ²ΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠ³ΡΡΡ
procedure figura Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ ΡΠΈΠ³ΡΡΡ
— procedure povorot ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΡΠΈΠ³ΡΡΡ