polygon
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°:
DOS32
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include graphics.e
polygon(i1, i2, s)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΡΠ΅ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Ρ 3-ΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π² s, Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΊΡΠ°Π½Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ²Π΅ΡΠ° i1. ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π·Π°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ i2 ΡΠ°Π²Π½ΠΎ 1. ΠΠ΅ Π·Π°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ i2 ΡΠ°Π²Π½ΠΎ 0.
ΠΡΠΈΠΌΠ΅Ρ:
polygon(GREEN, 1, {{100, 100}, {200, 200}, {900, 700}})
-- Π²ΡΡΠ΅ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π·Π΅Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
draw_line, ellipse
position
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
position(i1, i2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΡΡΡΠΎΡ Π½Π° ΡΡΡΠΎΠΊΡ i1, Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ i2, Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΠΊΡΠ°Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ΅ 1, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ 1. Π‘ΠΈΠΌΠ²ΠΎΠ», Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. position() ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΡ Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡΠ° Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠΊΡΠ°Π½Π°.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
position() ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ, ΠΈ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ .
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ². ΠΠΈΠΊΡΠ΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΠΊΡΠ°Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ (x=0,y=0), Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π·Π°Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. Π ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈ ΡΠ΅ΠΊΡΡ, ΠΈ ΠΏΠΈΠΊΡΠ΅Π»Ρ. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° position() ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΡ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ°, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ² ΠΎΠ½Π° Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΡΠΈΠΌΠ΅Ρ:
position(2,1)
-- ΠΊΡΡΡΠΎΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π΅ΡΡ Ρ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
get_position, puts, print, printf
power
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
x3 = power(x1, x2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠΎΠ·Π²ΠΎΠ΄ΠΈΡ x1 Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ x2, Π²ΡΠ΄Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π°ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΡΡΠ΄Ρ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΡΡΠ΄Π°Ρ .
Π‘ΡΠ΅ΠΏΠ΅Π½ΠΈ 2 Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ.
ΠΡΠΈΠΌΠ΅Ρ 1:
? power(5, 2)
-- ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ 25
ΠΡΠΈΠΌΠ΅Ρ 2:
? power({5, 4, 3.5}, {2, 1, -0.5})
-- ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ {25, 4, 0.534522}
ΠΡΠΈΠΌΠ΅Ρ 3:
? power(2, {1, 2, 3, 4})
-- {2, 4, 8, 16}
ΠΡΠΈΠΌΠ΅Ρ 4:
? power({1, 2, 3, 4}, 2)
-- {1, 4, 9, 16}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
log, sqrt
prepend
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
s2 = prepend(s1, x)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ x ΠΊ Π½Π°ΡΠ°Π»Ρ ΡΡΠ΄Π° s1. ΠΠ»ΠΈΠ½Π° s2 Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° length(s1) + 1.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ»ΠΈ x Π°ΡΠΎΠΌ, ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π°Π΅Ρ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ s2 = x & s1. ΠΡΠ»ΠΈ ΠΆΠ΅ x ΡΡΠ΄, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠΌ.
Π‘Π»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° s1 ΠΈ s2 ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ 1:
prepend({1,2,3}, {0,0}) -- {{0,0}, 1, 2, 3}
-- Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΠΎ ΡΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ (ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠ΅ΠΉ):
{0,0} & {1,2,3} -- {0, 0, 1, 2, 3}
ΠΡΠΈΠΌΠ΅Ρ 2:
s = {}
for i = 1 to 10 do
s = prepend(s, i)
end for
-- s Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ {10,9,8,7,6,5,4,3,2,1}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
append, concatenation operator &, sequence-formation operator
pretty_print
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include misc.e
pretty_print(fn, x, s)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ΅ΡΠ°ΡΠ°Π΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ fn ΠΎΠ±ΡΠ΅ΠΊΡ x, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ { , , , }, ΠΎΡΡΡΡΠΏΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° x Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ s.
ΠΠΎΡΡΡΠΏΠ΅Π½ ΡΡΠ΄ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠ΅ΡΠ°ΡΠΈ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ s. ΠΠΎΠ΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ s {}, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ), ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΡΡΠ΄Π° s ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅ (Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ΄Π° s):
[1] ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ASCII:
* 0: Π½ΠΈΠΊΠΎΠ³Π΄Π°
* 1: Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π»ΡΠ±ΡΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ASCII 32..127 (ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ)
* 2: ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ 1, ΠΏΠ»ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ "ΡΡΡΠΎΠΊΡ", ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΡΠ΄Π° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ASCII
* 3: ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ 2, Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ *ΡΠΎΠ»ΡΠΊΠΎ* Π±ΡΠΊΠ²Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ , Π° Π½Π΅ ΡΠΈΡΠ»Π°, Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠ΅Π»ΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ASCII, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΎΠ±Π΅Π»Π°: \t \r \n
[2] ΡΠΈΡΠ»ΠΎ ΠΎΡΡΡΡΠΏΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΄Π° - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: 2
[3] ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ°ΡΡ - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: 1
[4] ΠΎΠ±Π»Π°ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π³Π΄Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΡΠΎΠΊΠΈ - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: 78
[5] ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π»ΡΡ - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: "%d"
[6] ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: "%.10g"
[7] ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ASCII - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: 32
[8] ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ASCII - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ: 127
[9] ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΡΡΡΠΎΠΊ.
ΠΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° s ΠΌΠ΅Π½ΡΡΠ΅ 8, Π²ΡΠ΅ Π½Π΅Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΠ΄Π° Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅, Ρ.Π΅. {0, 5} Π΄Π°ΡΡ "Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ASCII", ΠΏΠ»ΡΡ 5-ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΎΡΡΡΡΠΏ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π±ΡΠ΄ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ½ΡΡΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΊΡΡΡΠΎΡΠ°. ΠΠ±ΡΡΠ½ΠΎ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ°ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ 1, Π½ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ pretty_print(), Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΠΊΡΡΡΠΎΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²Π΅Π΄Ρ ΡΠΈΠΌΠ²ΠΎΠ» '\n' ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ pretty_print(). ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ°ΡΡ Π½Π°ΡΠ°Π»Π°ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ position() ΠΈ Π·Π°Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° [3]. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠΎΠ±ΠΎΠΊ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅.
ΠΠ°Π΄Π°Π²Π°Ρ ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΡΠ΅Π», ΡΠ΅Π»ΡΡ ΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ, Ρ.Π΅. "(%d)" ΠΈΠ»ΠΈ "$ %.2f".
ΠΡΠΈΠΌΠ΅Ρ 1:
pretty_print(1, "ABC", {})
{65'A',66'B',67'C'}
ΠΡΠΈΠΌΠ΅Ρ 2:
pretty_print(1, {{1,2,3}, {4,5,6}}, {})
{
{1,2,3},
{4,5,6}
}
ΠΡΠΈΠΌΠ΅Ρ 3:
pretty_print(1, {"Euphoria", "Programming", "Language"}, {2})
{
"Euphoria",
"Programming",
"Language"
}
ΠΡΠΈΠΌΠ΅Ρ 4:
puts(1, "word_list = ") -- ΠΊΡΡΡΠΎΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ 13
pretty_print(1,
{{"Euphoria", 8, 5.3},
{"Programming", 11, -2.9},
{"Language", 8, 9.8}},
{2, 4, 13, 78, "%03d", "%.3f"}) -- ΠΏΠ΅ΡΠ²ΡΠ΅ 6 ΠΈΠ· 8 ΠΏΠΎΠ΄ΡΠ΅ΠΆΠΈΠΌΠΎΠ²
word_list = {
{
"Euphoria",
008,
5.300
},
{
"Programming",
011,
-2.900
},
{
"Language",
008,
9.800
}
}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
?, print, puts, printf
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
print(fn, x)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ²ΠΎΠ΄ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ fn ΠΎΠ±ΡΠ΅ΠΊΡ x ΡΠΎ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ { , , , }, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ (ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ) Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ 1:
print(1, "ABC") -- Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ: {65, 66, 67}
puts(1, "ABC") -- Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ: ABC
ΠΡΠΈΠΌΠ΅Ρ 2:
print(1, repeat({10,20}, 3))
-- Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ: {{10,20},{10,20},{10,20}}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
?, pretty_print, puts, printf, get
printf
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
printf(fn, st, x)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ²ΠΎΠ΄ΠΈΡ x Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ fn, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠΎΠΊΡ ΡΠΎΡΠΌΠ°ΡΠ° st. ΠΡΠ»ΠΈ x ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ΠΎΠΌ, ΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ· st ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ΄Π° x. ΠΡΠ»ΠΈ x ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΎΠΌΠΎΠΌ, ΡΠΎΠ³Π΄Π° ΠΎΠ±ΡΡΠ½ΠΎ st Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½ ΠΊ x, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½ ΠΊ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ x. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, printf() Π²ΡΠ΅Π³Π΄Π° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠΎΡΠ½ΠΎ 3 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»ΠΈΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ:
%d - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅
%x - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΠ΅ΡΠ°ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ρ.Π΅. -1 Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΠ°ΠΊ FFFFFFFF
%o - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅
%s - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΡΠ΄ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»
%e - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅
%f - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² ΡΠΎΡΠΌΠ΅ Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π° Π½Π΅ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ
%g - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π°ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠΈΡΠ»Π°
%% - ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ» '%'
Π ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Π΅ΠΉ, Ρ.Π΅. %5d, %8.2f, %10.4s. Π§ΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ»Ρ. Π§ΠΈΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π΄Π°ΡΡ ΡΠΈΡΠ»ΠΎ ΡΠΎΡΠ½ΡΡ Π·Π½Π°ΠΊΠΎΠ².
ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ, Ρ.Π΅. %-5d, ΡΠΎΠ³Π΄Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ Π»Π΅Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ»Ρ. ΠΠ±ΡΡΠ½ΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΠΏΡΠ°Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Ρ. ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½ΡΠ»Ρ, Ρ.Π΅. %08d, ΠΏΠΎΠ»Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΏΠ΅ΡΠ΅Π΄ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Ρ Π½ΡΠ»ΡΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌ '+', Ρ.Π΅. %+7d, ΡΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π±ΡΠ΄ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΎ Π·Π½Π°ΠΊΠ° '+'.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΠ±ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
name="John Smith"
printf(1, "%s", name) -- ΠΎΡΠΈΠ±ΠΊΠ°!
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠΌΠ΅Π½ΠΈ, J, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π°. Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΡ ΠΈΠΌΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
name="John Smith"
printf(1, "%s", {name}) -- ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ΄Π°Π½Π½ΡΠΉ Π² printf(), ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΡΡΠ΄ΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ Π²ΡΡ ΡΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΎ.