You are on page 1of 38

..

PASCAL
ABC Pascal

7-

2008-2009 .

2008-2009

ABC Pascal


F2, Ctrl-S -
F3, Ctrl-O -
F12 -
Ctrl-Shift-S -
Ctrl-Shift-0 ... Ctrl-Shift-9 - 0...9
Ctrl-0 ... Ctrl-9 - 0...9
Ctrl-Tab, Ctrl-Shift-Tab - /

.
write writeln,
.
. F5
/ .
Esc.
.
Ctrl-Del .

read readln :
- (. ).
Enter , ,
.

F9
.
, , ,
.
, , ,
" ".
Ctrl-F2

. .

,
, , .
, , ,
.
GraphABC Esc,
.


.
( ),
( ) F8
( ).
F7
.
F4
, ,
. ,
Ctrl-F2
, F9.

-2-

2008-2009



.
:
CtrlF5 .
Ins. , , ..
.
/ Ctrl-Shift-W.
Del
.

.
CtrlDel .
,
,
"" " ".


Pascal ABC :
program ;


begin

end.

.
uses,
, .
, , ,
, .
.
" ".


, , , , ,
. ,
. "_".
, a1, _h, b123 - , 1a, 2 .

. Pascal ABC :
and array as begin break case class const constructor continue destructor div
do downto else end exit external external sync file finalization for forward
function if in inherited initialization is mod not of or private procedure
program property protected public record repeat set shl shr sizeof string
then to type unit until uses var while with xor

-3-

2008-2009

1
Pascal
Program Prog1;
var a, b : integer;
begin
write(' ');
readln(a);
b:=a*a;
writeln(' = ',b);
end.
:

; , .
, :
o
o , ,

:
a, b, Prog1
a, b
integer
write, writeln
readln
b:=a+1
begin ... end

()
(integer)



( b a+1)

, .
- .
, (
) .
. , integer
2 147 483 648 +2 147 483 647,
, ..
,
. , b:=a+1 .
. , .
"" "+" ( ).
, .
: 1, 123, 4567, 003, +012.
.
. ,
begin ... end.

-4-

2008-2009

. :=,
. ,
.
.
: a:=2; a:=2+3; a:=b*2+1;
: a+1:=a; 2:=b+3;
a:=a+1; .
, ,
a. ,
a .
, ,
.
.
:
(read readln).
. :

. .. integer,
, .

, , , .
, ,
, , div
mod. , *
. :
, . (. )
. .
. .
1 integer

*
div
mod

a+3
cd
2*3
a div 2
a mod 2

: 5 div 2 = 2, : 5 mod 2 = 1

,
-5-

2008-2009

:
:

(a + 2b)(a b)

x+ y
2


( ):

(a+2*b)*(ab)

(x+y) div 2

2 + (
). , 2*(ab) a
,
.
ABC Pascal

integer
byte
word


4
1
2

-2147483648 2147483647
0 .. 255
0 .. 65 535

,
. ,
a word, a:=512*128; ,
65536,
word. , a integer,
a:=512*128; .
byte word.
/
. ,
, ( ).
,
(Enter). , .
3,
. Windows-
80 , 25 4.
,
.
write writeln .
writeln (
).
, .
(, )
( .. ).

: write(' '); writeln(a,b);

.
.
4
ABC Pascal CRT.
3

-6-

2008-2009

read, readln. read


, readln.
,

Enter. readln ,
. ,
( Enter) Enter.
, ()
. (, ),
.

: readln(a,b);
: readln(a+3);
,
readln write writeln.
:
write(' ');
readln(n);

. ,
.
Pascal
. , ()
, : x:=x-abs(x).
(, )
( ).
,
.

sqr(n)
abs(n)
pred(n)
succ(n)
odd(n)
even(n)
chr(n)
random(n)

.
.
( ) .
, .
, .
TRUE, , FALSE
TRUE, , FALSE
( char) n.
0 n-1.

-7-

2008-2009

1
1. Pascal,
.

(a+b)(ab)
(1+x)2
15 x
y
2x2y

2. ( )

(a+1)*(a), a=10
(x+1) div (x1), x=2 x=4
2*4 mod 3
2*(4 mod 3)
a*(1), a=431

3.

, ,
.
,
.
, (. abs)

4. ,

: 100 5
.
. ,

.

-8-

2 CRT

2008-2009

2
CRT

