ΠΡΡΠ³ΠΎΠ²Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΠΏΠ°ΡΡΠΈΠ½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°)
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΡΡΠ³ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ°ΡΡΠΈΠ½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ. ΠΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ²Π»ΡΡΡΡΡ: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π΅ΡΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΡΠ³ΠΎΠ²Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΠΏΠ°ΡΡΠΈΠ½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°) (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «Π’Π΅ΠΎΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ»
Π’Π΅ΠΌΠ°: «ΠΡΡΠ³ΠΎΠ²Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΠΠ°ΡΡΠΈΠ½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°)»
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
2. ΠΡΠ°ΡΠΊΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°
3.1 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
3.2 ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
4. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠ²ΠΎΠ΄Ρ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΡΡΠ³ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ°ΡΡΠΈΠ½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ. ΠΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ²Π»ΡΡΡΡΡ: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π΅ΡΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡΡΠ½ΡΡ, ΡΠ°ΠΊ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π Π²Ρ ΠΎΠ΄Π½ΡΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ΅Π³ΡΠ»ΠΈΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅.
ΠΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠ°ΡΡΠΈΠ½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ°Ρ Π²Π΅ΡΠ° ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΎΡΡΡ , ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π»Π΅Π³Π΅Π½Π΄Ρ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅. Π Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ Π²Π΅ΡΠΎΠ², Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ.
2. ΠΡΠ°ΡΠΊΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
Π ΡΠ΅ΠΎΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄, Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π»Π΅ΠΆΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠ² ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ «ΠΡΡΠ³ΠΎΠ²Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ». Π‘ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: ΠΈΠΌΠ΅ΡΡΡΡ n ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ mi Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠΌ Π²Π΅ΡΠΎΠΌ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ, Ρ.ΠΎ. ΡΡΠΎΠ±Ρ ΡΡΠΌΠΌΠ° Π²Π΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ Ρ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π²Π½ΡΠ»Π°ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅. .
Π‘ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ°, Π² ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ, Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²Π΅ΡΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°. ΠΡΡΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΠ° Π»ΡΡΠ°Ρ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π²Π΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΡΠΎΡΠΊΠΈ Π½Π° Π²Π΅ΡΠ°Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΈΡ ΡΠΎΡΠΌΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ±ΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊ ΡΠΎΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΠΊΠ°ΠΊ Π² ΡΠ°ΡΡΠ½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΡ , ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ°ΡΡΠΈΠ½Π½ΡΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°
Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: Visual Studio 2008
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: C#
3.1 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ:
1) Form. cs — ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠ²ΠΎΠ΄Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ, Π²Π²ΠΎΠ΄Π° Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ².
2) Reader. cs — ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ».
3) Settings. cs — ΠΊΠ»Π°ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
4) Writer. cs — ΠΊΠ»Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
3.2 ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
public class Settings
{
private bool legend;
private bool axis;
private bool pipki;
private int pipkiSize;
private bool countSum;
public Settings ()
{
legend = false;
axis = false;
pipki = false;
pipkiSize = 0;
countSum = false;
}
public Settings (bool leg, bool ax, bool pip, int pipSize, bool sum)
{
legend = leg;
axis = ax;
pipki = pip;
pipkiSize = pipSize;
countSum = sum;
}
public bool getCountSum ()
{
return countSum;
}
public void setCountSum (bool sum)
{
countSum = sum;
}
public int getPipSize ()
{
return pipkiSize;
}
public void setPipSize (int size)
{
pipkiSize = size;
}
public bool getPipki ()
{
return pipki;
}
public void setPipki (bool pip)
{
pipki = pip;
}
public bool getLegend ()
{
return legend;
}
public bool getAxis ()
{
return axis;
}
public void setLegend (bool leg)
{
legend = leg;
}
public void setAxis (bool ax)
{
axis = ax;
}
public class Reader
{
private string fileName;
private string[] inputTxt;
private double[,] matrix;
private double[,] table;
private int rows;
private int cols;
private System.Globalization.NumberFormatInfo numberFormat;
public Reader (string name)
{
fileName = name;
}
public void ReadTable (out double[,] table)
{
numberFormat = new System.Globalization.NumberFormatInfo ();
numberFormat.CurrencyDecimalSeparator = «.» ;
//Π·Π°Π±ΠΈΡΠ°Π΅ΠΌ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
string[] fullText = File. ReadAllLines (fileName);
//Π·Π°Π±ΠΈΡΠ°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ
string[] aloneString = fullText[0]. Split (new char[] { ' ' });
//ΠΌΠ°ΡΡΠΈΠ² ΠΊΡΠ΄Π° Π±ΡΠ΄ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°
table = new double[fullText.Length, aloneString. Length];
//double[,] temp = new double[fullText.Length, aloneString. Length];
for (int i = 0; i < aloneString. Length; i++)
{
table[0, i] = double. Parse (aloneString[i], numberFormat);
}
for (int i = 1; i < fullText. Length; i++)
{
aloneString = fullText[i]. Split (new char[] { ' ' });
for (int j = 0; j < aloneString. Length; j++)
{
table[i, j] = double. Parse (aloneString[j], numberFormat);
}
}
}
}
public static class Writer
{
private static string fileName;
private static string[] inputTxt;
private static double[,] matrix;
private static int rows;
private static int cols;
private static System.Globalization.NumberFormatInfo numberFormat;
static Writer ()
{
numberFormat = new System.Globalization.NumberFormatInfo ();
numberFormat.CurrencyDecimalSeparator = «.» ;
}
public static void WriteTable (string nameFile, double[,] table)
{
Writer.fileName = nameFile;
Writer.matrix = table;
if (Writer.matrix ≠ null)
{
rows = matrix. GetLength (0);
cols = matrix. GetLength (1);
inputTxt = new string[rows];
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
inputTxt[i] += matrix[i, j]. ToString («0.0000», numberFormat);
if (j < cols — 1)
{
inputTxt[i] += ««;
}
}
}
File.WriteAllLines (nameFile, inputTxt);
}
}
}
public partial class Form1: Form
{
Bitmap bm;
private bool goodGo = false;
//ΡΠΈΡΠ»ΠΎ ΠΊΡΡΠΊΠΎΠ² (ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π²)
private float countOfPie;
//ΡΠ³ΠΎΠ» Π΄Π»Ρ ΠΊΡΡΠΊΠΎΠ²
private float degrees;
//ΡΠΈΡΠ»ΠΎ ΡΠ΅Π»Π΅ΠΉ
private int aims;
//ΡΠ°Π±Π»ΠΈΡΠ° Π²Π΅ΡΠΎΠ²
private Double[,] tables;
private double[,] fromFileTable;
private static int rows;
private static int cols;
//Π½Π΅ Π²Π΅ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ΄Ρ
private int[] wrongRows;
int cR = 0, cG =0, cB =0;
private Settings settings = new Settings ();
public Form1()
{
InitializeComponent ();
}
//ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
private void getData ()
{
countOfPie = (int)numericUpDown1.Value;
degrees = 360 / countOfPie;
aims = (int)numericUpDown2.Value;
settings.setLegend (checkBox1.Checked);
settings.setAxis (checkBox2.Checked);
settings.setPipki (checkBox3.Checked);
settings.setPipSize ((int)numericUpDown3.Value);
settings.setCountSum (checkBox4.Checked);
}
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ· ΡΠΎΡΠΌΡ
private void createTableOfWeight ()
{
tables = new double[rows, cols];
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
tables[i, j] = Convert. ToDouble (dataGridView1.Rows[i]. Cells[j].Value);
}
}
/*
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
textBox1.AppendText (tables[i, j]. ToString ());
textBox1.AppendText (««);
}
textBox1.AppendText («/n «);
}
*/
}
//ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΄ΠΎΠ²
private Boolean checkTable ()
{
int []tempTable = new int[rows];
Boolean check = false;
double sum = 0;
int k=0;
for (int i = 0; i < tables. GetLength (0); i++)
{
sum = 0;
for (int j = 0; j < tables. GetLength (1); j++)
{
sum += tables[i, j];
// textBox1. AppendText (sum.ToString ());
// textBox1. AppendText (««);
}
//Π΅ΡΠ»ΠΈ ΡΡΠΌΠΌΠ° Π² ΡΡΠ΄Π΅ Π±ΠΎΠ»ΡΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΄Π°
if (sum > 1)
{
tempTable[k] = i;
k++;
sum = 0;
//textBox1.AppendText («get bug «);
}
}
//Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΡΡΠ΄ΠΎΠ²
wrongRows = new int[k];
for (int l =0; l
{
wrongRows[l] = tempTable[l];
}
//Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΡΠ΄Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅
if (k == 0)
{
check = true;
}
return check;
}
//ΡΠΈΡΡΠ΅ΠΌ
private void button1_Click (object sender, EventArgs e)
{
goodGo = true;
//DEBUG
// textBox1. AppendText (degrees.ToString ());
// textBox1. AppendText (««);
//DEBUG
//Π·Π°Π±ΠΈΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅
getData ();
//Π·Π°Π±ΠΈΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
createTableOfWeight ();
//ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠΎ ΡΠΈΡΡΠ΅ΠΌ.
if (checkTable () == true)
{
label3.Text = «ΠΠ°Π½Π½ΡΠ΅ Π²Π΅ΡΠ½Ρ «;
drawMyPie ();
}
else
{
// MessageBox msg = new MessageBox;
//Π½Π΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅
string text;
text = «ΠΡΠΈΠ±ΠΊΠ° Π² Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ΄ΠΎΠ²: «;
for (int i = 0; i < wrongRows. Length; i++)
{
text += «» + (wrongRows[i]+1) + «;» ;
}
label3.Text = text;
}
}
//ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΈΡΠΎΠ³
private void drawMyPie ()
{
bm = new Bitmap (pictureBox1.Width, pictureBox1. Height);
pictureBox1.Image = bm;
Graphics g = Graphics. FromImage (pictureBox1.Image);
//Π΄Π»ΠΈΠ½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠ΅Π·ΠΊΠ° Π½Π° ΠΏΠΈΡΠΎΠ³Π΅
float radius = 0;
//Graphics g = Graphics. FromHwnd (panel1.Handle);
g.SmoothingMode = SmoothingMode. AntiAlias;
g.Clear (Color.AntiqueWhite);
//ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
int dx = 260;
//ΠΌΠ°ΡΡΡΠ°Π± ΠΏΠΈΡΠΎΠ³Π°. ΡΠΈΡΡΠ° Π±ΠΎΠ»ΡΡΠ΅ — ΠΌΠ°ΡΡΡΠ°Π± ΠΌΠ΅Π½ΡΡΠ΅.
int call = 70;
//ΠΏΠΈΡΠΎΠ³
Rectangle rect = new Rectangle (call, call, pictureBox1. Width — dx-call*2,
pictureBox1.Height — call*2);
float start, end;
start = 0;
end = 0;
for (int i = 0; i < countOfPie; i++)
{
start = i * degrees;
end = start + degrees;
g.DrawPie (new Pen (Color.Black, 1), rect, 0, end);
}
// Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΉ ΠΎΡΡΠ΅Π·ΠΎΠΊ
radius = (pictureBox1.Height — call*2) / 2; //ΡΡΠ°ΡΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
//radius = (panel1.Height) / 2 — 10;
// ΡΠ΅Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ
float Ox = (pictureBox1.Width-dx) / 2;
float Oy = pictureBox1. Height / 2;
double R = 0;
double angle = 0;
//ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΈΠΏΠΊΠΈ
if (settings.getPipki () == true)
{
//Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΠΈΠΏΠΎΠΊ
PointF[] pipkiPoints = new PointF[rows];
double Rpipki = 0;
for (int lm = 0; lm < 10; lm++)
{
for (int m = 0; m < rows; m++)
{
Rpipki = (Convert.ToDouble (lm)+1)/10*radius;
//textBox1.AppendText («Rpipki = «);
//textBox1.AppendText (Rpipki.ToString ());
//textBox1.AppendText («LM = «);
///textBox1.AppendText (lm.ToString ());
angle = Math. PI * (degrees * m) / 180.0;
pipkiPoints[m]. X = (float)(Rpipki * Math. Cos (angle)) + Ox;
pipkiPoints[m]. Y = (float)(Rpipki * Math. Sin (angle)) + Oy;
SolidBrush myBrush = new SolidBrush (Color.Black);
//SolidBrush myBrush = new SolidBrush (Color.Red);
if (((lm+1) % 5) == 0)
{
g.FillEllipse (myBrush, pipkiPoints[m]. X — settings. getPipSize () / 2, pipkiPoints[m]. Y — settings. getPipSize () / 2, settings. getPipSize (), settings. getPipSize ());
}
g.FillEllipse (myBrush, pipkiPoints[m]. X — settings. getPipSize () / 4, pipkiPoints[m]. Y — settings. getPipSize () / 4, settings. getPipSize () / 2, settings. getPipSize () / 2);
}
g.FillEllipse (new SolidBrush (Color.Black), Ox — settings. getPipSize () / 2, Oy — settings. getPipSize () / 2, settings. getPipSize (), settings. getPipSize ());
}
}
//ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ
if (settings.getAxis () == true)
{
//ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠ΅ΠΉ
PointF[] textPoints = new PointF[rows];
double R1 = 0;
for (int s = 0; s < rows; s++)
{
string text2 = «ΠΡΠΈΡΠ΅ΡΠΈΠΉ «;
R1 = radius + 40;
angle = Math. PI * (degrees * s) / 180.0;
textPoints[s]. X = (float)(R1 * Math. Cos (angle)) + Ox;
textPoints[s]. Y = (float)(R1 * Math. Sin (angle)) + Oy;
if ((degrees * s) == 90)
{
textPoints[s]. Y += 10;
}
if ((degrees * s) == 270)
{
textPoints[s]. Y -= 10;
}
if ((degrees*s > 100) && (degrees*s < 260))
{
textBox1.AppendText (degrees.ToString ());
textBox1.AppendText («n»);
textPoints[s]. X -= 32;
textBox1.AppendText (textPoints[s]. X. ToString ());
textBox1.AppendText («n»);
}
text2 += «» + Convert. ToString (s + 1);
g.DrawString (text2, new Font («helveticz», 8), Brushes. Black, textPoints[s]);
}
}
PointF[] polygonPoints = new PointF[rows];
//ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ Π½Π°Π΄ΠΏΠΈΡΠ΅ΠΉ.
for (int j = 0; j < cols; j++)
{
//ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
for (int i = 0; i < rows; i++)
{
R = tables[i, j] * radius;
angle = Math. PI * (degrees * i) / 180.0;
polygonPoints[i]. X = (float)(R * Math. Cos (angle)) + Ox;
polygonPoints[i]. Y = (float)(R * Math. Sin (angle)) + Oy;
}
string text = «ΠΠ±ΡΠ΅ΠΊΡ β» ;
text += «» + Convert. ToString (j+1);
Pen myPen = new Pen (Color.FromArgb (cR, cG, cB), 2);
//ΡΠΈΠΏ Π»ΠΈΠ½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ
if (j % 3 == 0)
myPen.DashStyle = DashStyle. Dot;
if (j % 2 == 0)
myPen.DashStyle = DashStyle. Dash;
if (j % 5 == 0)
myPen.DashStyle = DashStyle. DashDot;
nextRGB ();
if (polygonPoints.Length > 1)
{
g.DrawPolygon (myPen, polygonPoints);
if (settings.getLegend () == true)
{
g.DrawLine (myPen, (rect.Width + 220), (j + 1) * 21, (rect.Width + 280), (j + 1) * 21);
g.DrawString (text, new Font («Helvetica», 8), Brushes. Black, rect. Width + 300, (j + 1) * 20);
}
}
}
textBox1.Clear ();
if (settings.getCountSum () == true)
{
double max = 0;
int ch = 0;
//ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
//ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ°ΡΠ΅Ρ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
double pRS1 = 0;
double pRS2 = 0;
//ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
double squareSum = 0;
double squareTriangle = 0;
for (int countSq = 0; countSq < cols; countSq++)
{
for (int pS = 1; pS <= rows; pS++)
{
if (pS == rows)
{
pRS2 = tables[0, countSq] * radius;
}
else
{
pRS2 = tables[pS, countSq] * radius;
}
pRS1 = tables[pS — 1, countSq] * radius;
angle = Math. PI * (degrees) / 180.0;
squareTriangle = 0.5 * pRS1 * pRS2 * (float)(Math.Sin (angle));
squareSum += squareTriangle;
}
if (squareSum > max)
{
ch = countSq;
max = squareSum;
}
textBox1.AppendText («ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: «);
textBox1.AppendText (Convert.ToString (countSq+1));
textBox1.AppendText (««);
textBox1.AppendText (squareSum.ToString ());
textBox1.AppendText («Π΅Π΄ΠΈΠ½ΠΈΡ; «);
textBox1.AppendText («n»);
//string tex = «lj» ;
//tex.
}
textBox1.AppendText («ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ «);
textBox1.AppendText (max.ToString ());
textBox1.AppendText («Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β «);
textBox1.AppendText (Convert.ToString (ch+1));
g.Dispose ();
pictureBox1.Invalidate ();
}
}
private void nextRGB ()
{
int dx = 60;
cR += dx;
if (cR > 255)
{
cG += dx;
cR -= 255;
if (cG > 255)
{
cB += dx;
cG -= 255;
if (cB > 255)
{
cB -= 255;
}
}
}
}
//onPaint
private void panel1_Paint (object sender, PaintEventArgs e)
{
Graphics g = e. Graphics;
if (goodGo == true)
drawMyPie ();
}
//ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ
private void CreateTable (int row, int col)
{
int _row = row;
int _col = col;
dataGridView1.ColumnCount = _col;
dataGridView1.RowHeadersVisible = false;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;
dataGridView1.RowCount = _row;
}
//Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ
private void Button2_Click (object sender, EventArgs e)
{
getData ();
rows = (int)countOfPie;
cols = aims;
CreateTable (rows, cols);
}
//ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ
private void button3_Click1(object sender, EventArgs e)
{
if (goodGo == true)
{
getData ();
drawMyPie ();
}
}
private void Π²ΡΡ ΠΎΠ΄ToolStripMenuItem_Click (object sender, EventArgs e)
{
Close ();
}
//ΠΎΡΠΈΡΡΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ
private void button5_Click (object sender, EventArgs e)
{
// Graphics g = Graphics. FromHwnd (panel1.Handle);
Graphics g = Graphics. FromHwnd (pictureBox1.Handle);
g.Clear (Color.AntiqueWhite);
}
private void Form1_Load (object sender, EventArgs e)
{
}
//Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅
private void toolStripMenuItem2_Click (object sender, EventArgs e)
{
string fileName;
if (openFileDialog1.ShowDialog () == DialogResult. OK)
{
openFileDialog1.InitialDirectory = «C:tmp» ;
openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
fileName = openFileDialog1. FileName;
Reader myReader = new Reader (fileName);
myReader.ReadTable (out fromFileTable);
//ΡΠ±ΠΎΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
countOfPie = fromFileTable. GetLength (0);
numericUpDown1.Value = (int)countOfPie;
degrees = 360 / countOfPie;
aims = fromFileTable. GetLength (1);
numericUpDown2.Value = aims;
rows = (int)countOfPie;
cols = aims;
//ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΡΠΎΡΠΌΠ΅
CreateTable (rows, cols);
//Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΡΠΎΡΠΌΠ΅
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
dataGridView1.Rows[i]. Cells[j].Value =Convert.ToDouble (fromFileTable[i, j]);
}
}
}
}
//ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅
private void toolStripMenuItem3_Click (object sender, EventArgs e)
{
saveFileDialog1.InitialDirectory = «C:tmp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK)
{
string fileName = saveFileDialog1. FileName;
Writer.WriteTable (fileName, tables);
}
}
//ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ
private void toolStripMenuItem4_Click (object sender, EventArgs e)
{
saveFileDialog1.InitialDirectory = «C:tmp» ;
saveFileDialog1.Filter =
" Bitmap File (*.bmp)|*.bmp|" +
" GIF File (*.gif)|*.gif|" +
" JPEG File (*.jpg)|*.jpg|" +
" TIF File (*.tif)|*.tif|" +
" PNG File (*.png)|*.png" ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK)
{
string fileName = saveFileDialog1. FileName;
// Get the extension
string strFilExtn =
fileName.Remove (0, fileName. Length — 3);
// Save file
switch (strFilExtn)
{
case «bmp» :
bm.Save (fileName, System.Drawing.Imaging.ImageFormat.Bmp);
break;
case «jpg» :
bm.Save (fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
break;
case «gif» :
bm.Save (fileName, System.Drawing.Imaging.ImageFormat.Gif);
break;
case «tif» :
bm.Save (fileName, System.Drawing.Imaging.ImageFormat.Tiff);
break;
case «png» :
bm.Save (fileName, System.Drawing.Imaging.ImageFormat.Png);
break;
default:
break;
}
}
}
}
4. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1) ΠΡΠΈΡΠ΅ΡΠΈΠ΅Π² — 3
ΠΠ±ΡΠ΅ΠΊΡΠΎΠ² — 3
ΠΠ΅ΡΠ°:
0,2 | 0,7 | 0,1 | |
0,1 | 0,2 | 0,7 | |
0,5 | 0,4 | 0,1 | |
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 1 3894,8 315 822 482 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 2 15 347,2689177096 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 3 18 783,224645555 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ 18 783,224645555 Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° № 3
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²Π²Π΅Π΄Π΅Π½Ρ Π²ΡΡΡΠ½ΡΡ.
2) Π§ΠΈΡΠ»ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² — 10;
Π§ΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² — 4.
ΠΠ΅ΡΠ°:
ΠΠ°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°:
0.1000 0.7000 0.1000 0.1000
0.1000 0.2000 0.5000 0.2000
0.3000 0.2000 0.3000 0.2000
0.5000 0.2000 0.1000 0.1000
0.3500 0.3500 0.1500 0.1500
0.8000 0.0500 0.1000 0.0500
0.2000 0.2000 0.2000 0.4000
0.3000 0.3000 0.3000 0.1000
0.2000 0.3000 0.3000 0.2000
0.4000 0.4000 0.1000 0.1000
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 1 16 246,5310901403 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 2 29 733,4839329124 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 3 37 040,5361935496 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° β: 4 40 344,2566305399 Π΅Π΄ΠΈΠ½ΠΈΡ;
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ 40 344,2566305399 Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° № 4
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ°ΡΡΠΈΠ½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡΠ½ΠΎΠΌ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°; Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΡΡΠΈΠ½Π½ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ; ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ²-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²; ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΠΎΠ±ΡΡΠ°ΡΡΠ΅Π΅ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ «ΠΡΡΠ³ΠΎΠ²Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ» Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ «Π’Π΅ΠΎΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ».