Pascal
, , , . , :
1) ;
2) Ord, ;
3) Pred Suc, ;
4) Low High, 볭 .
.
:
SET OF __
Pascal (<=256 ) (Word, Integer, Shorting), . Byte Char , 256.
, .
TYPE
SetOfChar = SET OF Char; { }
SetOfByte = SET OF Byte; { }
SetOfDigit = SET OF 0..9; { - }
SetOfDChar = SET OF '0'..'9';{ - }
VAR
SChar: SetOfChar;
SByte: SetOfBYTE;
SDigit: SetOfDigit;
. , . , .
:
, , . :
SDigit:= [0,2,4,6,8];
SDigit:= [10]; {}
SChar:= ['a'..'z','A'..'Z','',''];
SChar:= [2]; {}
, . :
Schar:= ['a', 'a', '', ''] 쳭 'a'.
.
VAR
x: Byte;
S: SET OF Byte;
...
x:= 3;
S:= [1, 2, x];
S:= S+[x+1];
. Exclude Include, . Include(S, i) S , . Exclude(S, i) S , .
( ), Pascal, .
(, 1- 2- ) | ||||
Pascal | ||||
|
|
(, 1- 2- ) | ||||
Pascal | ||||
(, 1- , , ) | ||||
Pascal | ||||
.
: =, <>, >=, <=. true false.
: false | |||
= | S1=S2 | True, S1 S2 | |
<> | S1<>S2 | True, S1 S2 | |
<= | Ì | S1<=S2 | True, S1 S2 |
>= | É | S1>=S2 | True, S2 S1 |
IN | E IN S1 E IN [] | True, E S1 - ([...]) |
IN , :
IF ch IN ['a'.. 'x', 'A'.. 'X'] THEN
IF j IN [100..200] THEN
. . :
C IN ['0'.. '9', 'A'.. 'Z'];
:
(C>='0') AND (C<='9') OR (C>='A') AND (C<='Z');
:
1) , ᒸ , , 1 . , ᒸ 256 32 , (MaxNum DIV 8)-(MinNum DIV 8)+1;
2) , , : 1 , 0 .
, .
(, ) (, ). , . : , , ࢭ, , .
.
:
- :
.
CONST Xset: SET OF Char=['', '', ''];
.
. 볭 £ 255.
. 2 255 .
PROGRAM Proct;
VAR
Prime: SET OF 2..255;
j, i, m: Integer;
BEGIN
|
|
Write (' m <= 255');
Readln (m);
Prime:= [2..m];
FOR i:= 2 TO m DO
IF i IN Prime THEN
FOR j:= 2 TO (m DIV i) DO
Prime:= Prime-[i * j];
{ i}
Writeln (' <=', m);
FOR i:= 2 TO m DO
IF i IN Prime THEN Write (i:4);
END.
. . , -.
. , .. -, . .
, , , .
:
, , . . .
, . .
, , , n n - . ᒸ . Turbo Pascal 64 .
TYPE . , .
, ࢭ () .
.
TYPE
Array01to10 = ARRAY [ 1..10] OF Real;
Array11to20 = ARRAY [11..20] OF Real;
(Array01to10 Array11to20) - , 10 Real.
VAR
a01to10: array01to10;
a11to20: array11to20;
i - :
a01to10[i], i=1,,10,
a11to20[i], i=11,,20.
1.
CONST k=4; n=6;
TYPE TVector = ARRAY [1..4] OF Integer;
TMatrica = ARRAY [-4..4, -4..4] OF Real;
TMassiv = ARRAY [1..4] OF TVector;
VAR Matr: TMatrica;
Vect: TVector;
M: TMassiv; { }
Mas: ARRAY [1..k, 1..n] OF Char;
masij mas[i,j]. M : m[i][j], : m[i,j].
.
2.
TYPE
MonthType = (January, February, March, April, May);
ComplectType = ARRAY [MonthType] OF Word;
SpringType = ARRAY [March..May] OF Word;
VAR
Complect: ComplectType; {5 Word}
Spring: SpringType; {3 Word}
Alpfa: ARRAY [¢A¢..¢Z¢] OF Char; {26 }
Switch: ARRAY [boolean] OF Byte; {2 }
:
Spring[April]; Alpfa[¢X¢]; Switch[true];
3.
VAR
M: ARRAY [-10..0, ¢A¢..¢C¢, boolean] OF Byte;
:
M: ARRAY [-10..0] OF ARRAY [¢A¢..¢C¢] OF
ARRAY [boolean] OF Byte;
M[0] -
ARRAY [¢A¢..¢C¢] OF ARRAY [boolean] OF Byte;
M[0] ARRAY [¢A¢..¢C¢, boolean] OF Byte.
M[0, ¢B¢] ARRAY [boolean] OF Byte.
M[0, ¢B¢, false] Byte.
M[0], M[0, ¢B¢] , .
, , , . , :
|
|
A: ARRAY [1..5, 1..5] OF Byte;
{a[1,1], a[1,2], a[1,3],, a[1,5], a[2,1],, a[5,5]}
, . . .
{$R+}, , ( ) Range check Error.
4.
v: ARRAY [1..10] OF Integer;
v[11] {$R+}.
{$R-} , , - , . {$R+}, {$R-}.
, , . .
:=. , , ( ):
VAR
A, B: ARRAY [1..20] OF Real;
C, D: ARRAY [1..5, 1..5] OF Word;
A:= B , A B. C:= D , C D. A:= D .
, :
CONST n=10; m=5; L=4;
VAR A, O: ARRAY [1..L] OF Real;
B: ARRAY [1..n,1..m] OF Integer;
k, i, j: Integer;
S: Real;
...
FOR i:=1 TO L DO Read(A[i]);
{ }
FOR i:=1 TO n DO
FOR j:=1 TO m DO Read(B[,j]);
{ }
FOR i:=1 TO n DO
BEGIN
FOR j:=1 TO m DO Write(B[,j]);
Writeln;
END; { }