.
CRT5. ,
, , .
, 25 80 .
(, , ).
(, ..) . CRT
.
Uses:
Program Card;
Uses CRT; { Program }

, begin .

.
Program Card;
Uses CRT; { CRT }
begin
ClrScr;
{ }
TextColor(White);
{ }
TextBackGround(Blue); { }
GotoXY(36,13);
{ 36 , 13 }
write(' '); { }
ReadKey;
{ }
end.
.

ClrScr ( . Clear Screen),


, TextBackGround.
.
TextColor() ,
write writeln. -
.
TextBackgroud() , write writeln.
GotoXY(, ) ; ,
write writeln
. 80 25 .
ReadKey (
).
Cathode Ray Tube - ()
-9-

2 CRT

2008-2009

0 15,
CRT :

Black
Blue
Green
Cyan
Red
Magenta
Brown
LightGray

DarkGray
LightBlue
LightGreen
LightCyan
LightRed
LightMagenta
Yellow
White

-
-
-
-
-
-

Window(x1,y1,x2,y2) . ,
write writeln , ClrScr
.
WhereX, WhereY ,
. : GotoXY(WhereX+10,WhereY+2).

2:

,
: , , , , .
, .
2*:
Sounds :
n:=LoadSound(fname) fname
n (
);
PlaySound(n) n;
StopSound(n) n;
RewindSound(n) "" n ;
DestroySound(n) n ,
;
SoundLength(n) n .

sound:
Program Player;
Uses Sounds, CRT;
var n: integer;
begin
n:=LoadSound('C:\WINDOWS\MEDIA\ringin.wav'); //
PlaySound(n);
Sleep(SoundLength(n));
DestroySound(n);
end.

- 10 -

3. ABC Pascal

2008-2009

3
GraphABC

ABC Pascal .
Uses GraphABC.
GraphABC , ,
. :

:
Program Gr01;
Uses GraphABC;
begin
SetWindowSize(256,256);
SetPenColor(RGB(0,0,255));
Line(0,0, WindowWidth, WindowHeight)
Line(0,WindowHeight, WindowWidth, 0)
end.

SetWindowSize 256256 .
SetPenColor . RGB ,
Red, Green, Blue . Line ,
, , .
WindowWidth WindowHeight
(,
SetWindowSize, ).

x 0 WindowWidth
y 0 WindowHeight
0

WindowWidth

WindowHeigth

- 11 -

3. ABC Pascal

2008-2009


. ,

.
rgb(Red,Green,Blue)

Red 0 255,
Green 0 255,
Blue 0 255,
(integer),
, .
:
clBlack
clPurple
clWhite
clMaroon -
clRed
clNavy -
clGreen
clBrown
clBlue
clSkyBlue
clYellow

clCream
clAqua
clOlive
clFuchsia
clTeal -
clGray
clLime -
clLightGray -
clMoneyGreen
clDarkGray -

SetPenColor() , color.
SetPenWidth() .
SetPenStyle() (, ..),
( 1 )
psSolid
psClear

psDash
psDot


, , ..

psDashDot
psDashDotDot
,

:
Program Gr02;
Uses GraphABC;
Var i : integer;
begin
SetWindowSize(512,512);
SetPenStyle(psDash);
SetBrushStyle(bsClear);
Circle(256,256,WindowHeight div 2);
end.

- 12 -

3. ABC Pascal

2008-2009

SetBrushColor()
SetBrushPicture( )
, ,
.
ClearBrushPicture -, .
SetBrushStyle() , bs.

:
bsSolid bsClear bsCross bsDiagCross bsHorizontal bsBDiagonal bsVertical bsFDiagonal
,
. , SetBrushColor(bsClear).
:
Program Gr03;
Uses GraphABC;
Var i,j : integer;
begin
SetWindowSize(512,512);
SetBrushColor(rgb(128,0,255));
SetBrushStyle(bsDiagCross);
Rectangle(10,10,WindowWidth-10,WindowHeight-10);
end.

Line(x1,y1,x2,y2) (x1,y1) (x2,y2).


Circle(x,y,r) (x,y) r.
Ellipse(x1,y1,x2,y2) ,
(x1,y1) (x2,y2).
Rectangle(x1,y1,x2,y2) ,
(x1,y1) (x2,y2).
RoundRect(x1,y1,x2,y2,w,h) ; (x1,y1)
(x2,y2) , w h ,
.
Arc(x,y,r,a1,a2) (x,y) r,
, a1 a2 OX (a1 a2
, ).
Pie(x,y,r,a1,a2) , (
, Arc).
Chord(x,y,r,a1,a2) , ,
( ,
Arc).1

