Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования Euphoria. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 31

Автор W Cat

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


Бинтаксис:

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(), являСтся одноэлСмСнтным рядом, содСрТащим всё Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.