TURDO PASCAL.
PASCAL . PASCAL 1968-1971 . . (). PASCAL - .
.
, ( ) ( ), - . Borland, . TURDO PASCAL, TURDO PASCAL. PASCAL.
, , , , .
TURDO PASCAL.
PASCAL
.
, . . , , , .
, . : +, -, *, /, =, <, >, [ ], { }, (), @,.,,,:,;, , #, $,^.
, . , , . , .
, .
, , . , 63 .
() , , .
() , , , , .
.
1.2.
, PASCAL,
1. .
PROGRAM_ ;
, , _.
|
|
2. .
2.1. (CRT), (GRAPH).
USES_ 1 [, 2, ];
2.2. . . , , GOTO.
LABEL_ 1 [, 2,];
2.3. . .
CONST_ 1 = 1 [; 2 = 2;];
2.4. . TYPE , . .
TYPE_ = ;
2.5. . , , , .
VAR_ 1, 2,: ;
2.6. () . , .
PROCEDURE_ ( : );
BEGIN
END;
FUNCTION_ ( : ): ;
BEGIN
END;
3. , .. . , . BEGIN END . END .
BEGIN
;
END.
, , { } (* *). { (*. , - .
, , . ( USES, ) , (, , , , ) , .
1: .
PROGRAM share; { }
USES crt; printer; { }
CONST p=3.14; { }
VAR rad: integer; v: real;{ }
BEGIN { }
clrscr; { }
rad:=4; { h}
v:=3*p*rad*rad*rad/4; { }
write ( - ,v); end.{ }
PASCAL : , , , , . , , . , , , , , , -, , .
|
|
.
PASCAL . , .
1.1.
Byte Shortint Integer Word Longint | . . | 0..255 -128..127 -32768..32767 065535 -2147483648.. 2147483647 | 1 1 2 2 4 |
.
1.2. .
Real Single Double Extended Comp | . | 2.9*10-39-1.7*1038 1.5*10-45-3.4*1038 5*10-324-1.7*10308 3.4*10-4932-1.1*104932 -9.2*1018-9.2*1018 | 6 4 8 10 8 | 11-12 7-8 15-16 19-20 19-20 |
: . . . : 15.5, 12.00, -321.897, 0.33.
mEp, m - , p . m , p . +,-.
: :
0,000002 2E-6;
0,34 X 104 0.34E+4;
-20,5 X 1012 - -20.5E12;
12 X 10-5 12E-5
. , . 17 , .
.
1.3
2 | 2.0000000000E+00 |
0,5 | 5.0000000000E-01 |
0,0064 | 6.4000000000E-03 |
236,2 | 2.3620000000E+02 |
, : write(a:m:n), a , m ( , , ), n . m n , , .
: write(a:8:5) 7.567895135 7.56789.
() (boolean) True () False () . 8 .
(Char). Char , : , , . 0 255. 1. ASCII.
. - . .
;
Type day=(sat, sun, mon, tue, wed, thu, fri);
day sat, sun, mon, tue, wed, thu, fri. : integer, boolean, char. , , .
. . , .
|
|
;
Type chislo=1..25;
Ch=a..z;
, . CONST:
CONST_ = ;
CONST
=-0.5; s=3; symbol= k;
1.5.
. .
1.4. .
ABS(X) | ||
SQR(X) | ||
SQRT(X) | ||
COS(X) | ||
SIN(X) | ||
ARTAN(X) | ||
EXP(X) | ||
LN(X) | ||
Int(x) | ||
Frac(x) |
PI ð;
RANDOM(N) 0 N, ;
RANDOM 0 0,99, .
. , , , .. , , ord() ( , , ), round() ( ), trunc() ( , ).
Odd() - . Longint, r, , False - .
red() - .
Succ() - .
Ord(x) - .
ascal . . (. 1.5) .
1.5. .
+ | |||
- | |||
* | |||
/ | |||
div | |||
mod |
, , . .13 div 3 = 4;17 mod=1 4
. (. 1.6) , - . not () and (), or (), xor ( ).
1.6. .
|
| ||||
X | Y | not | and | or Y | X xor Y |
False | False | True | False | False | False |
False | True | True | False | True | True |
True | False | False | False | True | True |
True | True | False | True | True | False |
|
|
=7, b= -5, c=True
(>0) and (<10) and (b>-10) True.
. . .
= - < - 堠 <= -
<> - > - >= - .
. . , ( , , ). , . .. :
1. .
.
.
*, /, div, mod, and
+, -, or, xor.
. ; . , , . :
1. ;
2. , - ;
3. ;
4. - ;
5. - ;
6. , - .
1. , .
Program example1;
Var a,b:integer;
c:real;
begin
writeln( );
readln(a,b);
c:=a/b;
writeln(c=,c) end.
1. , :
Program example2;
Var x,y: real;
begin
writeln( );
readln(x) writeln(y=,y);
end.
, . , , , : y:5:2. : writeln(y=,y:5:2);
2. .
Program example3;
Var a,b,c:integer;
begin
writeln( );
readln(a,b);
c:=a mod b;
writeln(c=,c)
end.
c , mod .
I. ,
1). 2).
3). 4).
5). 6).
7). 8).
II. , :
1) , ;
2) , p;
3) ;
4) ;
5) , b;
6) , b;
7) , b;
8) , (1, 1), (2, 2), (3,y3);
9) R;
10) R1 R2.
IF
IF . . IF : .
1. IF_ _THEN_ 1 _ELSE_ 2;
2. IF_ _THEN_ ;
, . , 1, 2. , , , IF. IF IF, .. . ELSE THEN, .
|
|
2.1. .
2.2. .
then else, begin end
if then begin o1;
2
end
else begin o3;
4
end;
:
CASE_ OF
_1: 1;
_2: 2;
_ N: N;
[ELSE ]
END;
, , . , , ELSE.
1. x Y
Program example1;
Var a,b,max:real;
begin
writeln( );
readln(a,b);
if a>b then max:=a
else max:=b;
writeln( =,max:5:2)
end.
2. ,
: [0;0],
[- ;0], [0; + ]. . , . , . , . . , . , .
Program example2;
Var x,y:real;
begin
writeln( x );
readln(x);
if x=0 then y:=0
else if x<0 then y:=x+1
else y:=sqr(x)-1;
writeln(y(,x,)=,y:5:2)
end.
3. x,y. .
Program example3;
Var x,y:real;
begin
writeln( );
readln(x,y);
if (abs(x)<4) and (abs(y)<2) then writeln( )
else if (abs(x)>4) or (abs(y)>2 then writeln( )
else writeln( )
end.
4. , .
Program example4;
Var i:integer;
begin
READ(I);
CASE I OF
1..10: WRITELN( I=,I:3, 1 10);
11..20: WRITELN( I=,I:3, 11 20);
21..30: WRITELN( I=,I:3, 21 30);
ELSE WRITELN( I=,I:3, 1 - 30);
end; end.
1.
2.
.
3.
4.
5. , :
; ;
6. x, y. :
7. . = f(), , f(a)
8. x1, x2, x3. , .
10. (, ). , ? : =2, 10 2, .
- . , . . Pascal : while , repeat , for- .
While.
while. . , .
While_ _do_ ;
, . , , . , WHILE . , . do, begin... end;
.
- While. 3.1
Repeat
Repeat : , ,
Repeat
;
Until_ ;
, . . , . , , .
- Repeat. 3.2
FOR
FOR :
1.FOR_ -:=S1_TO_S2_DO_ ;
2.FOR_ -:=S1_DOWNTO_S2_DO_ ;
S1 S2 , . FORDO , . . FOR (TO) (DOWNTO) .
FOR , . , . do, begin.., end;
1. 1 n.( while)
Program example4;
Var i,n:integer;
begin
writeln( );
readln(n);
i:=1;
while i<=n do
begin writel( ,i);
i:=i+1
end
end.
2. 1 n.( repeat)
Program example5;
Var i, n: integer;
begin
writeln( );
readln (n);
i:=1;
repeat write( ,i);
i:=i+1;
until i>n
end.
3.
, , , , - . . , xi-1/(i-1)!, xi/i! x/i.
Program example5;
Var i:integer;
x, eps, a,s:real; { }
begin
writeln( x );
readln(x);
writeln( eps );
readln(eps);
i:=0; s:=0; a:=1;
while abs(a)>=eps do
begin
s:=s+a;
i:=i+1;
a:=a*x/i
end;
write(s=,s)
end.
4.
,
, n 1 k/
Program example6;
Var i,n:integer;
x, s, a:real; { }
begin
writeln( n);
readln(n);
writeln( x );
readln(x);
s:=0; a:=-1;
for i:=1 to n do begin
begin
a:=-a*x/i
s:=s+a;
end;
write(s=,s)
end.
3.5
1. , (>b). a, a2,a3 b
2. H.
3. (A<=B) H.
4. ( =0,001)
5. ( =0,001)
( =0,001) :
6. ( =0,001)
7. ( =0,001)
8. 1, 2 n. :
9. n (n=1000) k , n k 0. 1 n .
10. (n!)
3.. y= , i 0 0,1 i
,
, , . , . . , :
1) TYPE_ =ARRAY[ ]_OF_ ;
:
Type M=array[1..100] of integer;
M , array[1..100] of integer .
2) VAR_ 1[, 2]: ;
- , , .
, .
var < >: rr [< >] of< >;
:
var :array[1..5] of integer;
, :
:
const=10;
type mas=array[1..n] of real;{ , }
var a:mas; { , }
, ( ). , , . , [3] -- 3- . , .
:
1 ;
2 ;
3 .
.
, 10 ( ).
1. .
for i:=1 to 10 do
Begin
Writeln( );
Readln(a[i])
End;
2. . .
for i:=1 to 10 do
a[i]:=random(n); {n }
4. . ( i = sini-cosi)
for i:=1 to 10 do
a[i]:=sin(i)-cos(i)
1. .
Program example1;
Var a:array[1..100] of real;
i,n:integer;
s:real;
begin
writeln( );
readln(n);
s:=0;
for i:=1 to n do
Begin
Writeln(a[,i,]=);
Readln(a[i])
End;
for i:=1 to n do
S:=s+a[i];
writeln(s=,s:5:2)
end.
2. () .
() , , .
Program example2;
Var a:array[1..100] of integerl;
i,n,min, nmin:integer;
begin
writeln( );
readln(n);
for i:=1 to n do
Begin
Writeln(a[,i,]=);
Readln(a[i])
End;
Min:=a[1]; { }
Nmin:=1;{ }
for i:=2 to n do
if a[i]<min { ,}
then begin
min:=a[i]; { }
nmin:=i;{ }
end;
writeln( a[,nmin,]=,min);
writeln( =, nmin);
end.
3. , .
Program example3;
Var a:array[1..100] of real;
i,n,k: integer;
real;
begin
writeln( );
readln(n);
for i:=1 to n do
Begin
Writeln(a[,i,]=);
Readln(a[i])
End;
for i:=1 to n-1 do begin
if a[i]=a[i+1] { }
then k:=k+1 { }
end;
Writeln(k=, k)
end.
4. ( )
Program example4;
uses crt;
const n=15;
var a:array [1..n] of integer;
i,j,b:integer;
begin
clrscr;
writeln(' ');
for i:=1 to n do begin
a[i]:=random(50);
write(a[i]:4) end;
writeln;
for i:=1 to n-1 do begin { }
for j:=1 to n-i do begin
if a[j]<a[j+1] then{ }
begin b:=a[j];{ }
a[j]:=a[j+1];{ }
a[j+1]:=b
end
end;
for j:=1 to n do write(a[j]:4);
writeln
end;
writeln(' ');
for i:=1 to n do write(a[i]:4);
readln;
end.
1. A(20) , .
2. , - , : - 0,2 0,5; - 1 0,25.
3. : : - , 0 0,05.
4. (100) . .
5. (20) , , , . .
6. (20) . : 0 1.
7. (1,2,.,20), .
. ,
8. (1,2,.,100), .
9. (20). .
10. (100) , .
11. M(100) .
0 .
12. (20). .
13. (30) , , , . .
14. , .
15. (20) .
16. , (10) ,
17.
(20).
18. A(20), .
19. A(20),