:
, ,
(, , ..)

ABC Pascal,
GraphABC.
- 13 -

3. ABC Pascal

2008-2009


program avto;
uses graphABC;
var i : integer;
begin
SetWindowSize (800,600);
SetPenStyle (psClear); //
setBrushColor (Clgreen);
rectangle (250,250,550,351);
setBrushColor (ClAqua);
//
rectangle (255,255,395,345);
rectangle (405,255,545,345);
setBrushColor (Clgreen); //
rectangle (50,350,750,500);
setBrushColor (ClYellow); //
rectangle (749,375,764,400);
setBrushColor (ClRed);
rectangle (35,375,51,400);
setBrushColor (ClLightGray); //
RoundRect (725,450,775,475,10,10);
RoundRect (25,450,75,475,10,10);
SetPenStyle (psSolid); //
Line(250,350,250,425);
Line(250,425,300,500);
Line (400,250,400,500);
Line (550,350,550,425);
Line (550,425,500,500);
setBrushColor (ClBlack); //
Circle (200,500,50);
setBrushColor (ClLightGray);
Circle (200,500,25);

setBrushColor (ClBlack);
Circle (600,500,50);
setBrushColor (ClLightGray);
Circle (600,500,25);
end.

- 14 -

4. for

2008-2009

4
for
for .

:
for i:=N1 to N2 do ;


,

begin ... end.

for i:=N1 to N2 do
begin
1;
2;
....
end;

i
( ),
N1 , ,
N2 , ,
N2 N1,
.
:
1.
2.
3.
4.
5.
6.

N1.
i<=N2. , . 3, .6.
.
(!).
. 2.
.

:
1 10.
Program Square;
var i, j : integer;
begin
for i:=1 to 10 do
begin
j:=sqr(i);
writeln(i:4,j:4);
end;
end.

:
Program Square;
var i: integer;
begin
for i:=1 to 10 do
writeln(i:4,sqr(i):4);
end.

writeln.
,
. ,
.

- 15 -

4. for

2008-2009

for downto

for ,
, . :
for i:=N2 to N1 do ;

, N2 N1.
for

for . ,
.
Program Concentric;
uses graphABC;
var i : integer; // for
begin
SetWindowSize (400,400);
SetBrushStyle (bsClear);
// 10
// 20, 40, ... 200
for i:=1 to 10 do Circle(200,200,i*20);
end.

, . :
for to, for downto?
Program Concentric2;
uses graphABC;
var i : integer; // for
begin
SetWindowSize (400,400);
SetPenStyle(psClear);
for i:=20 downto 1 do
begin
SetBrushColor (RGB(10*i,0,0));
Circle(200,200,i*10);
end;
end.

,
. random(N)
0 N1. , .
Program RandomLines;
uses graphABC;
var i : integer;
begin
SetWindowSize (400,400);
for i:=1 to 200 do
Line(Random(400),Random(400),Random(400),Random(400));
end.

5. ,
for.
- 16 -

5. if

2008-2009

5
if

Pascal , .
: .

if ... then ... else ...


if ... then
case

while
repeat ... until
for

if

7 :
if then -1 else -2;

:
if x>0 then z:=1 else z:=1;

, ,
-1, -2.
. ,
begin ... end.
:
if x>0 then begin
z:=1;
x:=2*x;
end
else begin
z:=-1;
x:=-x;
end;

, else .
.
x:=2*x x:=-x, begin end
, . 8
end, end.
, , ,
.
: end begin.

7
8

.
.
- 17 -

5. if

2008-2009

if ( )

, else . .
:
if x<0 then x:=-x;
, x:=-x
.
if
Program OddEven;
{ }
var n : integer;
begin
write(' '); readln(n);
if odd(n) then writeln(' ')
else writeln(' ');
end.
if

.
if .
, else.

Program Sign;
{ }
var n : integer;
begin
write(' '); readln(n);
if n>0 then writeln(' ')
else if n=0 then writeln(' ')
else writeln(' ')
end.

, if
begin ... end, if
.
if, , :
if n>0 then if n=0 then writeln(' ')
else writeln(' ')

: if else. , else
if, .. , .
, , , else,
.

- 18 -

5. if

2008-2009

. if ,
boolean9.
(true) (false).
.

