var a1 := new A();
p := a1.PrintNext;
for var i:=1 to 10 do
p;
// 1 2 4 8 16 32 64 128 256 512
end.
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°Ρ Π²Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
begin
var x0 := 1;
var p: Action0 := procedure -> begin Print(x0); x0 *= 2 end;
for var i:=1 to 10 do
p;
end.
Π€Π°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ
Π€Π°ΠΉΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. Π PascalABC.NET ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ² - Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅. Π’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ #13#10 (Windows) ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ #10 (Linux). ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ NewLine. ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ Π±Π΅ΡΡΠΈΠΏΠΎΠ²ΡΠ΅.
ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠΈΠΏΠ° text, Π±Π΅ΡΡΠΈΠΏΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ file, Π° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ file of ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
var
f1: file of real;
f2: text;
f3: file;
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΡΡΠ»ΠΎΡΠ½ΡΠ΅ ΡΠΈΠΏΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ Π·Π°ΠΏΠΈΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΡΠ»ΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΏΡΠ½ΠΊΡΠ΅ ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² .NET ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΠ΄ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΠΈΠΏΠΎΠ²
ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠΈΠΏΡ T1 ΠΈ T2 ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ Π»ΠΈΠ±ΠΎ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ΅ΠΊΡΠΈΠΈ type Π² Π²ΠΈΠ΄Π΅ T1 = T2. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΡ
type
IntArray = array [1..10] of integer;
IntArrayCopy = IntArray;
var
a1: IntArray;
a2: IntArrayCopy;
b1,c1: array [1..15] of integer;
b2: array [1..15] of integer;
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ a1 ΠΈ a2 ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ b1 ΠΈ c1 ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ b1 ΠΈ b2 - ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ.
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ²ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠΈΠΏΡ T1 ΠΈ T2 ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
* T1 ΠΈ T2 ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ
* T1 ΠΈ T2 - Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
* T1 ΠΈ T2 - ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ
* T1 ΠΈ T2 - ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ
* T1 ΠΈ T2 - ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΈ ΡΠΈΠΏΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ - Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ)
ΠΡΠ»ΠΈ ΡΠΈΠΏΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠ»ΠΈ ΡΠΈΠΏΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² PascalABC.NET ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ², ΠΊΡΠΎΠΌΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ², ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ².
Π’ΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠΈΠΏΡ T1 ΠΈ T2 ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° T1 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° T2.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΠΈΠΏΠΎΠ²ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠΈΠΏΡ T1 ΠΈ T2 ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
* T1 ΠΈ T2 ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ
* T1 ΠΈ T2 ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΊ ΡΠ΅Π»ΡΠΌ ΡΠΈΠΏΠ°ΠΌ
* T1 ΠΈ T2 ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΊ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ
* ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΈΠΏΠΎΠ² - ΠΏΠΎΠ΄Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±Π° - ΠΏΠΎΠ΄Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°
* T1 ΠΈ T2 - ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° T2 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° T1 ΠΈΠ»ΠΈ ΡΠΈΠΏ T2 ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΏΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Ρ ΡΠΈΠΏΠΎΠΌ T1, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
* T1 ΠΈ T2 ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ
* T1 - Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, T2 - ΡΠ΅Π»ΠΎΠ³ΠΎ
* T1 - ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, T2 - ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ
* T1 - pointer, T2 - ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
* T1 - ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, T2=nil
* T1 - ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, T2 - ΠΈΠΌΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
* T1, T2 - ΠΊΠ»Π°ΡΡΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ - Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² PascalABC.NET Π²ΡΠ΅ ΡΠΈΠΏΡ ΠΊΡΠΎΠΌΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ ΡΠΈΠΏΠ° Object, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΠΊΡΠΎΠΌΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° Object
* T1 - ΡΠΈΠΏ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, T2 - ΡΠΈΠΏ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΡΠ»ΠΈ ΡΠΈΠΏ T2 ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΏΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Ρ ΡΠΈΠΏΠΎΠΌ T1, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ ΡΠΈΠΏ T2 Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ T1.
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏΡ .NET
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΈΠΏΡ PascalABC.NET ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² .NET. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² PascalABC.NET ΠΈ ΡΠΈΠΏΠΎΠ² .NET.
Π’ΠΈΠΏ PascalABC.NET
Π’ΠΈΠΏ .NET
int64
System.Int64
uint64
System.UInt64
integer, longint
System.Int32
longword, cardinal
System.UInt32
BigInteger
System.BigInteger
smallint
System.Int16
word
System.UInt16
shortint
System.SByte
byte
System.Byte
boolean
System.Boolean
real
System.Double
double
System.Double
char
System.Char
string
System.String
object
System.Object
array of T
T[]
record
struct
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ΠΎΠ±Π·ΠΎΡ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ - ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠΎΡΡΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
3.14
x
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΠ°Π½Π½ΡΠ΅, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ.
Π PascalABC.NET ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: @, not, ^, *, /, div, mod, and, shl, shr, +, -, or, xor, =, >, <, <>, <=, >=, as, is, in, =>, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ new ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ @, -, +, ^, not, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ new ΡΠ²Π»ΡΡΡΡΡ ΡΠ½Π°ΡΠ½ΡΠΌΠΈ (ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅ΡΠ°Π½Π΄), ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ (ΠΈΠΌΠ΅ΡΡ Π΄Π²Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°), ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ + ΠΈ - ΡΠ²Π»ΡΡΡΡΡ ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ ΠΈ ΡΠ½Π°ΡΠ½ΡΠΌΠΈ.
ΠΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ. Π ΡΠ·ΡΠΊΠ΅ PascalABC.NET ΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ².
ΠΠ»Ρ ΡΠΈΠΏΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΡΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡ.
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ PascalABC.NET* ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
* ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
* ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
* Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
* ΠΠΎΠ±ΠΈΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
* ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌΠΈ
* ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²
* ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ is ΠΈ as
* ΠΠΏΠ΅ΡΠ°ΡΠΈΡ new
* ΠΠΏΠ΅ΡΠ°ΡΠΈΡ @ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ°
* ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ
* ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ typeof ΠΈ sizeof
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
Π Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ +, -, *, / Π΄Π»Ρ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ div ΠΈ mod Π΄Π»Ρ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΈ ΡΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ + ΠΈ - Π΄Π»Ρ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». Π’ΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ x op y, Π³Π΄Π΅ op - Π·Π½Π°ΠΊ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ +, - ΠΈΠ»ΠΈ *, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
shortint
byte
smallint
word
integer
longword
int64
uint64
BigInteger
single
real
shortint
integer
integer
integer
integer
integer
int64
int64
uint64
BigInteger
single
real
byte
integer
integer
integer
integer
integer
longword
int64
uint64
BigInteger
single
real
smallint
integer
integer
integer
integer
integer
int64
int64
uint64
BigInteger
single
real
word
integer
integer
integer
integer
integer
longword
int64
uint64
BigInteger
single
real
integer
integer
integer
integer
integer
integer
int64
int64
uint64
BigInteger
single
real
longword
int64
longword
int64
longword
int64
longword
uint64
uint64
BigInteger