ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ»ΡΠΆΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΈΠΏΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΡΠ±Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π»Π°ΡΠΈΠ½ΡΠΊΠΈΡ Π±ΡΠΊΠ² ΠΈΠ»ΠΈ ΡΠΈΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠ°ΡΡΡ Ρ Π±ΡΠΊΠ²Ρ. ΠΡΠΊΠ²ΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ _.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, a1, _h, b123 - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, Π° 1a, Ρ2 - Π½Π΅Ρ.
Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ²ΡΠ·Π°Π½Π° ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ, ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ:
and array as auto begin case class const constructor destructor div do downto else end event except file final finalization finally for foreach function goto if implementation in inherited initialization interface is label lock mod nil not of operator or procedure program property raise record repeat set shl shr sizeof template then to try type typeof until uses using var where while with xor
Π ΡΠ΄ ΡΠ»ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ (ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅):
abstract default external forward internal on overload override params private protected public read reintroduce unit virtual write
ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ .NET. ΠΠΎΡΡΠΎΠΌΡ Π² PascalABC.NET ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΈΠΌΠ΅Π½Π° Π±Π΅Π· ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΡΠΎΠΈΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
var a: System.Array;
Π ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ Array ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ System, ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ array Π½Π΅Ρ.
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΡΠΎΠΈΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° & ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
uses System;
var a: &Array;
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ - ΡΡΠΎ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π PascalABC.NET ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠ΅Π².
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ { } ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ (* ΠΈ *) ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ:
{ ΠΡΠΎ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ }
(* ΠΡΠΎ
ΡΠΎΠΆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ *)
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΡΠ±Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² // ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ:
var Version: integer; // ΠΠ΅ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ:
{ ΠΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½
(* ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ *)}
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π½ΡΡΡΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° begin/end.
Π Π°Π·Π΄Π΅Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° var, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΠΈΠ΄Π°
ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½: ΡΠΈΠΏ;
ΠΈΠ»ΠΈ
ΠΈΠΌΡ: ΡΠΈΠΏ := Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅;
ΠΈΠ»ΠΈ
ΠΈΠΌΡ: ΡΠΈΠΏ = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅; // Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Delphi
ΠΈΠ»ΠΈ
ΠΈΠΌΡ := Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅;
ΠΠΌΠ΅Π½Π° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
var
a,b,c: integer;
d: real := 3.7;
s := 'PascalABC forever';
al := new List<integer>;
p1 := 1;
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΈΠΏΡ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ°. Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈΠ±Π»ΠΎΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΊΠ»Π° ΠΌΠΎΠ³ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² for ΠΈ foreach.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ
Π Π°Π·Π΄Π΅Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° const, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΠΈΠ΄Π°
ΠΈΠΌΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅;
ΠΈΠ»ΠΈ
ΠΈΠΌΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ : ΡΠΈΠΏ = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅;
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
const
Pi = 3.14;
Count = 10;
Name = 'Mike';
DigitsSet = ['0'..'9'];
Arr: array [1..5] of integer = (1,3,5,7,9);
Rec: record name: string; age: integer end = (name: 'ΠΠ²Π°Π½ΠΎΠ²'; age: 23);
Arr2: array [1..2,1..2] of real = ((1,2),(3,4));
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠΊ
Π Π°Π·Π΄Π΅Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° label, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΠΎΠΊ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠΊ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°:
a1,l2,777777;
ΠΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ goto.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²
Π Π°Π·Π΄Π΅Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° type, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡ ΡΡΡΠΎΠΊΠΈ Π²ΠΈΠ΄Π°
ΠΈΠΌΡ ΡΠΈΠΏΠ° = ΡΠΈΠΏ;
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, type
arr10 = array [1..10] of integer;
myint = integer;
pinteger = ^integer;
IntFunc = function(x: integer): integer;
ΠΠ±ΡΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠΈΠΏΠΎΠ² (ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠ»Π°ΡΡΡ) ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΈΠΌΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ. ΠΡΠ»ΠΈ Π΄Π»Ρ ΡΠΈΠΏΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ², ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ:
type
A = class
i: integer;
constructor Create(ii: integer);
begin
i:=ii;
end;
end;
ΠΡΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅, ΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠ°ΠΌΠΈ ΡΠΈΠΏΠΎΠ²:
type
int = integer;
double = real;
ΠΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΡΠΌΠΈ, Ρ.Π΅. Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΠΈΠΏΡ Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΠΏΠ°.
type
Dict<K,V> = Dictionary<K,V>;
Arr<T> = array of T;
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ-ΡΠΈΠΏΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ°:
var
a: Arr<integer>;
d: Dict<string,integer>;
ΠΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π½ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°:
type
PNode = ^TNode;
TNode = record
data: integer;
next: PNode;
end;
ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ ΡΠΈΠΏΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ type.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Delphi Object Pascal ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π΅ΡΠ½ΠΎ:
type
TNode = record
data: integer;
next: ^TNode;
end;
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΡΡΠ»ΠΎΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² (ΠΊΠ»Π°ΡΡΠΎΠ²) ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Ρ ΡΠΈΠΏΠΎΠΌ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌ Ρ ΡΠΈΠΏΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
type
Node = class
data: integer;
next: Node;
end;
ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°
ΠΡΠ±ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ°.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π±Π»ΠΎΠΊ, ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ - ΠΎΠ±Π»Π°ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π΄Π²ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΈΠΌΠ΅Π½ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠ±ΠΎΡΠΊΠ°Ρ .NET ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ²Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½.
ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° (Ρ.Π΅. ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½) ΠΏΡΠΎΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π±Π»ΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΠΎΠΏΠΈΡΠ°Π½. ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅, ΠΏΡΠΎΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π° Π²Π΅ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ uses.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΈΠΌΠ΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ (for, foreach). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i ΠΏΡΠΎΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. Π’Π°ΠΊ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½:
var a: array of integer := (3,5,7);
for i: integer := 1 to 9 do
write(a[i]);
foreach i: integer in a do
write(i);
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠ΄Π΅
var i: integer;
procedure p;
var i: integer;
begin
i := 5;
end;
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 5 Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ p; Π²Π½ΡΡΡΠΈ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ p ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ°, Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΈΠ±ΠΎΡΠ½Π°:
var i: integer;
begin
var i: integer; // ΠΎΡΠΈΠ±ΠΊΠ°
end.
Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ , Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ»Π΅Π½Ρ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΡΡΠΎ ΠΈ Π² Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ , ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΡΠΊΡΡΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π² Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΠ»Π΅Π½Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ inherited:
type
A=class
i: integer;
procedure p;
begin