:
var b : boolean;
. . . . . .
b:=true;
. . . . . .
if b then writeln(' ');

,
.
. 10 ,
(, , ).
<
>
=

<=
>=
<>

.
: if a>0 then a:=1 else a:=-1. Pascal a>0
( : b:=a>0, b
).
.
AND, OR 11 NOT.
and , .
or , .
not .

if :
if (x>=0) and (x<=1) then writeln('X 0 1');
if not ((x>=0) and (x<=1)) then writeln('X 0-1');
if (x<0) or (x>1) then writeln('X 0-1');

. ,
. and
, or , not (.. ).

. .
, .
11
.
10

- 19 -

5. if

2008-2009

1. :
not true and not false
not true or not false
not (true or false)
Y

not (true and false)

2. a
,

x, y.

3. ,
, 3, 4 5
, 1 2.
4. , , ,
, 2, 3, 4 5 .
5. (mod, . 5),
Concentric (. 16), 3-
, .

- 20 -

6. case

2008-2009

case

case 2 .
.
Program YourMark;
{ }
var n : integer;
begin
write(' '); readln(n);
case n of
2 : writeln('');
3 : writeln('');
4 : writeln('');
5 : writeln('');
end;
end.

, case end.
, 2-5,
. , , .
case :
Program YourMark2;
{ }
var n : integer;
begin
write(' '); readln(n);
case n of
2 : writeln('');
3 : writeln('');
4 : writeln('');
5 : writeln('')
else writeln(' !')
end;
end.

else else.
n .
Program YourMark3;
{ }
var n : integer;
begin
write(' '); readln(n);
case n of
2..3 : writeln(' !');
4
: writeln('!');
5..6 : writeln(' !')
else
writeln(' !')
end;
end.

else else.
- 21 -

6. case

2008-2009

6.1. , ,
: 1 10
(, , ).
(2 )
6.2. ,
1 99 ( !).

1.
. .., n ,
d:=n mod 10;
2. : 1 9, 10 19, 20
99.
(5 )
6.3. , ,
999.
( 3 )
6.4*. 6.3 ( ),
1 999, .
( 4 )

:
1I
2 II
3 III
4 IV
5V
6 VI
7 VII
8 VIII
9 IX

10 X
20 XX
30 XXX
40 XL
50 L
60 LX
70 LXX
80 LXXX
90 XC

100 C
200 CC
300 CCC
400 CD
500 D
600 DC
700 DCC
800 DCCC
900 CM

.
:
23 XXIII

357 CCCLVII

888 DCCCLXXXVIII

- 22 -

901 CMI

109 CIX

7
While Repeat Until

for, ,
. Pascal
, ,
, .
While ( )
, ,
.

:
while do ;

while do
begin
1;
2;
....
end;

,
, ,
. ,
. ,
. , .
repeat until while. :
repeat
1;
2;
....
until ;

, , , begin end
. .
, , , ,
, . ,
. ,
.
1 10 while repeat until.
Program SquareW;
var i : integer;
begin
i:=1
while i<=10 do
begin
writeln(i:4,sqr(i):4);
i:=i+1;
end;
end.

Program SquareR;
var i : integer;
begin
i:=1
repeat
writeln(i:4,sqr(i):4);
i:=i+1;
until i>10;
end.
- 23 -

7. while repeat until

2008-2009

.
. 400 ,
, .. 200, 100, 50,
1 .
while repeat until,
(, ,
).
Program Circles;
Uses GraphABC;
var r : integer;
begin
SetWindowSize(800,800);
r:=400;
repeat
circle(400,400,r);
r:=r div 2;
until r<1;
end.

Program Circles;
Uses GraphABC;
var r : integer;
begin
SetWindowSize(800,800);
r:=400;
while (r>=1) do
begin
circle(400,400,r);
r:=r div 2;
end;
end.

.
( 10 )
, .
Program Circles;
Uses GraphABC, CRT;
var r : integer;
begin
SetWindowSize(500,500);
repeat
SetBrushColor(random($FFFFFF));
circle(random(500),random(500),random(10));
delay(10);
until keypressed;
end.

. -, keypressed,
CRT. true,
. SetBrushColor
random($FFFFFF). random
,
, 0
( ) $FFFFFF ( ).
HTML. delay(n)
n .
, .
7.

1. , ,
0. (5 )
2. , ,
.

- 24 -

8.

2008-2009

8
Pascal

