Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Euphoria
Π§Π°ΡΡΡ I - Π―Π΄ΡΠΎ ΡΠ·ΡΠΊΠ°
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Euphoria ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠ΅ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ:
* ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅, Π³ΠΈΠ±ΠΊΠΎΠ΅ ΠΈ ΠΌΠΎΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
* Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ, Π½Π΅ Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π·Π°Π±ΠΎΡ ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΈΡ ΠΈ Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ±ΡΠ΅ΠΊΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ΄Π° (ΠΌΠ°ΡΡΠΈΠ²Π°) Euphoria.
* ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π² 30 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ ΠΎΠ±ΡΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ Perl ΠΈΠ»ΠΈ Python.
* ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ Ρ Euphoria Π½Π° Π‘ΠΈ, Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π³ΠΎΠ½ΡΡΡΠΈΠΉ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΡΡΠΎ ΠΎΡ 2-Ρ Π΄ΠΎ 5-ΡΠΈ ΡΠ°Π· ΠΏΡΠΈΠ±Π°Π²Π»ΡΡ Π΅ΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΈ Π±Π΅Π· ΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎ Π±ΡΡΡΡΡΠΌ.
* ΡΠΈΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π²Π½Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½Π΅Π²Π΅ΡΠ½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈ Ρ.ΠΏ. ΠΠ΄Π΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π±ΡΠ²Π°Π΅Ρ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ -- Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Ρ ΠΏΡΠΎΠ³ΠΎΠ½Π°, ΠΏΠ»ΡΡ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΡΡΡΡΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΠΊΠΎΠ½Π°Π»ΡΠ½ΠΎ.
* Π²Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π½Π°ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΡΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½ Π½Π° Π±ΠΈΡΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π±Π°ΠΉΡΠΎΠ² ΠΈ Ρ.Π΄. ΠΈ Ρ.ΠΏ.
* Π² ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Ρ ΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π°Π²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ°. ΠΡΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Euphoria, ΠΈ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΌ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ.
* ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Linux, FreeBSD, 32-Π±ΠΈΡΠ½ΠΎΠΉ Windows ΠΈ DOS Π»ΡΠ±ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π½Π΅ ΠΈΠΌΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΏΡΠ΅ΡΠ»ΠΎΠ²ΡΡΡΡ 640K. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΏΠ»ΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠ°ΠΌΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
* Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ².
* ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Ρ. ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΡΡΡ Π½ΠΈΠΆΠ΅, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΡΡΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° : ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΡΡΡΠΎΠΊΠΈ ΠΈ Ρ.Π΄. ΠΡΠΈ ΡΡΠΎΠΌ Euphoria Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ" ΡΠ·ΡΠΊΠΎΠΌ, Π° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ ΠΏΡΡΡΠΌ.
* ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Euphoria ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π° ΠΈ ΠΎΡΠΊΡΡΡΠ°.
1.1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria.
~~~~~~~~~~~
sequence list, sorted_list
function merge_sort(sequence x)
-- ΡΠΎΡΡΠΈΡΡΠ΅Ρ x Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ
integer n, mid
sequence merged, a, b
n = length(x)
if n = 0 or n = 1 then
return x -- ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ
end if
mid = floor(n/2)
a = merge_sort(x[1..mid]) -- ΡΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° x
b = merge_sort(x[mid+1..n]) -- ΡΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π²ΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° x
-- ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄Π²ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΊ
merged = {}
while length(a) 0 and length(b) 0 do
if compare(a[1], b[1]) then
merged = append(merged, a[1])
a = a[2..length(a)]
else
merged = append(merged, b[1])
b = b[2..length(b)]
end if
end while
return merged & a & b -- ΡΠ»ΠΈΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ»ΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ
end function
procedure print_sorted_list()
-- Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ sorted_list ΠΈΠ· list
list = {9, 10, 3, 1, 4, 5, 8, 7, 6, 2}
sorted_list = merge_sort(list)
? sorted_list
end procedure
print_sorted_list() -- ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
~~~~~~~~~~~
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 4 ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΅ΡΠ²Π°Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: list ΠΈ sorted_list ΠΊΠ°ΠΊ ΡΡΠ΄Ρ (sequence) (Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ). ΠΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ merge_sort(). Π’ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ print_sorted_list(). Π§Π΅ΡΠ²ΡΡΡΠ°Ρ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ print_sorted_list() Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅:
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
merge_sort() ΡΠ°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡΠΎΡΡΠΈΡΡΠ΅Ρ {1.5, -9, 1e6, 100} ΠΈΠ»ΠΈ {"oranges", "apples", "bananas"} .
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Euphoria -- euphoria\tutorial\example.ex . ΠΡΠΎ Π½Π΅ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² Euphoria. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ -- euphoria\demo -- ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "ex allsorts", ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Ρ ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΠ°ΠΆ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΠΈ ΡΠΈΡΠ»Π° ΡΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΡΡΡΡΠΉ ΡΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Euphoria Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΉΡΠΈ Π² -- euphoria\demo\bench\filesort.ex .
1.2 Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Euphoria Π½Π° ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ install_r.doc . Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΡΡΠΎΠΌ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² euphoria Π½Π° Π²Π°Ρ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ) Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "euphoria", ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° autoexec.bat Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠ°ΡΡΡΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ euphoria\bin Π² ΠΏΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ EUDIR ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ euphoria.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ euphoria Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
\euphoria readme.doc readme.htm License.txt \bin ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ex.exe ΠΈ exw.exe. Π’ΡΠ°Π½ΡΠ»ΡΡΠΎΡΡ ec.exe ΠΈ ecw.exe. ΠΠ»ΠΈ Π½Π° Linux/FreeBSD, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ exu ΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ ecu. ΠΠ΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ed.bat, guru.bat ΠΈ Ρ.Π΄. \include ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Ρ.Π΅. graphics.e ΠΈ Ρ.ΠΏ. \source ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ (ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, Π±ΠΈΠ½Π΄Π΅Ρ) \doc refman.doc, library.doc ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ \html ΡΠ°ΠΉΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° HTML, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² .doc Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ doc \tutorial Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Euphoria \demo ΠΎΠ±ΡΠΈΠ΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ \dos32 Π΄Π΅ΠΌΠΎ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ DOS32 (ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ) \win32 Π΄Π΅ΠΌΠΎ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ WIN32 (ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ) \linux Π΄Π΅ΠΌΠΎ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Linux/FreeBSD (ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ) \langwar ΠΈΠ³ΡΠ° language war (ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ DOS ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Linux/FreeBSD) \bench ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Linux Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ DOS/Windows, Π° dos32 ΠΈ win32 ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Linux/FreeBSD. Π Π΄Π°Π½Π½ΠΎΠΌ Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ. ( \ ). ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Linux/FreeBSD Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ°( / ).
1.3 ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ex , exw ΠΈΠ»ΠΈ exu , ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠΉ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ Π·Π΄Π΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²Π° (ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ). ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ command_line(), ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ Π²ΡΡ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ΅ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Euphoria Π΄Π»Ρ DOS32 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ex.exe . ΠΠ΅ΡΡΠΈΡ Π΄Π»Ρ WIN32 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ exw.exe . ΠΠ΅ΡΡΠΈΡ Π΄Π»Ρ Linux/FreeBSD Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ exu . ΠΠ°ΠΊ ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ½ΡΡΠΎ, Π³Π»Π°Π²Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Euphoria ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ .ex , .exw ΠΈΠ»ΠΈ .exu . ΠΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Euphoria, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π³Π»Π°Π²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ .e ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° .ew ΠΈΠ»ΠΈ .eu . Π§ΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΠΊΠ°ΡΡ ".ex", ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ex Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. exw.exe Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ".exw", Π° exu -- ".exu". ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ Π½Π°ΡΡΠ»ΡΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ»Π° Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, Π½Π΅Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ PATH (ΡΠ½Π°ΡΠ°Π»Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ).
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²Π²ΠΎΠ΄ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ex filesort.ex sorted.txt
ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ,
ex filesort sorted.txt
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π·Π΄Π΅ΡΡ Π½Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ex , exw ΠΈΠ»ΠΈ exu . ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΈΠΌΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Euphoria, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΡΠΎ ΠΈΠΌΡ, ΠΎΠ½ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡ Π²Π°Ρ ΠΊ Π΅Π³ΠΎ Π²Π²ΠΎΠ΄Ρ.