Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»ΠΎΡΠΊΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ — Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ — ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ (ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ) Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π΅Π³ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»ΠΎΡΠΊΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ: ΠΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ: 230 100.62 ΠΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡ, ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΠΈ ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅: «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅»
ΠΡΡΡΠ²Π°, 2013 Π³.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎ Π·Π°Π΄Π°ΡΠ΅
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π. ΠΠΎΠ»Π½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ. Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΠ±ΡΠ΅ΠΌΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΠΌΡΠΎΠ²Π°Π½Π½ΠΎΠ΅, ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΠΌΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΠΠ) — ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠΠ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π³Π΄Π΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ) ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ. ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅) ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΠΠ).
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠΏΠΈΡΠΎΠΊ ΡΠ·ΡΠΊΠΎΠ²), ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°ΠΌ. Π ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ C. Π₯ΠΎΡΡ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΡΠ°Π»ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ·ΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Qt, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ C++.
Π ΡΠ΅Π½ΡΡΠ΅ ΠΠΠ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΡΡΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π° Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅. ΠΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΊΡΡΡΡ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΠΎΠΊΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠ΅ΠΉ.
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π΅ΡΡ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ — Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎ Π΄Π°ΠΆΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΠΠ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΠΠ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ; ΡΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅, Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. ΠΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π² ΡΠΎΡΡΠ°Π²Π΅:
ΠΠΎΠ»Ρ Π΄Π°Π½Π½ΡΡ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π²ΡΠ΅, Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅), Π·Π°Π΄Π°ΡΡΠΈΠ΅ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ). ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡΡΠ°Π½ΠΈΡΠ°. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ), ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ.
ΠΠ΅ΡΠΎΠ΄Ρ
ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Π΄ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ.
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ»Π°ΡΡ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ), Π»ΠΈΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΎΡ Π΄Π²ΡΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»Π°ΡΡΠΎΠ²-ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΌΠΈ Π»ΠΎΠ³ΠΈΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ°ΠΊ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΊΡΡΡΠΎΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈΠ·Π²Π½Π΅ Π²ΡΠΎΡΡΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠ·ΡΠΊΠΈ Π²Π²ΠΎΠ΄ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° ΠΊΠ»Π°ΡΡΠ°. Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ public, protected ΠΈ private, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°, ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² ΠΈ ΡΠΊΡΡΡΡΠ΅, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΈΡ ΡΠΎΡΠ½ΡΠΉ ΡΠΌΡΡΠ» ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ .
ΠΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ·Π²Π½Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΊΡΡΡΡΠΌΠΈ (Π»ΠΈΠ±ΠΎ ΡΠ·ΡΠΊ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ·Π²Π½Π΅), Π° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΌΡΡ Π² ΠΏΠΎΠ»ΡΡ Π΄Π°Π½Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ (Π²Π½ΡΡΡΠ΅Π½Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ). ΠΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΡΡΡΠΏΠ° Π½Π°Π·ΡΠ²Π°ΡΡ Π΅ΡΡ Π°ΠΊΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ (ΠΎΡ Π°Π½Π³Π». access — Π΄ΠΎΡΡΡΠΏ), Π° ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ — Π³Π΅ΡΡΠ΅ΡΠ°ΠΌΠΈ (Π°Π½Π³Π». get — ΡΡΠ΅Π½ΠΈΠ΅) ΠΈ ΡΠ΅ΡΡΠ΅ΡΠ°ΠΌΠΈ (Π°Π½Π³Π». set — Π·Π°ΠΏΠΈΡΡ).
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΡΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ·ΡΠΊ ΠΏΡΠ°Π²ΠΈΠ», ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° «ΠΊΠ»Π°ΡΡ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ° Π΅Ρ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΠΎΡΡΡΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»ΠΎΡΠΊΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ: ΠΊΡΡΠ³, ΠΊΠ²Π°Π΄ΡΠ°Ρ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ³ΠΎΠ»; Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΈ ΠΏΠ΅ΡΠΈΠΌΠ΅ΡΡΠ° ΡΠΈΠ³ΡΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠΊΠΈΠ²Π°Π΅Ρ ΠΊΡΡΠ³ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π΄ΠΈΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠ³ΡΡΡ.
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎ Π·Π°Π΄Π°ΡΠ΅ Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ — Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ — ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ (ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ) Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π΅Π³ΠΎ Π½Π΅Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ². ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΎΠ±ΡΡΠΌ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅.
ΠΠ° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΈΠΏΠ° virtual _ΡΠΈΠ³Π½Π°ΡΡΡΠ°_ΡΡΠ½ΠΊΡΠΈΠΈ_ =0;, ΠΊΠΎΡΠΎΡΠ°Ρ, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Π°.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ vector
ΠΠ»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ vector.
Π¨Π°Π±Π»ΠΎΠ½ vector ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΠ½ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΡΠ½ std. ΠΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° C (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΡΡΡΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ), Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π²ΡΠΎΠ΄Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²Π΅ΠΊΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠΏΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΠΎΠ² char ΠΈ int Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠ°. ΠΠ»Π°ΡΡ vector ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ:
vector myVector;
ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°: myVector[i]=4;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ size (), Π° ΠΎΡΠΈΡΡΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ clear ().
ΠΠ»ΠΎΡΠ°Π΄ΠΈ ΠΈ ΠΏΠ΅ΡΠΈΠΌΠ΅ΡΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ.
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°: S=a2. ΠΠ΅ΡΠΈΠΌΠ΅ΡΡ: P=a*4.
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°: S=a*b. ΠΠ΅ΡΠΈΠΌΠ΅ΡΡ: P=(a+b)*2.
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΊΡΡΠ³Π°: S=r2. ΠΠ΅ΡΠΈΠΌΠ΅ΡΡ: P=2r.
ΠΠΎΠ²ΠΎΡΠΎΡ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΡΠ³ΠΎΠ» ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΠΊΠΈ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ Π²Π΅ΠΊΡΠΎΡ Π½Π° ΡΠ³ΠΎΠ» ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΎΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΎΡΠΌΡΠ»Ρ:
x = x0 + (x1-x0)*cos (alpha) — (y1-y0)*sin (alpha) y = y0 + (x1-x0)*sin (alpha) + (y1-y0)*cos (alpha)
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Shape (ΡΠΎΡΠΌΠ°), Π½Π°ΠΏΠΎΠ»Π½ΠΈΠ² Π΅Π³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Move, Resize, Rotate, FindSquare, FindPerimeter.
Π£Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΎΡ Shape ΠΊΠ»Π°ΡΡΡ Circle ΠΈ Rectangle — ΠΊΡΡΠ³ ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. Π ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π²ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠ³ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΡΠ½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΎΡ Rectangle ΠΊΠ»Π°ΡΡ Quadrate — ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π² Π½ΡΠΌ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π΅Π³ΠΎ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ. Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² Quadrate ΠΈ Rectangle, ΠΏΡΠΈΠ²ΠΎΠ΄Ρ ΠΈΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠΈΠΏΡ Rectangle.
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡ ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ vector Ρ ΡΠΈΠΏΠΎΠΌ Shape. ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ type (ΡΠΈΠΏ), ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΌΠΊΡ ΠΊΠ»Π°ΡΡΠ° Shape.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Rectangle.
Π€ΡΠ½ΠΊΡΠΈΡ Move ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΡΠ³Π»ΠΎΠ² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ Rotate ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ³Π»ΠΎΠ² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ Resize Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²Π΅ΠΊΡΠΎΡ — Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° (ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π½Π΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Ρ ΠΎΡΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ), Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅Ρ Π΅Π³ΠΎ (ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠΌΡ), ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π½Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Ρ (ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°). ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΡΡΡ (ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ°Π΅ΡΡΡ — Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π½Π°ΡΡΠΆΡ) ΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΡΠ³Π»Π°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ³Π»Π°.
Π€ΡΠ½ΠΊΡΠΈΠΈ FindSquare ΠΈ FindPerimeter Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΈ ΠΏΠ΅ΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² ΡΠ΅ΠΎΡ. ΡΠ°ΡΡΠΈ.
ΠΡΠ»ΠΈΡΠΈΠ΅ΠΌ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ side — ΡΡΠΎΡΠΎΠ½Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΏΠΎ ΠΎΠ±ΠΎΠΈΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Circle.
Π€ΡΠ½ΠΊΡΠΈΡ Move ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ ΡΠ΅Π½ΡΡΠ° ΠΊΡΡΠ³Π°.
Π€ΡΠ½ΠΊΡΠΈΡ Rotate ΠΏΡΡΡΠ°. ΠΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΠ³Π° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π½Π° Π½Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ .
Π€ΡΠ½ΠΊΡΠΈΡ Resize ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π΄ΠΈΡΡ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ FindSquare ΠΈ FindPerimeter Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΈ ΠΏΠ΅ΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² ΡΠ΅ΠΎΡ. ΡΠ°ΡΡΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ Main
Π ΡΡΠ½ΠΊΡΠΈΠΈ main ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²Π²ΠΎΠ΄Π° Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ. ΠΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠ³ΡΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅Ρ ΡΠΈΠ³ΡΡΠ°Ρ , ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π²ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΏΡΠ½ΠΊΡΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΡΡΠ³Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π΄ΠΈΡΡΠ°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π²ΡΠ΅Π³ΠΎ ΡΠΈΠ³ΡΡΡ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ.
ΠΠΎΠΈΡΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΊΡΡΠ³Π°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ ΡΠΈΠ³ΡΡΡ Π§ΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΡΡΠ³, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΠΈΠ³ΡΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΈΠ³ΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠΏΠ°ΡΠ½ΠΎ.
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ-ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈΠ· Π½ΠΈΡ .
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ-ΠΊΡΡΠ³. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΄ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΊΡΡΠ³Π° (Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΎΡ ΡΠΎΡΠΊΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΄ΠΎ ΡΠ΅Π½ΡΡΠ° ΠΊΡΡΠ³Π° ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°Π΄ΠΈΡΡ ΠΊΡΡΠ³Π° (ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΡΠΎΡΠΊΠ° Π»Π΅ΠΆΠΈΡ Π½Π° ΠΏΡΡΠΌΠΎΠΉ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π½ΡΡ). ΠΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅.
ΠΡΡΠ³-ΠΊΡΡΠ³. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π»Π΅ΠΆΠ°Ρ ΠΏΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΡΠΌΠΎΠΉ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π½ΡΡΡ ΡΡΠΈΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π½ΡΡΠ°ΠΌΠΈ ΠΊΡΡΠ³ΠΎΠ² ΠΈ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π΄ΠΈΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΡΡΠ³Π°.
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Quadrate ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Rectangle, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΈΠ³ΡΡΡ. ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ (4 ΡΠ³Π»Π°).
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π»Ρ Π΄Π²ΡΡ ΡΠΈΠ³ΡΡ, ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²ΡΠ΅Ρ ΡΠΈΠ³ΡΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΊΡΡΠ³Π°. Π¦Π΅Π½ΡΡΠΎΠΌ Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π° ΠΎΡΡΠ΅Π·ΠΊΠ°, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅Π³ΠΎ Π΄Π²Π΅ ΡΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π’Π΅ΡΡ 1.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° ΠΊΡΡΠ³Π°: r=30, c=(-25; 30) ΠΈ r=20, c=(20; 70).
ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ Π΄Π»Ρ Π½ΠΈΡ ΠΏΠΎΠΈΡΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΊΡΡΠ³Π°.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π ΠΈΡΡΠ½ΠΎΠΊ 1. Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π’Π΅ΡΡ 2.
ΠΠ²Π°Π΄ΡΠ°Ρ (-80, -10), ΡΡΠΎΡΠΎΠ½Π°=20
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ (-35, -10), (0, -25)
ΠΡΡΠ³ r=20, c=(30, 50)
Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π‘ΠΊΡΠΈΠ½ΡΠΎΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π’Π΅ΡΡ 3.
ΠΠ²Π°Π΄ΡΠ°Ρ (-15, -40), ΡΡΠΎΡΠΎΠ½Π° 10
ΠΠ²Π°Π΄ΡΠ°Ρ (15, 15), ΡΡΠΎΡΠΎΠ½Π° 5
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ (-20, -5), (10, -15)
Π ΠΈΡΡΠ½ΠΎΠΊ 3. Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΠ° Π’Π΅ΡΡ 4.
ΠΡΡΠ³ r=40, c=(-15, 5).
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π ΠΈΡΡΠ½ΠΎΠΊ 4. Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΡΠ΅ΡΠ²ΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π’Π΅ΡΡ 5.
ΠΡΡΠ³ r=25, c=(15, 20).
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ (5,40), (25, 15)
ΠΠ²Π°Π΄ΡΠ°Ρ (15, 20), ΡΡΠΎΡΠΎΠ½Π° 15.
Π’Π΅ΡΡ 6.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ (15, 75), (25, 25) ΠΈ Π½Π°ΠΉΠ΄ΡΠΌ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΊΡΡΠ³.
Π ΠΈΡΡΠ½ΠΎΠΊ 6.1. Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΡΠ΅ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π΄ΠΎ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΠΎΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π½Π° ΡΠ³ΠΎΠ» 30 Π³ΡΠ°Π΄ΡΡΠΎΠ².
Π ΠΈΡΡΠ½ΠΎΠΊ 6.2. ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΏΠΎΠ²Π΅ΡΠ½ΡΠ»ΠΈ Π½Π° 30 Π³ΡΠ°Π΄ΡΡΠΎΠ² Π‘Π½ΠΎΠ²Π° Π½Π°ΠΉΠ΄ΡΠΌ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΊΡΡΠ³.
Π ΠΈΡΡΠ½ΠΎΠΊ 6. Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΡΠ΅ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ΄Π΅Π»Π°Π² ΠΊΡΡΡΠΎΠ²ΡΡ ΡΠ°Π±ΠΎΡΡ, Ρ ΠΏΡΠΈΠΎΠ±ΡΡΠ» Π½Π°Π²ΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ ΠΊΠ°ΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠΎΡΠΌΡΠ», ΡΠ°ΠΊ ΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΠ»Π°ΠΌΠΈ. ΠΡΠΈΠΎΠ±ΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΡΠΌΠ΅Π½ΠΈΡ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ ΡΡΡΠ΄Π΅Π½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ — http://ru.wikipedia.org/
Π€ΠΎΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ΠΎΠ² — http://www.cyberforum.ru/
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π. ΠΠΎΠ»Π½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
#include
#include
#include
using namespace std;
class Shape //ΠΎΠ±ΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΡΠΈΠ³ΡΡ
{
public:
float Perimeter, Square, CenterX, CenterY, Angle; //ΠΎΠ±ΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΠ³ΡΡ
int type; //ΡΠΈΠΏ ΡΠΈΠ³ΡΡΡ
//Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
virtual void Move (float X, float Y) =0;
virtual void Resize (float X, float Y) =0;
virtual void Rotate (float Kangle) =0;
virtual void FindSquare () =0;
virtual void FindPerimeter () =0;
};
class Rectangle: public Shape //ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
{
public:
float LTX, LTY, LDX, LDY, RDX, RDY, RTX, RTY; //ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ³Π»ΠΎΠ²
Rectangle (){};
Rectangle (float KLTX, float KLTY, float KRDX, float KRDY) //ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
{
type=2; //Π·Π°Π΄Π°ΡΠΌ ΡΠΈΠΏ ΡΠΈΠ³ΡΡΡ
LTX=KLTX; //ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ
LTY=KLTY;
RDX=KRDX;
RDY=KRDY;
LDX=LTX;
LDY=RDY;
RTX=RDX;
RTY=LTY;
CenterX=(RDX-LDX)/2.0+LDX; //Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π½ΡΡΠ°
CenterY=(LTY-LDY)/2.0+LDY;
}
void Move (float X, float Y) //ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π½Π° X, Y
{
//ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π²ΠΈΠ½Π΅ΠΌ Π²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ
LTX+=X;
LTY+=Y;
LDX+=X;
LDY+=Y;
RDX+=X;
RDY+=Y;
RTX+=X;
RTY+=Y;
CenterX+=X;
CenterY+=Y;
}
void Resize (float X, float Y) //ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ
{
float XP=cos (Angle)*Y*1.0; //Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π²Π΅ΠΊΡΠΎΡ-ΡΠ΄Π²ΠΈΠ³ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΈΠ½Ρ
float YP=sin (Angle)*Y*1.0;
LTX-=(XP/2.0); //ΠΈ ΡΠ²Π΄ΠΈΠ³Π°Π΅ΠΌ
LDX-=(XP/2.0);
RTX+=(XP/2.0);
RDX+=(XP/2.0);
LTY+=(YP/2.0);
RTY-=(YP/2.0);
LDY+=(YP/2.0);
RDY-=(YP/2.0);
float XQ=sin (Angle)*X*1.0; //Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π²Π΅ΠΊΡΠΎΡ-ΡΠ΄Π²ΠΈΠ³ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ Π΄Π»ΠΈΠ½Ρ
float YQ=cos (Angle)*X*1.0;
LTX+=(XQ/2.0); //ΠΈ ΡΠ²Π΄ΠΈΠ³Π°Π΅ΠΌ
LDX-=(XQ/2.0);
RTX+=(XQ/2.0);
RDX-=(XQ/2.0);
LTY+=(YQ/2.0);
RTY+=(YQ/2.0);
LDY-=(YQ/2.0);
RDY-=(YQ/2.0);
}
void Rotate (float Kangle) //ΠΏΠΎΠ²ΠΎΡΠΎΡ
{
float angle=-Kangle*3.14/180; //ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈΠ· Π³ΡΠ°Π΄ΡΡΠΎΠ² Π² ΡΠ°Π΄ΠΈΠ°Π½Ρ
//Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ.ΠΊ. ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Ρ ΠΎΠ΄Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½ΡΠΆΠ½Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
float KLTX=LTX;
float KLTY=LTY;
float KLDX=LDX;
float KLDY=LDY;
float KRTX=RTX;
float KRTY=RTY;
float KRDX=RDX;
float KRDY=RDY;
LTX = CenterX+ (KLTX-CenterX) * cos (angle) — (KLTY-CenterY) * sin (angle);
LTY = CenterY+ (KLTX-CenterX) * sin (angle) + (KLTY-CenterY) * cos (angle);
RTX = CenterX+ (KRTX-CenterX) * cos (angle) — (KRTY-CenterY) * sin (angle);
RTY = CenterY+ (KRTX-CenterX) * sin (angle) + (KRTY-CenterY) * cos (angle);
LDX = CenterX+ (KLDX-CenterX) * cos (angle) — (KLDY-CenterY) * sin (angle);
LDY = CenterY+ (KLDX-CenterX) * sin (angle) + (KLDY-CenterY) * cos (angle);
RDX = CenterX+ (KRDX-CenterX) * cos (angle) — (KRDY-CenterY) * sin (angle);
RDY = CenterY+ (KRDX-CenterX) * sin (angle) + (KRDY-CenterY) * cos (angle);
Angle-=angle;
}
void FindSquare () //Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠ»ΠΎΡΠ°Π΄Ρ
{
Square=sqrt (pow ((RTX-LTX), 2)+pow ((RTY-LTY), 2))*sqrt (pow ((LDX-LTX), 2)+pow ((LDY-LTY), 2));
}
void FindPerimeter () //ΠΈ ΠΏΠ΅ΡΠΈΠΌΠ΅ΡΡ
{
Perimeter=(sqrt (pow ((RTX-LTX), 2)+pow ((RTY-LTY), 2))+sqrt (pow ((LDX-LTX), 2)+pow ((LDY-LTY), 2)))*2;
}
};
class Quadrate: public Rectangle //ΠΊΠ²Π°Π΄ΡΠ°Ρ
{
public:
float side; //ΡΡΠΎΡΠΎΠ½Π°
Quadrate (float KLTX, float KLTY, float Side) //ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
{
Rectangle ();//Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΡΠΏΠ΅Ρ-ΠΊΠ»Π°ΡΡΠ°
type=3; //ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏ
side=Side; //ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
LTX=KLTX;
LTY=KLTY;
RDX=KLTX+Side; //ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅
RDY=KLTY-Side;
LDX=LTX;
LDY=RDY;
RTX=RDX;
RTY=LTY;
CenterX=(RDX-LDX)/2.0+LDX; //Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ΅Π½ΡΡ
CenterY=(LTY-LDY)/2.0+LDY;
}
void Resize (float X)
{
float XP=cos (Angle)*X*1.0;
float YP=sin (Angle)*X*1.0;
LTX-=(XP/2.0);
LDX-=(XP/2.0);
RTX+=(XP/2.0);
RDX+=(XP/2.0);
LTY+=(YP/2.0);
RTY-=(YP/2.0);
LDY+=(YP/2.0);
RDY-=(YP/2.0);
float XQ=sin (Angle)*X*1.0;
float YQ=cos (Angle)*X*1.0;
LTX+=(XQ/2.0);
LDX-=(XQ/2.0);
RTX+=(XQ/2.0);
RDX-=(XQ/2.0);
LTY+=(YQ/2.0);
RTY+=(YQ/2.0);
LDY-=(YQ/2.0);
RDY-=(YQ/2.0);
side+=X;
}
void Rotate (float Kangle)
{
float angle=-Kangle*3.14/180;
float KLTX=LTX;
float KLTY=LTY;
float KLDX=LDX;
float KLDY=LDY;
float KRTX=RTX;
float KRTY=RTY;
float KRDX=RDX;
float KRDY=RDY;
LTX = CenterX+ (KLTX-CenterX) * cos (angle) — (KLTY-CenterY) * sin (angle);
LTY = CenterY+ (KLTX-CenterX) * sin (angle) + (KLTY-CenterY) * cos (angle);
RTX = CenterX+ (KRTX-CenterX) * cos (angle) — (KRTY-CenterY) * sin (angle);
RTY = CenterY+ (KRTX-CenterX) * sin (angle) + (KRTY-CenterY) * cos (angle);
LDX = CenterX+ (KLDX-CenterX) * cos (angle) — (KLDY-CenterY) * sin (angle);
LDY = CenterY+ (KLDX-CenterX) * sin (angle) + (KLDY-CenterY) * cos (angle);
RDX = CenterX+ (KRDX-CenterX) * cos (angle) — (KRDY-CenterY) * sin (angle);
RDY = CenterY+ (KRDX-CenterX) * sin (angle) + (KRDY-CenterY) * cos (angle);
Angle-=angle;
}
void FindSquare ()
{
Square=side*side;
}
void FindPerimeter ()
{
Perimeter=side*4;
}
};
class Circle: public Shape //ΠΊΡΡΠ³
{
public:
float Radius; //ΡΠ°Π΄ΠΈΡΡ
Circle (float KRadius, float KCenterX, float KCenterY) //ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
{
type=1; //Π·Π°Π΄Π°ΡΠΌ ΡΠΈΠΏ
Radius=KRadius; //ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
CenterX=KCenterX;
CenterY=KCenterY;
}
void Move (float X, float Y) //ΡΠ΄Π²ΠΈΠ½ΡΡΡ ΠΊΡΡΠ³ = ΡΠ΄Π²ΠΈΠ½ΡΡΡ ΡΠ΅Π½ΡΡ
{
CenterX+=X;
CenterY+=Y;
}
void Rotate (float Kangle) {}; //Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΠ³Π° Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
void Resize (float X, float Y) //ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π΄ΠΈΡΡ; Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ — Π·Π½Π°ΡΠΈΡ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈ Π·Π΄Π΅ΡΡ, Ρ.ΠΊ. ΡΡΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ
{
Radius+=X;
}
void FindSquare ()
{
Square=M_PI*Radius*Radius;
}
void FindPerimeter ()
{
Perimeter=M_PI*Radius*2;
}
};
int main ()
{
system («chcp 1251»);
vector < Shape* > Shapes; //ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠ³ΡΡ
while (1) //Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ΅Π½Ρ Π΄ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter." << endl << «1. ΠΡΠ±ΡΠ°ΡΡ ΡΠΈΠ³ΡΡΡ» << endl << «2. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΈΠ³ΡΡΡ» << endl << «3. ΠΠ°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΡΡΠ³, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ Π²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΠΈΠ³ΡΡΡ» << endl << «4. ΠΡΡ ΠΎΠ΄» << endl;
int task;
cin>>task;
if (task==4)
{
break;
}
else if (task==1)
{
if (Shapes.size ()>0)
{
while (1)
{
for (int i=0; i
{
cout<<(i+1)<<". «;
if (Shapes[i]->type==1)
{
Circle *Temp=dynamic_cast (Shapes[i]); //ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ ΠΊΡΡΠ³Π°
cout<<" ΠΡΡΠ³ — Π Π°Π΄ΠΈΡΡ="<Radius<<" Π¦Π΅Π½ΡΡ «<CenterX<<»; «<CenterY<<»; «<
}
else if (Shapes[i]->type==2)
{
Rectangle *Temp=dynamic_cast (Shapes[i]); //ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
cout<<" ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ — ΠΠ΅Π²ΡΠΉ ΠΠ΅ΡΡ Π½ΠΈΠΉ Π£Π³ΠΎΠ» «<LTX<<»; «<LTY<<»; ΠΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³ΠΎΠ» «<RDX<<»; «<RDY<<» ;" <
}
else if (Shapes[i]->type==3)
{
Quadrate *Temp=dynamic_cast (Shapes[i]); //ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
cout<<" ΠΠ²Π°Π΄ΡΠ°Ρ — ΠΠ΅Π²ΡΠΉ ΠΠ΅ΡΡ Π½ΠΈΠΉ Π£Π³ΠΎΠ» «<LTX<<»; «<LTY<<»; Π‘ΡΠΎΡΠΎΠ½Π° «<side<<» ;" <
}
}
cout<<(Shapes.size ()+1)<<". Π Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ" <
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠ³ΡΡΡ" <
int fnum;
cin>>fnum; fnum—;
if (fnum>Shapes.size ()-1) break;
if (Shapes[fnum]->type==1)
{
Circle *Temp=dynamic_cast (Shapes[fnum]);
Temp->FindSquare ();
Temp->FindPerimeter ();
cout<<" ΠΡΡΠ³: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" <<" Π Π°Π΄ΠΈΡΡ="<Radius<<" ;" <<" Π¦Π΅Π½ΡΡ: «<CenterX<<»; «<CenterY<<»; «<<» ΠΠ»ΠΎΡΠ°Π΄Ρ="<Square<<" ;" <<" ΠΠ΅ΡΠΈΠΌΠ΅ΡΡ="<Perimeter<<" ;" <
}
else if (Shapes[fnum]->type==2)
{
Rectangle *Temp=dynamic_cast (Shapes[fnum]);
Temp->FindSquare ();
Temp->FindPerimeter ();
cout<<" ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" <<" ΠΠ΅Π²ΡΠΉ ΠΠ΅ΡΡ Π½ΠΈΠΉ Π£Π³ΠΎΠ»:" <LTX<<"; «<LTY<<» ;" <<" ΠΡΠ°Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» «<RTX<<»; «<RTY<<» ;" <<" ΠΠ΅Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ Π£Π³ΠΎΠ»:" <LDX<<"; «<LDY<<» ;" <<" ΠΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³ΠΎΠ» «<RDX<<»; «<RDY<<» ;" <<" ΠΠ»ΠΎΡΠ°Π΄Ρ="<Square<<" ;" <<" ΠΠ΅ΡΠΈΠΌΠ΅ΡΡ="<Perimeter<<" ;" <
}
else if (Shapes[fnum]->type==3)
{
Quadrate *Temp=dynamic_cast (Shapes[fnum]);
Temp->FindSquare ();
Temp->FindPerimeter ();
//float sd=sqrt (pow (Temp->LTX-Temp->RTX, 2)+pow (Temp->LTY-Temp->RTY, 2));
cout<<" ΠΠ²Π°Π΄ΡΠ°Ρ: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" <<" Π‘ΡΠΎΡΠΎΠ½Π°="<side<<" ;" <<" ΠΠ΅Π²ΡΠΉ ΠΠ΅ΡΡ Π½ΠΈΠΉ Π£Π³ΠΎΠ»:" <LTX<<"; «<LTY<<» ;" <<" ΠΡΠ°Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» «<RTX<<»; «<RTY<<» ;" <<" ΠΠ΅Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ Π£Π³ΠΎΠ»:" <LDX<<"; «<LDY<<» ;" <<" ΠΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³ΠΎΠ» «<RDX<<»; «<RDY<<» ;" <<" ΠΠ»ΠΎΡΠ°Π΄Ρ="<Square<<" ;" <<" ΠΠ΅ΡΠΈΠΌΠ΅ΡΡ="<Perimeter<<" ;" <
}
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter" <
cout<<" 1. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ" <<" 2. Π‘Π΄Π²ΠΈΠ½ΡΡΡ" <<" 3. ΠΠΎΠ²Π΅ΡΠ½ΡΡΡ Π½Π° ΡΠ³ΠΎΠ»" <<" 4. ΠΡΠΉΡΠΈ Π² ΠΌΠ΅Π½Ρ" <
int item2;
cin>>item2;
if (item2==1)
{
if (Shapes[fnum]->type==1)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π΄ΠΈΡΡ" <
float r;
cin>>r;
Circle *Temp=dynamic_cast (Shapes[fnum]);
Temp->Resize (r, 0);
}
if (Shapes[fnum]->type==2)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΈ ΡΠΈΡΠΈΠ½Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°" <
float x, y;
cin>>x>>y;
Rectangle *Temp=dynamic_cast (Shapes[fnum]);
Temp->Resize (x, y);
}
if (Shapes[fnum]->type==3)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°" <
float x;
cin>>x;
Quadrate *Temp=dynamic_cast (Shapes[fnum]);
Temp->Resize (x);
}
}
else if (item2==2)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» ΡΠ΄Π²ΠΈΠ³ ΠΏΠΎ ΠΎΡΠΈ X, ΠΏΠΎ ΠΎΡΠΈ Y" <
float x, y;
cin>>x>>y;
if (Shapes[fnum]->type==1)
{
Circle *Temp=dynamic_cast (Shapes[fnum]);
Temp->Move (x, y);
}
else if (Shapes[fnum]->type==2)
{
Rectangle *Temp=dynamic_cast (Shapes[fnum]);
Temp->Move (x, y);
}
else if (Shapes[fnum]->type==3)
{
Quadrate *Temp=dynamic_cast (Shapes[fnum]);
Temp->Move (x, y);
}
}
else if (item2==3)
{
if (Shapes[fnum]->type==1)
{
cout<<" ΠΡΡΠ³ Π²ΡΠ°ΡΠ°Π΅ΡΡΡ, Π²ΡΠ°ΡΠ°Π΅ΡΡΡ…" <
}
else if (Shapes[fnum]->type==2)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ )" <
float ang;
cin>>ang;
Rectangle *Temp=dynamic_cast (Shapes[fnum]);
Temp->Rotate (ang);
}
else if (Shapes[fnum]->type==3)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ )" <
float ang;
cin>>ang;
Quadrate *Temp=dynamic_cast (Shapes[fnum]);
Temp->Rotate (ang);
}
}
else {break;}
}
}
else
{
cout<<" ΠΠ° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΠΏΠΎΠΊΠ° Π½Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³ΡΡΡ." <
}
}
else if (task==2)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΡΡΠ³; 2, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ; 3, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°Ρ" <
int item1;
cin>>item1;
if (item1==1)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» ΡΠ°Π΄ΠΈΡΡ ΠΈ Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π½ΡΡΠ°" <
float r, cx, cy;
cin>>r>>cx>>cy;
Shapes.push_back (new Circle (r, cx, cy));
}
if (item1==2)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ³Π»Π°, Π·Π°ΡΠ΅ΠΌ Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ³Π»Π°" <
float lx, ly, rx, ry;
cin>>lx>>ly>>rx>>ry;
Shapes.push_back (new Rectangle (lx, ly, rx, ry));
}
if (item1==3)
{
cout<<" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ³Π»Π°, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°" <
float lx, ly, sd;
cin>>lx>>ly>>sd;
Shapes.push_back (new Quadrate (lx, ly, sd));
Shapes[Shapes.size ()-1]->type=3;
}
}
else if (task==3) //ΠΏΠΎΠΈΡΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ³Π°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ ΡΠΈΠ³ΡΡΡ
{
float cx, cy, r=-1; //Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΠΊΡΡΠ³ (ΡΠ΅Π½ΡΡ ΠΈ ΡΠ°Π΄ΠΈΡΡ)
for (int i=0; i
{
if (Shapes[i]->type>1) //Π΄Π»Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
{
Rectangle *Main=dynamic_cast (Shapes[i]);
for (int j=0; j
{
if (Shapes[j]->type==1) //ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Ρ ΠΊΡΡΠ³ΠΎΠΌ
{
Circle *Temp=dynamic_cast (Shapes[j]);
float dist=sqrt (pow (Main->LTX-Temp->CenterX, 2)+pow (Main->LTY-Temp->CenterY, 2))+Temp->Radius; //ΠΏΠΎΠΈΡΠΊ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ
if (dist>r) //Π΅ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π΄ΠΈΡΡΠ°, ΡΠΎ Π±Π΅ΡΡΠΌ Π΅Π³ΠΎ
{
//Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ΅Π½ΡΡ
r=dist;
float vectx=((Main->LTX-Temp->CenterX));
float vecty=((Main->LTY-Temp->CenterY));
float vecl=sqrt (vectx*vectx+vecty*vecty);
float prx=vectx*Temp->Radius/vecl;
float pry=vecty*Temp->Radius/vecl;
cx=Temp->CenterX-prx+((vectx+prx)/2.0);
cy=Temp->CenterY-pry+((vecty+pry)/2.0);
}
//Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ³Π»ΠΎΠ² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
dist=sqrt (pow (Main->LDX-Temp->CenterX, 2)+pow (Main->LDY-Temp->CenterY, 2))+Temp->Radius;
if (dist>r)
{
r=dist;
float vectx=((Main->LDX-Temp->CenterX));
float vecty=((Main->LDY-Temp->CenterY));
float vecl=sqrt (vectx*vectx+vecty*vecty);
float prx=vectx*Temp->Radius/vecl;
float pry=vecty*Temp->Radius/vecl;
cx=Temp->CenterX-prx+((vectx+prx)/2.0);
cy=Temp->CenterY-pry+((vecty+pry)/2.0);
}
dist=sqrt (pow (Main->RDX-Temp->CenterX, 2)+pow (Main->RDY-Temp->CenterY, 2))+Temp->Radius;
if (dist>r)
{
r=dist;
float vectx=((Main->RDX-Temp->CenterX));
float vecty=((Main->RDY-Temp->CenterY));
float vecl=sqrt (vectx*vectx+vecty*vecty);
float prx=vectx*Temp->Radius/vecl;
float pry=vecty*Temp->Radius/vecl;
cx=Temp->CenterX-prx+((vectx+prx)/2.0);
cy=Temp->CenterY-pry+((vecty+pry)/2.0);
}
dist=sqrt (pow (Main->RTX-Temp->CenterX, 2)+pow (Main->RTY-Temp->CenterY, 2))+Temp->Radius;
if (dist>r)
{
r=dist;
float vectx=((Main->RTX-Temp->CenterX));
float vecty=((Main->RTY-Temp->CenterY));
float vecl=sqrt (vectx*vectx+vecty*vecty);
float prx=vectx*Temp->Radius/vecl;
float pry=vecty*Temp->Radius/vecl;
cx=Temp->CenterX-prx+((vectx+prx)/2.0);
cy=Temp->CenterY-pry+((vecty+pry)/2.0);
}
}
else //Π΅ΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ/ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠΌ
{
if (i<=j) //ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ²
{
Rectangle *Temp=dynamic_cast (Shapes[j]);
//ΠΈΡΠ΅ΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠ΅
float dist=sqrt (pow (Main->LTX-Temp->LTX, 2)+pow (Main->LTY-Temp->LTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LTX-Temp->LTX));
float vecty=((Main->LTY-Temp->LTY));
cx=Temp->LTX+(vectx/2.0);
cy=Temp->LTY+(vecty/2.0);
}
dist=sqrt (pow (Main->LTX-Temp->LDX, 2)+pow (Main->LTY-Temp->LDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LTX-Temp->LDX));
float vecty=((Main->LTY-Temp->LDY));
cx=Temp->LDX+(vectx/2.0);
cy=Temp->LDY+(vecty/2.0);
}
dist=sqrt (pow (Main->LTX-Temp->RTX, 2)+pow (Main->LTY-Temp->RTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LTX-Temp->RTX));
float vecty=((Main->LTY-Temp->RTY));
cx=Temp->RTX+(vectx/2.0);
cy=Temp->RTY+(vecty/2.0);
}
dist=sqrt (pow (Main->LTX-Temp->RDX, 2)+pow (Main->LTY-Temp->RDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LTX-Temp->RDX));
float vecty=((Main->LTY-Temp->RDY));
cx=Temp->RDX+(vectx/2.0);
cy=Temp->RDY+(vecty/2.0);
//cout<<" «<
}
//———;
dist=sqrt (pow (Main->LDX-Temp->LTX, 2)+pow (Main->LDY-Temp->LTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LDX-Temp->LTX));
float vecty=((Main->LDY-Temp->LTY));
cx=Temp->LTX+(vectx/2.0);
cy=Temp->LTY+(vecty/2.0);
}
dist=sqrt (pow (Main->LDX-Temp->LDX, 2)+pow (Main->LDY-Temp->LDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LDX-Temp->LDX));
float vecty=((Main->LDY-Temp->LDY));
cx=Temp->LDX+(vectx/2.0);
cy=Temp->LDY+(vecty/2.0);
}
dist=sqrt (pow (Main->LDX-Temp->RTX, 2)+pow (Main->LDY-Temp->RTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LDX-Temp->RTX));
float vecty=((Main->LDY-Temp->RTY));
cx=Temp->RTX+(vectx/2.0);
cy=Temp->RTY+(vecty/2.0);
}
dist=sqrt (pow (Main->LDX-Temp->RDX, 2)+pow (Main->LDY-Temp->RDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->LDX-Temp->RDX));
float vecty=((Main->LDY-Temp->RDY));
cx=Temp->RDX+(vectx/2.0);
cy=Temp->RDY+(vecty/2.0);
}
//———;
dist=sqrt (pow (Main->RDX-Temp->LTX, 2)+pow (Main->RDY-Temp->LTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RDX-Temp->LTX));
float vecty=((Main->RDY-Temp->LTY));
cx=Temp->LTX+(vectx/2.0);
cy=Temp->LTY+(vecty/2.0);
}
dist=sqrt (pow (Main->RDX-Temp->LDX, 2)+pow (Main->RDY-Temp->LDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RDX-Temp->LDX));
float vecty=((Main->RDY-Temp->LDY));
cx=Temp->LDX+(vectx/2.0);
cy=Temp->LDY+(vecty/2.0);
}
dist=sqrt (pow (Main->RDX-Temp->RTX, 2)+pow (Main->RDY-Temp->RTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RDX-Temp->RTX));
float vecty=((Main->RDY-Temp->RTY));
cx=Temp->RTX+(vectx/2.0);
cy=Temp->RTY+(vecty/2.0);
}
dist=sqrt (pow (Main->RDX-Temp->RDX, 2)+pow (Main->RDY-Temp->RDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RDX-Temp->RDX));
float vecty=((Main->RDY-Temp->RDY));
cx=Temp->RDX+(vectx/2.0);
cy=Temp->RDY+(vecty/2.0);
}
//———;
dist=sqrt (pow (Main->RTX-Temp->LTX, 2)+pow (Main->RTY-Temp->LTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RTX-Temp->LTX));
float vecty=((Main->RTY-Temp->LTY));
cx=Temp->LTX+(vectx/2.0);
cy=Temp->LTY+(vecty/2.0);
}
dist=sqrt (pow (Main->RTX-Temp->LDX, 2)+pow (Main->RTY-Temp->LDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RTX-Temp->LDX));
float vecty=((Main->RTY-Temp->LDY));
cx=Temp->LDX+(vectx/2.0);
cy=Temp->LDY+(vecty/2.0);
}
dist=sqrt (pow (Main->RTX-Temp->RTX, 2)+pow (Main->RTY-Temp->RTY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RTX-Temp->RTX));
float vecty=((Main->RTY-Temp->RTY));
cx=Temp->RTX+(vectx/2.0);
cy=Temp->RTY+(vecty/2.0);
}
dist=sqrt (pow (Main->RTX-Temp->RDX, 2)+pow (Main->RTY-Temp->RDY, 2));
if (dist>r)
{
r=dist;
float vectx=((Main->RTX-Temp->RDX));
float vecty=((Main->RTY-Temp->RDY));
cx=Temp->RDX+(vectx/2.0);
cy=Temp->RDY+(vecty/2.0);
}
}
}
}
}
else //Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΊΡΡΠ³ΠΎΠΌ
{
Circle *Main=dynamic_cast (Shapes[i]);
for (int j=0; j
{
if ((Shapes[j]->type==1) && (i<=j)) //ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ²; ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΡΡΠ³Π°ΠΌΠΈ
{
if (i==j) //ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ°ΠΌΠΈΠΌ ΡΠΎΠ±ΠΎΠΉ
{
float dist=Main->Radius*2; //Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΠΊΡΡΠ³Π°
if (dist>r)
{
r=dist;
cx=Main->CenterX; //ΡΠ΅Π½ΡΡ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ
cy=Main->CenterY; //ΡΠ΅Π½ΡΡ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ
continue; //Π½Π° Π½ΠΎΠ²ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ
}
}
Circle *Temp=dynamic_cast (Shapes[j]);
float dist=(sqrt (pow (Main->CenterX-Temp->CenterX, 2)+pow (Main->CenterY-Temp->CenterY, 2))+Temp->Radius+Main->Radius);
if (dist>r)
{
r=dist;
float vectx=((Main->CenterX-Temp->CenterX));
float vecty=((Main->CenterY-Temp->CenterY));
float vecl=sqrt (vectx*vectx+vecty*vecty);
float prx=vectx*(Main->Radius)/vecl;
float pry=vecty*(Main->Radius)/vecl;
cx=Main->CenterX+((prx));
cy=Main->CenterY+((pry));
cx-=((dist*vectx/vecl)/2.0);
cy-=((dist*vecty/vecl)/2.0);
}
}
}
}
}
r/=2.0; //Π±ΡΠ» Π΄ΠΈΠ°ΠΌΠ΅ΡΡ, ΡΡΠ°Π» ΡΠ°Π΄ΠΈΡΡ.
cout<<" Π Π°Π΄ΠΈΡΡ="<<" Π¦Π΅Π½ΡΡ: «<<» ;" <<" ;" <
}
}
system («PAUSE»);
Shapes.clear ();
}