.
, , .
( ).
. Pascal
real, .
:
Program Krug;
Uses CRT;
//
var r
: real; //
s
: real; //
begin
write(' : '); readln(r);
s:=2*3.1415926*r;
writeln(' : ',s:8:2);
end.

( real). ,
(r, s : real),
, .
.
, , .
+, , *, /.
, , .. 5/2 2.5. (div),
(mod) !
.
. :
3.5, 2.0, +36.6, 40.123.
,
, . .
(
6.67 1021 ). Pascal 6.67E21, ..
10 Pascal E ( , ).
:
3E1, 2e+10,

+1.234E10,

65.2e+20.

E , E
.
8 ( 1)

1. Pascal :
2.99 1033 , 0.211010 , 35.6 108 , 1200000, 0.000015
(5 )
2. Pascal :
(3 )
2.71828, 1.25 102 , 1.5 101
- 25 -

8.

2008-2009

write/writeln
. ,
. ,
(. ). ,
, .
, ,
,
. 10,

. , Pascal
.
:
Program Formats;
Uses CRT;
var x
: real;
begin
x:=1234.567;
writeln(x);
writeln(x:8:3);
writeln(x:8:2);
writeln(x:8:1);
writeln(x:12);
writeln(x:14);
end.

,
0.1 1 0.1 (, pi):
Program Table;
Uses CRT;
var r, s : real;
begin
r:=0.1;
//
repeat
s:=2*pi*r;
//
writeln(r:3:1,s:6:2); //
r:=r+0.1;
// 0.1
until r>1.0;
//
end.

8 ( 2)

3. ,
( s = r 2 ). (2 )
4. ,
, . (3 )
5. , 10
. (5 )

- 26 -

9. -

2008-2009

9
Pascal


. Pascal
. : .
. ,
, . ,
.
.
.
Program Table;
Uses CRT; //
// ,
function cube(x:real):real; //
begin
cube:=x*x*x; //
end;
function sign(x:real):integer; //
begin
if x>0 then sign:=1
else if x=0 then sign:=0
else sign:=-1;
end;
//

==== ==========

var
a : real;
//
const a1 = -5.0;
// ()
a2 = +5.0;
st = 0.5;
begin
a:=a1;
while (a<=a2) do
begin
writeln(a:4:1,cube(a):10:3,sign(a):3); //
a:=a+st;
end;
end.

, ( begin
end) .
, , .
( ).
. , ,
.

- 27 -

9. -

2008-2009

, .
Program Power2;
Uses CRT;
function power(x : real; n : integer) : real; //
var i : integer; //
r : real;
begin
r:=1.0;
for i:=1 to n do r:=r*x; //
power:=r;
//
end;
//

==== ================

var
i : integer;
//
begin
for i:=1 to 10 do
writeln(i:2,power(2.0,i):6:0);
end.

( real integer),
.
. i , i
.
. .
9

1. , power
, .

xn =

1
. : if, abs(n),
xn

.
(5 )
2. , n ! = 1 2 3 n . :
, power.
(5-8 )

- 28 -

10. -

2008-2009

10
Pascal

- ( )
-. , .
.
, .
.
Program UseProc;
Uses GraphABC;
Procedure Triangle(x1,y1,x2,y2,x3,y3:integer);
//
begin
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
end;
//
begin
SetWindowSize(500,500);
Triangle(100,200,400,300,250,150);
Triangle(10,20,30,40,50,10);
end.

, Trianlge
Line . ,
, .
10

1. ,
(, , ..)
( 3-4 )

- 29 -

10. -

2008-2009

(Units)

, , , ,
( , ) .
. , .
Triangle MyGraph.
Unit MyGraph;

// .
// ! ..
// MyGraph.pas, !

Uses GraphABC;

//

Procedure Triangle(x1,y1,x2,y2,x3,y3:integer);
// MyGraph
begin
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
end;
end. // .

:
Program UseProc;
Uses GraphABC, MyGraph; //
begin
SetWindowSize(500,500);
// GraphABC
Triangle(100,200,400,300,250,150); // MyGraph
Triangle(10,20,30,40,50,10);
end.

, ,
, ( ).
10

2.
(5 )

- 30 -

11.

2008-2009

11

- -

- ?
-,
. ,
?
,
( L = 2r ) ( S = r 2 ) .
Program ProcUse;
Uses CRT;
//
Procedure Pr(R,L,S:real);
begin
L:=2*PI*R;
S:=PI*sqr(R);
end;
//
var rad, len, area : real;
begin
write(' '); readln(rad);
Pr(rad, len, area);
writeln(' ', len);
writeln('
', area);
end.

. :
, :
0! ?
,
.
. ,
( ),
, .
.. , ..
, .
, ,
.

- 31 -

11.

2008-2009

.
Pr :
Procedure Pr(R: real; var L,S:real);

var. ,
.
(
). ,
, ,
, ! .. Pr(5,6,7) , ,
Pr(5,a,b), a b . ,
, , .
. !

11

1. ,
. .
(3 )
2. , Pr,
r r.
(2 )

- 32 -

12.

2008-2009

12

,
, : , ,
, , ..
.
,
.
.

:
A1

A2

A3

A4

A5

A6

A7

A8

(, ):
A11 A12 A13 A14
A21 A22 A23 A24
A31 A32 A33 A34
, ,
, .
,
:
A : array [1..8] of integer;

array , ,
.
Pascal
, A..H, 0..7.
, ()
.

, ,
. A
:
Const N = 8;
Var A : array [1..N] of integer;

,
, , ,
,
!

- 33 -

12.

2008-2009

, ,
,
-.
Const N = 8;
Type TA = array [1..N] of integer;
Var
A : TA;

, ,
TA, ,
A B , , . ,
Const N
Type TA
Var A :
Var B :

= 8;
= array [1..N] of integer;
TA;
TA;

A B . :
Const N = 8;
Var A : array [1..N] of integer;
Var B : array [1..N] of integer;

A B .
:
Const N = 8;
Var A,B : array [1..N] of integer;

, , ..
:
Const M = 5;
N = 8;
Var
A : array [1..M] of array [1..N] of integer;

,
:
Const M = 5;
N = 8;
Var
A : array [1..M,1..N] of integer;

, ,
.

.
:
{ }
for i:=1 to N do A[i]:=0;

,
,
, .
, .
- 34 -

12.

2008-2009

for .
for i:=1 to N do
.
,
:
B:=A;

, -
:
{ }
for i:=1 to N do
begin
write('e ',i,'- : '); readln(A[i])
end;

, ,
. :
{ }
for i:=1 to N do write('A[',i,']=');


. :
, ;
, ,
, , .
, , ,
:
{ }
max:=A[1];
for i:=2 to N do if A[i]>max then max:=A[i];
writeln('Maximum=',max);

, :
Program Massiv;
Const N = 10;
Var A : array [1..N] of integer;
i, max : integer;
begin
for i:=1 to N do //
begin
write('e ',i,'- : ');
end;

readln(A[i])

max:=A[1]; //
for i:=2 to N do if A[i]>max then max:=A[i];
writeln('Maximum=',max);
end.
- 35 -

12.

2008-2009

12

1. . .
(2 )
2. , ,
10 , .
(2 )
3. ,
( for i:=N downto 1 do) .
(1 )
4. . 35 ,
.
(2 )
5.

.
(1 )
6. * ,
(, real)
(* 3 )
7. * ,
, N ,
.
(* 3 )
, *, .

- 36 -

13.

2008-2009

13

,
.
( )
(.. ).
. . 13.1.
,
( 4 2) ,
,
(. 13.2). , ,
(. 13.4).

13.1

13.2

13.3

13.4

(.
13.5) , (. 13.6-13.7).
1

13.5

13.6

13.6

13.7

, ,
N2
(
).
2

- 37 -

13.

2008-2009

. ,
. Massiv (. 34).
var- (. 32),
. .. print
: procedure print(var m : Massiv); .
Program LinerSort;
Const N = 10; //
Type

Massiv = array [1..N] of integer; // Massiv

procedure swap(var x,y: integer); //


var z : integer;
begin
z:=x; x:=y; y:=z;
end;
procedure print(m : Massiv); //
var i : integer;
begin
for i:=1 to N do write(m[i]:5);
writeln; //
end;
//
Var
a : Massiv;
i,j : integer;
begin
// 0 99
for i:=1 to N do a[i]:=random(100);
print(a); //
for i:=1 to N-1 do // N-1
( !)
for j:=i+1 to N do // i+1 ( !)
if (a[i]>a[j]) then swap(a[i],a[j]); //
print(a); //
end.

13

1. .
( var- ).
(2 )
2. ,
.
N=10, 100, 1000.
(3)

- 38 -

You might also like