ΠΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ΅ΡΠΎΠ΄ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ j-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π»ΡΡΡΠ΅ k-ΠΉ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠΌ j-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Ρ ΡΠΆΠ΅ k-ΠΉ, Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ j-Ρ ΠΈ k-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ. ΠΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ³Π»Π°ΡΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° j Π»ΡΡΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ k ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΡΡΡΡ Π·Π°Π΄Π°Π½ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ … Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΅ΡΠΎΠ΄ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ:
Β· ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°
Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ; Π²Π΅ΡΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΡΠ΅ΠΏΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π°, ΡΠ΅Π½Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡ.
Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΌΠ°ΡΡΠΈΡΠ° ΡΠΎΠ³Π»Π°ΡΠΈΡ; ΠΌΠ°ΡΡΠΈΡΠ° Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ; ΡΠ΄ΡΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ
2. ΠΡΠ°ΡΠΊΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
ΠΡΡΡΡ Π·Π°Π΄Π°Π½ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ X. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠ±ΠΎΡΠ° ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ m-ΠΌΠ΅ΡΠ½ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ². ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΎΡΠ΅Π½ΠΎΠΊ, Π° Π²ΡΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΡΡΡ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ x. ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΎΡΠ΅Π½ΠΎΠΊ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ²).
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ X ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Y ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, Ρ. Π΅. ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ — ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡ Π²Π΅ΠΊΡΠΎΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ±ΠΎΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΡΠΈΠ»Π΅Π½ Π²ΡΠ±ΠΎΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΈ Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ Π²Π΅ΠΊΡΠΎΡΠΎΠ², ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΡΡΡΠ΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠ°Π΄Π°ΡΡ Π²ΡΠ±ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ X ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ f, ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (Ρ.Π΅. ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° X ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ f) Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π΄Π²ΡΡ ΡΡΠΎΡΠΎΠ½. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π½Π°Π½ΠΈΠΉ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ). Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅ΡΡΡ Π²ΡΠ΅ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠ΅ ΡΠ΅ΡΡΡ ΠΈ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ, — ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Ρ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π΄Π»Ρ Π΅Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΊ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΠΏΠΏΠ°ΡΠ°Ρ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ°ΠΏ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠΏΡΡΠ°, ΠΈΠ½ΡΡΠΈΡΠΈΠΈ ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ±Π΅ΠΈΡ ΡΡΠΎΡΠΎΠ½. ΠΠ³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠΆΠ΄Π΅ΡΡΠ²ΠΈΡΡ Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ , Ρ ΠΎΡΠΎΡΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ Π»ΡΠ±Π°Ρ Π·Π°Π΄Π°ΡΠ° Π²ΡΠ±ΠΎΡΠ° (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ) ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΠΠ (Π»ΠΈΡΠΎ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅). Π£ΠΆΠ΅ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ Π΄Π΅Π»ΠΎ Π½Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· ΡΠΎΠ²Π΅ΡΠΎΠ², ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΠΠ , ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ»ΡΠΆΠΈΡ. ΠΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΡ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΠΠ . ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎΠ΄Π΅Π»Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ. ΠΠ»Ρ Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ΅Ρ ΡΠ»ΡΡΠ°Π΅Π²:
1) ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ (ΠΠΠ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ Π²ΡΠΎΡΠΎΠΌΡ),
2) ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ (ΠΠΠ Π²ΡΠΎΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ),
3) Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΠΈ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅, Π½ΠΈ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ (ΠΠΠ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄Π²ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ).
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π° ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π·Π΄Π΅ΡΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΠ»ΡΡΠ°Π΅Π², Ρ. Π΅. ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ .
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅ΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ ΡΡΠ°Π²Π½ΠΈΠΌΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ.
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°
Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: Visual Studio 2008 Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: C#
3.1 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ:
1) Program. cs — ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ°ΡΠ΅ΡΠΎ-ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
2) Reader. cs — ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
3) Writer. cs — ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ».
3.2 ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
Π¨Π°Π³ 1. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠ². ΠΠ°Π·Π½Π°ΡΠ°ΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π¨Π°Π³ 2. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠΎΠ³Π»Π°ΡΠΈΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² j ΠΈ k ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΠΈ Π³ΡΡΠΏΠΏΡ:
,.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ j-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π»ΡΡΡΠ΅ k-ΠΉ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠΌ j-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Ρ ΡΠΆΠ΅ k-ΠΉ, Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ j-Ρ ΠΈ k-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ. ΠΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ³Π»Π°ΡΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° j Π»ΡΡΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ k ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
.
ΠΠ΄Π΅ Π± — ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π± Π¨Π°Π³ 3. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ j ΠΈ k ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° j Π»ΡΡΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ k ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
ΠΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π° k-ΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½Π°Π΄ j-ΠΉ ΠΏΠΎ i-ΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° Π² ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ j-ΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ°Π» ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ k-ΠΌΡ ΠΏΠΎ i-ΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΡΠ΅Π½Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΡ Π¨Π°Π³ 4. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΡΠ΅Π» ΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡ ΠΠΠ , Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΡΡΡΠΎΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅: j-Ρ Π°Π»ΡΡΠ΅ΡΠ½ΡΠΈΠ²Π° ΠΏΡΠΈΠ·Π½Π°Π΅ΡΡΡ Π»ΡΡΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ k, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ. Π‘ΡΠ°Π·Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π‘Π»Π΅ΠΉΡΠ΅ΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ j-Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅Ρ k-Ρ Π»ΠΈΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π°, Ρ. Π΅. Π΄Π»Ρ Π²ΡΠ΅Ρ . ΠΡΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ½Π΅Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΡΡΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ², Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΠ-ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ. ΠΠ°Π»Π΅Π΅ ΠΠΠ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π²ΡΠ±ΠΎΡ ΠΠΠ .
3.3 ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
public partial class Form1: Form.
{.
private int countOfVariant;
private int countOfCriterion;
private double p;
private double q;
private double alfa;
private int max = 0;
private double Interval = 0;
private int count1 = 0;
private int count2 = 0;
private int row1;
private int col1;
private static int rows;
private static int cols;
private Double[,] tablesWeight;
private Double[,] tablesCriterionImportance;
private Double[,] tablesIntervalSuperiority;
private Double[,] TableOfAgreementIndex;
private Double[,] TableOfDisagreementIndex;
private String[,] TableofDecisiveRule;
// private Double[,] tablesCriterionImportance;
private double CriterionSumm = 0;
public Form1().
{.
InitializeComponent ();
}.
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠΈΡΠ»Π° ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π°Π»ΡΡΠ°.
private void GetDate ().
{.
countOfVariant = (int)numericUpDown1.Value;
countOfCriterion = (int)numericUpDown2.Value;
alfa = Convert. ToDouble (comboBox1.Text);
}.
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²Π΅ΡΠΎΠ² ΠΈΠ· ΡΠΎΡΠΌΡ.
private void createTableOfWeightFromForm ().
{.
tablesWeight = new double[rows, cols];
for (int i = 0; i < rows; i++).
{.
for (int j = 0; j < cols; j++).
{.
tablesWeight[i, j] = Convert. ToDouble (dataGridView1.Rows[i]. Cells[j].Value);
}.
}.
}.
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΡΠΈΡΠ»Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π°.
//ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Ρ ΡΡΠΎΠ²Π½Ρ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ.
private void createTableOfCriterionImportanceFromForm ().
{.
tablesCriterionImportance = new double[cols, 3];
for (int i = 0; i < cols; i++).
{.
tablesCriterionImportance[i, 0] = Convert. ToDouble (dataGridView5.Rows[i]. Cells[0].Value);
CriterionSumm += tablesCriterionImportance[i, 0];
//textBox1.AppendText (CriterionSumm.ToString ());
}.
}.
//ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π° ΠΈΠ· ΡΠΎΡΠΌΡ.
private void createTableOfIntervalSuperiorityFromForm ().
{.
tablesIntervalSuperiority = new double[cols, (max + 1)];
for (int i = 0; i < cols; i++).
{.
for (int j = 0; j < (max + 1); j++).
tablesIntervalSuperiority[i, j] = Convert. ToDouble (dataGridView6.Rows[i]. Cells[j].Value);
}.
}.
//ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²Π΅ΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅.
private void CreateTableOfWeightOnForm (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 CreateTableOfCriterionImportanceOnForm (int row).
{.
int _row = row;
int _col = 3;
dataGridView5.ColumnCount = _col;
dataGridView5.RowHeadersVisible = false;
dataGridView5.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;
dataGridView5.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;
dataGridView5.RowCount = _row;
}.
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΄ΡΠ° ΠΈΠ· ΡΠΎΡΠΌΡ.
private void CreateTableofDecisiveRuleFromForm ().
{.
TableofDecisiveRule = new string[rows, 1];
for (int i = 0; i < rows; i++).
{.
TableofDecisiveRule[i, 0] = dataGridView4. Rows[i]. Cells[0].Value.ToString ();
}.
}.
private void button1_Click (object sender, EventArgs e).
{.
GetDate ();
rows = (int)countOfVariant;
cols = (int)countOfCriterion;
CreateTableOfWeightOnForm (rows, cols);
CreateTableOfCriterionImportanceOnForm (cols);
}.
//Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π°.
private void IntervalSuperiority (int row).
{.
for (int i = 0; i < cols; i++).
{.
if (max < Convert. ToDouble (dataGridView5.Rows[i]. Cells[1].Value)).
{.
max = Convert. ToInt16(dataGridView5.Rows[i]. Cells[1].Value);
}.
}.
int _row = row;
int _col = (max + 1);
dataGridView6.ColumnCount = _col;
dataGridView6.RowHeadersVisible = false;
dataGridView6.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;
dataGridView6.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;
dataGridView6.RowCount = _row;
}.
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΠΎΠ³Π»Π°ΡΠΈΡ.
private void GetTableOfAgreementIndex (int row, int col).
{.
double IPlus = 0;
double IMinus = 0;
double IZero = 0;
int _row = row;
int _col = col;
dataGridView2.ColumnCount = _col;
dataGridView2.RowHeadersVisible = false;
dataGridView2.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;
dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;
dataGridView2.RowCount = _row;
TableOfAgreementIndex = new double[rows, rows];
for (int i = 0; i < rows; i++).
{.
for (int j = 0; j < rows; j++).
{.
if (i == j).
{.
TableOfAgreementIndex[i, j] = 0;
}.
else.
{.
IPlus = 0;
IMinus = 0;
IZero = 0;
for (int k = 0; k < cols; k++).
{.
if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[k].Value) > Convert. ToDouble (dataGridView1.Rows[j]. Cells[k].Value)).
{.
IPlus += Convert. ToDouble (dataGridView5.Rows[k]. Cells[0].Value);
}.
else if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[k].Value) == Convert. ToDouble (dataGridView1.Rows[j]. Cells[k].Value)).
{.
IZero += Convert. ToDouble (dataGridView5.Rows[k]. Cells[0].Value);
}.
else.
{.
IMinus += Convert. ToDouble (dataGridView5.Rows[k]. Cells[0].Value);
}.
}.
TableOfAgreementIndex[i, j] = (IPlus + alfa * IZero) / (CriterionSumm);
}.
dataGridView2.Rows[i]. Cells[j].Value = TableOfAgreementIndex[i, j];
}.
}.
}.
ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ.
private void GetTableOfDisagreementIndex (int row, int col).
{.
Double[,] count;
int _row = row;
int _col = col;
dataGridView3.ColumnCount = _col;
dataGridView3.RowHeadersVisible = false;
dataGridView3.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;
dataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;
dataGridView3.RowCount = _row;
count = new double[cols, 2];
TableOfDisagreementIndex = new double[rows, rows];
for (int i = 0; i < rows; i++).
{.
for (int j = 0; j < rows; j++).
{.
if (i == j).
{.
TableOfDisagreementIndex[i, j] = 0;
}.
else.
{.
Interval = 0;
for (int k = 0; k < cols; k++).
{.
count[k, 0] = 0;
count[k, 1] = 0;
count1 = 0;
count2 = 0;
for (int m = 0; m < (Convert.ToInt32(dataGridView5.Rows[k]. Cells[1].Value) + 1); m++).
{.
if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[k].Value) > Convert. ToDouble (dataGridView6.Rows[k]. Cells[m].Value)).
{.
count1 += 1;
}.
else.
{.
count1 = count1;
}.
if (Convert.ToDouble (dataGridView1.Rows[j]. Cells[k].Value) > Convert. ToDouble (dataGridView6.Rows[k]. Cells[m].Value)).
{.
count2 += 1;
}.
else.
{.
count2 = count2;
}.
/* textBox1. AppendText (««);
textBox1.AppendText (count1.ToString ());
textBox1.AppendText (««);
textBox1.AppendText (count2.ToString ());
//textBox1.AppendText (««);
//textBox1.AppendText (dataGridView1.Rows[i]. Cells[k].Value.ToString ());*/.
}.
count[k, 0] = count1;
count[k, 1] = count2;
if (count[k, 0] < count[k, 1]).
{.
Interval += (count[k, 1] - count[k, 0]) * (Convert.ToDouble (dataGridView5.Rows[k]. Cells[2].Value));
}.
else.
{.
Interval = Interval;
}.
TableOfDisagreementIndex[i, j] = Interval/100;
textBox1.AppendText (««);
textBox1.AppendText (Interval.ToString ());
}.
}.
dataGridView3.Rows[i]. Cells[j].Value = TableOfDisagreementIndex[i, j];
}.
}.
}.
ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² p ΠΈ q.
private void GetParametrsForDecisiveRule ().
{.
p = Convert. ToDouble (numericUpDown3.Value);
q = Convert. ToDouble (numericUpDown4.Value);
}.
//ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°.
private void GetDecisiveRule (int row, int col).
{.
bool flag = false;
int count = 0;
int countOfq = 0;
int countOfp = 0;
int _row = row;
int _col = col;
dataGridView4.ColumnCount = _col;
dataGridView4.RowHeadersVisible = false;
dataGridView4.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;
dataGridView4.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;
dataGridView4.RowCount = _row;
for (int i = 0; i < rows; i++).
{.
count = 0;
countOfq = 0;
countOfp = 0;
for (int j = 0; j < cols; j++).
{.
count += 1;
if (i ≠ j).
{.
if (Convert.ToInt32(dataGridView3.Rows[i]. Cells[j].Value) < q).
{.
countOfq += 1;
if (Convert.ToInt32(dataGridView2.Rows[i]. Cells[j].Value) < p).
{.
countOfp += 1;
}.
else.
{.
if ((count == cols) & (countOfp == 0)).
{.
flag = true;
}.
}.
}.
else.
{.
if ((count == cols) & (countOfq == 0)).
{.
flag = true;
}.
}.
}.
}.
dataGridView4.Rows[i]. Cells[0].Value = flag;
}.
}.
private void button2_Click (object sender, EventArgs e).
{.
createTableOfCriterionImportanceFromForm ();
createTableOfWeightFromForm ();
GetTableOfAgreementIndex (rows, rows);
}.
private void button3_Click (object sender, EventArgs e).
{.
GetTableOfDisagreementIndex (rows, rows);
}.
private void Π·Π°ΠΊΡΡΡΡToolStripMenuItem_Click (object sender, EventArgs e).
{.
Close ();
}.
private void button6_Click (object sender, EventArgs e).
{.
IntervalSuperiority (cols);
}.
private void button5_Click (object sender, EventArgs e).
{.
GetDecisiveRule (rows, 1);
CreateTableofDecisiveRuleFromForm ();
}.
private void button4_Click (object sender, EventArgs e).
{.
GetParametrsForDecisiveRule ();
}.
//Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ Π²Π΅ΡΠΎΠ².
private void button8_Click (object sender, EventArgs e).
{.
string FN;
if (openFileDialog1.ShowDialog () == DialogResult. OK).
{.
openFileDialog1.InitialDirectory = «G:temp» ;
openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
FN = openFileDialog1. FileName;
Reader My = new Reader (FN);
My.ReadTable (out tablesWeight, out rows, out cols);
alfa = Convert. ToDouble (comboBox1.Text);
CreateTableOfWeightOnForm (rows, cols);
for (int i = 0; i < rows; i++).
{.
for (int j = 0; j < cols; j++).
{.
dataGridView1.Rows[i]. Cells[j].Value = tablesWeight[i, j];
}.
}.
}.
}.
// ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²Π΅ΡΠΎΠ².
private void button7_Click (object sender, EventArgs e).
{.
string FN;
saveFileDialog1.InitialDirectory = «G:temp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
FN = saveFileDialog1. FileName;
Writer.WriteTable (FN, tablesWeight);
}.
}.
// Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π²Π°ΠΆΠ½ΠΎΡΡΠΈ.
private void button9_Click (object sender, EventArgs e).
{.
string FN;
if (openFileDialog1.ShowDialog () == DialogResult. OK).
{.
openFileDialog1.InitialDirectory = «G:temp» ;
openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
FN = openFileDialog1. FileName;
Reader My = new Reader (FN);
My.ReadTable (out tablesCriterionImportance, out row1, out col1);
alfa = Convert. ToDouble (comboBox1.Text);
CreateTableOfCriterionImportanceOnForm (row1);
for (int i = 0; i < row1; i++).
{.
for (int j = 0; j < col1; j++).
{.
dataGridView5.Rows[i]. Cells[j].Value = tablesCriterionImportance[i, j];
}.
}.
}.
}.
// Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π°.
private void button11_Click (object sender, EventArgs e).
{.
string FN;
if (openFileDialog1.ShowDialog () == DialogResult. OK).
{.
openFileDialog1.InitialDirectory = «G:temp» ;
openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
FN = openFileDialog1. FileName;
Reader My = new Reader (FN);
My.ReadTable (out tablesIntervalSuperiority, out row1, out col1);
alfa = Convert. ToDouble (comboBox1.Text);
IntervalSuperiority (row1);
for (int i = 0; i < row1; i++).
{.
for (int j = 0; j < col1; j++).
{.
dataGridView6.Rows[i]. Cells[j].Value = tablesIntervalSuperiority[i, j];
}.
}.
}.
}.
//ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π²Π°ΠΆΠ½ΠΎΡΡΠΈ.
private void button10_Click (object sender, EventArgs e).
{.
string FN;
saveFileDialog1.InitialDirectory = «G:temp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
FN = saveFileDialog1. FileName;
Writer.WriteTable (FN, tablesCriterionImportance);
}.
}.
// ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π°.
private void button12_Click (object sender, EventArgs e).
{.
string FN;
saveFileDialog1.InitialDirectory = «G:temp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
FN = saveFileDialog1. FileName;
Writer.WriteTable (FN, tablesIntervalSuperiority);
}.
}.
// ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΠΎΠ³Π»Π°ΡΠΈΡ.
private void button13_Click (object sender, EventArgs e).
{.
string FN;
saveFileDialog1.InitialDirectory = «G:temp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
FN = saveFileDialog1. FileName;
Writer.WriteTable (FN, TableOfAgreementIndex);
}.
}.
//ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ.
private void button14_Click (object sender, EventArgs e).
{.
string FN;
saveFileDialog1.InitialDirectory = «G:temp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
FN = saveFileDialog1. FileName;
Writer.WriteTable (FN, TableOfDisagreementIndex);
}.
}.
//ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΄ΡΠ°.
private void button15_Click (object sender, EventArgs e).
{.
string FN;
saveFileDialog1.InitialDirectory = «G:temp» ;
saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
FN = saveFileDialog1. FileName;
Writer.WriteTableOfRule (FN, TableofDecisiveRule);
}.
}.
}.
class Reader.
{.
private string fileName;
private string[] inputTxt;
private double[,] matrix;
private int row;
private int col;
private System.Globalization.NumberFormatInfo numberFormat;
public Reader (string Name).
{.
fileName = Name;
}.
public void ReadTable (out double[,] table, out int rows, out int cols).
{.
numberFormat = new System.Globalization.NumberFormatInfo ();
numberFormat.CurrencyDecimalSeparator = «.» ;
string[] output = File. ReadAllLines (fileName);
string[] aloneString = output[0]. Split (new char[] { ' ' });
//double[,] temp = new double[output.Length, aloneString. Length];
table = new double[output.Length, aloneString. Length];
rows = output. Length;
cols = aloneString. Length;
for (int i = 0; i < aloneString. Length; i++).
{.
table[0, i] = double. Parse (aloneString[i], numberFormat);
}.
for (int i = 1; i < output. Length; i++).
{.
aloneString = output[i]. Split (new char[] { ' ' });
for (int j = 0; j < aloneString. Length; j++).
{.
table[i, j] = double. Parse (aloneString[j], numberFormat);
}.
}.
}.
}.
class Writer.
{.
private static string fileName;
private static string[] outputTxt;
private static double[,] matrix;
private static string[,] matrix1;
private static int row;
private static int col;
private static System.Globalization.NumberFormatInfo numberFormat;
public static void WriteTable (string nameFile, double[,] table).
{.
Writer.fileName = nameFile;
Writer.matrix = table;
if (Writer.matrix ≠ null).
{.
row = matrix. GetLength (0);
col = matrix. GetLength (1);
outputTxt = new string[row];
for (int i = 0; i < row; i++).
{.
for (int j = 0; j < col; j++).
{.
outputTxt[i] += matrix[i, j]. ToString ();
if (j ≠ (col — 1)).
outputTxt[i] += ««;
}.
}.
File.WriteAllLines (nameFile, outputTxt);
}.
}.
public static void WriteTableOfRule (string nameFile, string[,] table).
{.
Writer.fileName = nameFile;
Writer.matrix1 = table;
if (Writer.matrix1 ≠ null).
{.
row = matrix1. GetLength (0);
col = matrix1. GetLength (1);
outputTxt = new string[row];
for (int i = 0; i < row; i++).
{.
for (int j = 0; j < col; j++).
{.
outputTxt[i] += matrix1[i, j];
if (j ≠ (col — 1)).
outputTxt[i] += ««;
}.
}.
File.WriteAllLines (nameFile, outputTxt);
}.
}.
}.
4. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4.1 ΠΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°
1) Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠΆΠ΅ Π·Π°Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Ρ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ:
Π ΠΈΡ ΠΠ°ΠΉΠ΄Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠΈΡ:
Π ΠΈΡ ΠΠ°ΠΉΠ΄Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ:
Π ΠΈΡ ΠΠ°ΠΉΠ΄Π΅ΠΌ ΡΠ΄ΡΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ:
Π ΠΈΡ.
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ.
ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΠΎΠ±ΡΡΠ°ΡΡΠ΅Π΅ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ «ΠΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΅ΡΠΎΠ΄ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ» Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ «Π’Π΅ΠΎΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ».
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
1. Π. Π ΠΠΎΡΠΎΠ², Π. Π. ΠΠΎΡΠΏΠ΅Π»ΠΎΠ²Π° ΠΠ½ΠΎΠ³ΠΎΠΊΡΠΈΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅.- Π.: ΠΠΠΠ‘ ΠΡΠ΅ΡΡ, 2008. — 197 Ρ.