ΠΡΠΈΠΌΠ΅Ρ 1:
rate = 7.875
printf(myfile, "The interest rate is: %8.2f\n", rate)
The interest rate is: 7.88
ΠΡΠΈΠΌΠ΅Ρ 2:
name="John Smith"
score=97
printf(1, "%15s, %5d\n", {name, score})
John Smith, 97
ΠΡΠΈΠΌΠ΅Ρ 3:
printf(1, "%-10.4s $ %s", {"ABCDEFGHIJKLMNOP", "XXX"})
ABCD $ XXX
ΠΡΠΈΠΌΠ΅Ρ 4:
printf(1, "%d %e %f %g", 7.75) -- ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π² ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ
7 7.750000e+000 7.750000 7.75
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
sprintf, puts, open
profile
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
profile(i)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΠΎΠΈΡ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ, ΠΏΡΠΎΡΠΈΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ) ΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ i ΡΠ°Π²Π½ΠΎ 1, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΡΡΡ. ΠΡΠ»ΠΈ i ΡΠ°Π²Π½ΠΎ 0, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΎΡΡΡΡ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ "with profile" ("Ρ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ") ΠΈΠ»ΠΈ "with profile_time" ("Ρ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ") ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ profile(0), ΡΡΠΎΠ±Ρ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π·Π°ΡΠ΅ΠΌ profile(1) Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΡΠΈΠΌΠ΅Ρ 1:
with profile_time
profile(0)
...
procedure slow_routine()
profile(1)
...
profile(0)
end procedure
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
trace, profiling, special top-level statements
prompt_number
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include get.e
a = prompt_number(st, s)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. st ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. s ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ΠΎΠΌ, ΡΠΎΡΡΠΎΡΡΠΈΠΌ ΠΈΠ· Π΄Π²ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½ {ΠΌΠ΅Π½ΡΡΠ°Ρ, Π±ΠΎΠ»ΡΡΠ°Ρ}, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Π΅Π»ΠΈΡΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΏΡΠ°Π²Π΅ Π²Π²Π΅ΡΡΠΈ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ. s ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ ΡΡΠ΄ΠΎΠΌ, {}, Π΅ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π΅Ρ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ»ΠΈ Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΠ° ΠΈ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· Π½Π΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 1:
age = prompt_number("Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ Π»Π΅Ρ? ", {0, 150})
ΠΡΠΈΠΌΠ΅Ρ 2:
t = prompt_number("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π¦Π΅Π»ΡΡΠΈΡ:\n", {})
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
get, prompt_string
prompt_string
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include get.e
s = prompt_string(st)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ°. st Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π‘ΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Π²ΡΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΄Π΅ s Π·Π° Π²ΡΡΠ΅ΡΠΎΠΌ Π»ΡΠ±ΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π΄Π΅Ρ control-Z (ΠΌΠ΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°), s ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "" - ΠΏΡΡΡΠΎΠ³ΠΎ ΡΡΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ:
name = prompt_string("ΠΠ°ΠΊ Π²Π°Ρ Π·ΠΎΠ²ΡΡ? ")
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
gets, prompt_number
put_screen_char
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include image.e
put_screen_char(i1, i2, s)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ²ΠΎΠ΄ΠΈΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ. i1 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ, Π° i2 - ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π ΡΠ΄ s Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: {ascii-ΠΊΠΎΠ΄1, Π°ΡΡΠΈΠ±ΡΡ1, ascii-ΠΊΠΎΠ΄2, Π°ΡΡΠΈΠ±ΡΡ2, ...}. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΄Π° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ». ΠΡΠΎΠΌ ascii-ΠΊΠΎΠ΄ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ ASCII ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΡΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²Π΅ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΡΠ²Π΅ΡΠ΅ ΡΠΎΠ½Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ»ΠΈΠ½Π° s Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΡΠ°ΡΠ½Π° 2. ΠΡΠ»ΠΈ s ΠΈΠΌΠ΅Π΅Ρ Π΄Π»ΠΈΠ½Ρ 0, Π½Π° ΡΠΊΡΠ°Π½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ. ΠΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ put_screen_char(), ΡΠ΅ΠΌ ΠΏΠΎΠΎΡΠ΅ΡΡΠ΄Π½ΠΎ Π² ΡΠΈΠΊΠ»Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° Π²ΡΠ·ΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ:
-- Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ AZ Π² Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΠΊΡΠ°Π½Π°
-- (Π°ΡΡΠΈΠ±ΡΡΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ)
put_screen_char(1, 1, {'A', 152, 'Z', 131})
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
get_screen_char, display_text_image
puts
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
puts(fn, x)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ²ΠΎΠ΄ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ fn Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π±Π°ΠΉΡ (Π°ΡΠΎΠΌ) ΠΈΠ»ΠΈ ΡΡΠ΄ Π±Π°ΠΉΡΠΎΠ². ΠΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ»Π°Π΄ΡΠΈΠ΅ 8 Π±ΠΈΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π΅Π»ΠΈΡΠΈΠ½, ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΡΠ»ΠΈ fn - ΡΠΊΡΠ°Π½, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ΅ΠΊΡΡΠ°.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠΎΠ³Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΄ Π±Π°ΠΉΡΠΎΠ², Π²Π½ΡΡΡΠΈ ΡΡΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΠ΄ΠΎΠ². ΠΡΠΎΡ ΡΡΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ ΠΈΠ· Π°ΡΠΎΠΌΠΎΠ². (Π ΡΠΈΠΏΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΄ ΠΊΠΎΠ΄ΠΎΠ² ASCII).
ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π½Π°Π»ΠΈΡΠΈΡ Π½ΡΠ»Π΅ΠΉ ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΠ΄ΠΎΠ², Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄. Π’Π°ΠΊΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ΅ΡΡΠ½.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π±ΡΠ» ΠΎΡΠΊΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, DOS ΠΈ Windows Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡ \n (10) Π½Π° \r\n (13 10). ΠΡΠΊΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ.
ΠΡΠΈΠΌΠ΅Ρ 1:
puts(SCREEN, "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΡ ΠΈΠΌΡ: ")
ΠΡΠΈΠΌΠ΅Ρ 2:
puts(output, 'A') -- Π½Π° Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π°Π½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π±Π°ΠΉΡ 65
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
printf, gets, open
rand
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
x2 = rand(x1)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ΄Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡ 1 Π΄ΠΎ x1, Π³Π΄Π΅ x1 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡ 1 Π΄ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠΈΠΏΠ° integer (1073741823).
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π°ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ:
s = rand({10, 20, 30})
-- s ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ: {5, 17, 23} ΠΈΠ»ΠΈ {9, 3, 12} ΠΈ Ρ.Π΄.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
set_rand
read_bitmap
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include image.e
x = read_bitmap(st)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π§ΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠ΄. st ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ .bmp-ΡΠ°ΠΉΠ»Π° - "Π±ΠΈΡΠΊΠ°ΡΡΡ". Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ bitmap. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠ±ΡΠΈΡ Π²Π°ΡΠΈΠ°ΡΠΈΠΉ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠΈΡΠ°Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ 2-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΡΡΠ΄. ΠΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠ°Π»ΠΈΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ ΡΠ²Π΅ΡΠΎΠ² Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 255. ΠΡΠΎΡΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ 2-Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΡΡΠ΄, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΏΠ°Π»ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ all_palette() (ΠΏΠΎΡΠ»Π΅ Π΄Π΅Π»Π΅Π½ΠΈΡ Π΅Ρ Π½Π° 4 Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ). Π ΡΠ΄ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π°Π½ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ display_image() Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π±ΠΈΡΠΊΠ°ΡΡΡ Ρ 2, 4, 16 ΠΈΠ»ΠΈ 256 ΡΠ²Π΅ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π³ΠΎΠ΄Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΄Π°ΡΡΡΡ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ (atom):
global constant BMP_OPEN_FAILED = 1,
BMP_UNEXPECTED_EOF = 2,
BMP_UNSUPPORTED_FORMAT = 3
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π°ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ bitmap Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Paintbrush ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° Windows ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Euphoria.
ΠΡΠΈΠΌΠ΅Ρ:
x = read_bitmap("c:\\windows\\arcade.bmp")
-- ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΄Π²ΠΎΠΉΠ½Π°Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ° Π² Π°Π΄ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°,
-- ΡΡΠΎΠ±Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»Π° Π²ΡΠ΄Π°Π½Π° ΡΡΠ°ΡΠ½Π°Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½Π°Ρ
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
demo\dos32\bitmap.ex
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
palette, all_palette, display_image, save_bitmap
register_block
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include machine.e (or safe.e)
register_block(a, i)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ (Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ) ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ safe.e (ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ machine.e). ΠΠ»ΠΎΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π°Π΄ΡΠ΅ΡΠ° a. ΠΠ»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ i Π±Π°ΠΉΡΠΎΠ².
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° safe.e ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π±Π»ΠΎΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ peek(), poke(), mem_copy() ΠΈ Ρ.ΠΏ. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅ΠΌΠΈ ΡΡΠ°ΡΡΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π²Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΡΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Euphoria allocate() ΠΈΠ»ΠΈ allocate_low() ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Euphoria free() ΠΈΠ»ΠΈ free_low(). Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠ΅, Π²Π½Π΅ΡΠ½ΠΈΠ΅, ΡΡΠ°ΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π‘ΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ safe.e, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠ½Π°ΡΠ΅ safe.e Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π²Π°ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏΡ ΠΊ Π½ΠΈΠΌ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ unregister_block().
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ machine.e, Ρ Π²Π°Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡ register_block() ΠΈ unregister_block(), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΡΠΌ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΈ Π»ΡΠ³ΠΊΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΌ ΠΈ ΡΡΠ°ΡΠ½ΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΈΠΌΠ΅Ρ :
atom addr
addr = c_func(x, {})
register_block(addr, 5)
poke(addr, "ABCDE")
unregister_block(addr)
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
unregister_block, safe.e
remainder
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
x3 = remainder(x1, x2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ x1 Π½Π° x2. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡ ΠΆΠ΅ Π·Π½Π°ΠΊ, ΡΡΠΎ ΠΈ x1, Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π²Π΅Π»ΠΈΡΠΈΠ½Π° x2.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π°ΡΠΎΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠ΄Π°ΠΌΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΄ΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΡΡΠ΄Π°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ 1:
a = remainder(9, 4)
-- a Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 1
ΠΡΠΈΠΌΠ΅Ρ 2:
s = remainder({81, -3.5, -9, 5.5}, {8, -1.7, 2, -4})