ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ°
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ° RECTANGLE, ΠΊΠΎΡΠΎΡΡΠΉ Π³ΠΎΠ²ΠΎΡΠΈΠ» Π±Ρ, ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΡΠΎΡΠΎΠ½ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΡΠ°Π²Π½ΠΎ ΡΠ΅ΡΡΡΠ΅ΠΌ ΠΈ ΡΡΠΎ Π΄Π»ΠΈΠ½Ρ ΡΡΠΎΡΠΎΠ½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π²Π½Ρ side1, side2, side1 ΠΈ side2.
Π£ ΠΊΠ»Π°ΡΡΠ° POLYGON ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈ ΠΊ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΡ:
ΠΡΠ°Π²ΠΈΠ»ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ°
ΠΠ½Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈΠ· Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° invariant ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ (Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ).
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ, ΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ: Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠΎΠ².
ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ B Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ A - ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ B ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ A. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΠ΅ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ A, Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΈ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ B.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (at_least_three) ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ° POLYGON ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΡΠΎΡΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ΅Ρ , ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ four_sides ΠΈΠ· ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΊΠ»Π°ΡΡΠ° RECTANGLE, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΎΠ½ Π±ΡΠ»ΠΎ ΡΠΎΠ²Π½ΠΎ ΡΠ΅ΡΡΡΠ΅.
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ
Π Π°Π½Π΅Π΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ) Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° POLYGON ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄
make_polygon (vl: LINKED_LIST [POINT]) is
-- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠ½Π°ΠΌ ΠΈΠ· vl.
require
vl.count >= 3
do
...ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈΠ· vl ...
ensure
-- vertices ΠΈ vl ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ
ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ)
end
ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π±Π΅ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
ΠΠΉ Π΄Π°Π½ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ make_polygon, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΠΌΠ΅Π½ ΠΏΡΠΈ Π΅Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠΌ RECTANGLE, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ make. ΠΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° POLYGON ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ make, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° RECTANGLE, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΡ ΠΈΠΌΠ΅Π½.ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° RECTANGLE ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΡΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΡΠΎΡΠΊΡ, ΡΠ»ΡΠΆΠ°ΡΡΡ ΡΠ΅Π½ΡΡΠΎΠΌ, Π΄Π»ΠΈΠ½Ρ Π΄Π²ΡΡ ΡΡΠΎΡΠΎΠ½ ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ vertices ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»Ρ RECTANGLE ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΡΠΈΠ½ vertices (ΡΠ΅ΡΡΡΠ΅ ΡΠ³Π»Π° Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ, Π΄Π»ΠΈΠ½Π°ΠΌ ΡΡΠΎΡΠΎΠ½ ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ).
ΠΠ±ΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π½Π΅ ΡΠ΄ΠΎΠ±Π½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° RECTANGLE. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π΅ Π³ΠΎΠ΄ΠΈΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ². ΠΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ Π΄Π΅Π»ΠΎ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°. ΠΠ΅Π»ΡΠ·Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠΌΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° ΠΈΠΌΠ΅ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΡΡΡΠ΄Π° ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ:
ΠΡΠ°Π²ΠΈΠ»ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°
ΠΡΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ.
ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. ΠΡΠΈΠΌ ΡΡΠ°ΡΡΡΠΎΠΌ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ creation Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π΄Π»Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°. Π’ΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ creation:
class B inherit
A
creation
make
feature
...
Π³Π΄Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° make Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° A, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Π° Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ creation.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ
Π ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ POLYGON-RECTANGLE Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠΈΠΏΠΎΠ² Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ.
Π ΠΈΡ. 14.2. ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠΈΠ³ΡΡ
Π€ΠΈΠ³ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π·Π°ΠΌΠΊΠ½ΡΡΡΠ΅ ΠΈ Π½Π΅Π·Π°ΠΌΠΊΠ½ΡΡΡΠ΅. ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π·Π°ΠΌΠΊΠ½ΡΡΠΎΠΉ ΡΠΈΠ³ΡΡΡ ΠΊΡΠΎΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π»ΠΈΠΏΡ, Π° ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»Π»ΠΈΠΏΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΡΠ³.
Π ΡΠ΄ΠΎΠΌ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΠΈΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π‘ΠΈΠΌΠ²ΠΎΠ» "++" ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ "ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ", Π° ΡΠΈΠΌΠ²ΠΎΠ»Ρ "+" ΠΈ "*" Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½Ρ Π΄Π°Π»Π΅Π΅.
Π Π°Π½Π΅Π΅ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ RECTANGLE Π±ΡΠ» Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° POLYGON. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠΈΡΠ»Π΅ Π²Π΅ΡΡΠΈΠ½, ΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ Π²Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ QUADRANGLE Π΄Π»Ρ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΡΠΎΠ²Π½Π΅, ΡΡΠΎ ΠΈ ΠΊΠ»Π°ΡΡΡ TRIANGLE, PENTAGON ΠΈ Ρ. ΠΏ. Π’ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ diagonal (Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° QUADRANGLE.
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ SQUARE, Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ ΠΊΠ»Π°ΡΡΠ° RECTANGLE, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ side1 = side2. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Ρ ΡΠ»Π»ΠΈΠΏΡΠ° ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π²Π° ΡΠΎΠΊΡΡΠ°, Π° Ρ ΠΊΡΡΠ³Π° ΠΎΠ½ΠΈ ΡΠ»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ° CIRCLE: equal (focus1 = focus2).
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
ΠΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΠΎΡ ΡΠ°Π½ΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ: ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ - ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΠ, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠΉ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°.
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅
"ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ" ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΠΌΠΈ. Π ΠΠ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΠΌΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ (ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ), ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²Π²Π΅ΡΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ:
p: POLYGON; r: RECTANGLE; t: TRIANGLE
Π’ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ:
p := r
p := t
ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΡΡΠ½ΠΎΡΡΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΈ ΡΡΡΠ½ΠΎΡΡΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ - Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ.
Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΏ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° (ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ) ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΎΡ ΡΠΈΠΏΠ° ΡΠ΅Π»ΠΈ (Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ), Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ. Π‘ΡΡΠ½ΠΎΡΡΡ, Π²Ρ ΠΎΠ΄ΡΡΠ°Ρ Π² ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅Π²Π° (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ p), ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΡΡ.
ΠΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΌΠΎΠ½ΠΎΠΌΠΎΡΡΠ½ΡΠΌΠΈ (Π½Π΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΌΠΈ): ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΡΠΎΡΠΊΡ ΡΠΎΡΠΊΠ΅, ΠΊΠ½ΠΈΠ³Ρ ΠΊΠ½ΠΈΠ³Π΅, ΡΡΠ΅Ρ ΡΡΠ΅ΡΡ. Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΡΠΊΡΡΡΠ° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° RECTANGLE ΠΈΠ»ΠΈ TRIANGLE ΠΊΠ°ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° POLYGON. ΠΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ Ρ ΡΠΈΠΏΠΎΠΌ ΡΠ΅Π»ΠΈ. Π ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, Ρ.Π΅. Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ r := p. ΠΡΠΊΠΎΡΠ΅ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΡΠΎΠΌΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π²ΡΠ·ΠΎΠ²Π°Ρ Π²ΠΈΠ΄Π° f (r) ΠΈΠ»ΠΈ f (t) ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° f Π² Π²ΠΈΠ΄Π΅:
f (p: POLYGON) is do ... end
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, ΠΈ ΠΎΠ±Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ (attachment). ΠΠΎΠ³Π΄Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈ ΡΠ΅Π»Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ, ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΠΎΠΌ (polymorphic) ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ.
Π§ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΠΎΠΌ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ?
ΠΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ ΡΡΡΠ»ΠΎΠΊ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ p, r ΠΈ t ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ p := r ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ.