Professional Documents
Culture Documents
, , .
.
( ). , 2013 . 160 .
, -
, , , .
I - .
II , .
III
( 7.0) .
I () ,
.
,
, : , , ,
. , , , , , , A.. , , (), , ,
( ) , ,
.
,
.
, ,
, , , 2
, ?
,
.
, ,
, ( ), ,
, ?
, -
, , ,
, .
, ,
? , , .
, , N , (,
, , , )
(, , ) ,
() ,
,
.
, , , .
, ,
, ( -) / , .
, . ?
- , . , , , ( ), ,
,
,
; ; , , .
1970-1980- , , .
, ,
, , -
5
(Softwear)
,
.
: ,
, .
, , , , , .
.
, , 25-50
(
).
, , ,
, . ,
, .
: ,
.
.
6
, ,
, .
:
;
() ;
, ;
, .
, , , , , .
, , .
, ,
, , , ?
,
, , , , ; , , ,
; , , , ,
, 7
. , .
,
, () ,
- , , , , .
( ) , ,
.
,
, , , .
, ,
. , , ,
, .
.
. , .
M - ?
2
?
8
, / - .
,
, C++
Builder- ,
, ,
,
, .
- .
:
1. ;
2. ( );
3. ;
4. ;
5. ;
6. , .
-
() . 3,
4, 5 .
, ().
( ), .
, . () , , , .
, (, ). ,
() ,
.
(
) . .
, , .
,
, .
, .
:
;
;
.
10
, , ,
. ,
.
,
, . ,
. , , .
, -
, , ,
, ,
-, .
, -
, , / .
, , ,
. ,
, 11
. ,
.
,
( , , , ...).
, ,
, . . , .
, , , -
.
-
.
,
,
( ), .
. . XVII . (1623),
(1673) . (1642) .
12
-19 1830. ,
, B,
. .
- , ,
. (1815-1852)
. (1843) , , . - . A
. M , ,
. . A.
.
1854 .
, .
, - 3 1890. .
. 1896 .
, .
13
1936 . . , . , ,
, - .
XX . 40- . - . . (-3) - .
(MARK-1. 1944). - - . .
40-
. , . , ENIAC . . - .
1951. UNIVAC. IBM-
IBM/701- . E
- .
, . . P , . . ,
14
,
.
1950 . - (I ). A . . B ( ) . E - . 1950- ( ), II . 10 III - , 10 IV - - . 1990 V -,
.
. 1958-1960 . ALGOL-,
; :
Algol-68, Pascal (1970), Ada (1976), C++(1983).
-
(OS) - - .
: MS DOS, Windows, OS/2, MAC OS, Unix, Linux, ..
1965 . , . , 15
. :
, ,
.
, ,
.
,
.
,
.
, :
()
- , .
, , .
.
.
16
1970-1980 .
, .
(Gates William Henry,
1955) . 1972 .
-. 8008 Intel .
Altair - .
, . Microsoft, 60% , 40% . 1976 .
, .
,
.
, , 17
, ( , ) ,
, , .
, ,
; ,
A .
.
. .
: , ?.
:
, .
,
! (/ ) , .
, ,
, , . , ,
.
, , , .
, ,
, ,
18
,
( , ) ,
, , , .
ra undoda damkveTs
. 1
19
- , , ,
.
.
, , ( -
) - ,
, , : ,
, , (
), ..
, , ,
, . , .1. , .
, , , , . ;
.A ,
, , ,
. , , .
20
( )
.
, , . , , .
. () , .
, , ,
.
,
, , ( ) . ,
. ,
, .
, ,
21
,
, .
, .
. . , , .
, , ? , , ,
- .
: , , .
, :
1. .
2. , .
22
3. . U
,
, ,
,
. , ,
. , ,
, , . A
. M - , . ,
,
. ,
.
. .
,
. 23
,
.
, .
, , , .
,
,
.
24
. , () .
, , .
. () () ..
, , , , (, ) . .
. . , 555
( ) ,
I 5 , II - 5 , III - 5 .
5, , .
. , XXX X, , XXX .
.
25
An am1am2 ....ai ...a0 .a1a2 ......ak am1 N m1 am2 N m2 .....
+ a k N k
m1
a N
i k
(1)
i- i-
k -
m -
N - .
,
. (0,1,2,3, ...,9) - 12,
- 60 ..
i i1 . () .
A10=37.25 (1)
A10=3*101+7*100+2*10-1+5*10-2
A2=101.011
- A2=1*22+0*21+1*20+0*2-1+1*2-2+1*2-3=5.37510
A8=36,25
A8=3*81+6*80+2*8-1+5*8-2=30.562510
,
e=2,71828...... 2- 3
.
, :
.
26
, (0 1) .
E- .
( ) , :
- ;
;
.
8=23 16=24, ,
.
, A10=134,625 , , - .
A2 =1110110.101
A8= 166.5
A16=76. AA
A210= 000100110100.011000100101
,
:
,
( ) . (N-1) 0
() (2910+110=3010).
.
( , - 2, - 8, - 16).
27
(, , , )
.
,
, :
10
11
100
101
110
111
1000
10
1001
11
10
1010
12
11
1011
13
12
1100
14
13
1101
15
14
1110
16
15
1111
17
16
10000
20
C
D
E
F
10
(N1) (N2) -
28
. . A10=37.25
) N1 N2 AN1 N2 (N2
N1 ) .
N2- , . . N2
.
3710=1001012
2
4
4
0
2) 37 8
32 4
5
3)
37 16
32 2
5
2
2 2
2 1
0
3710=458 3710=2516
() , , , . (1) .
1) 1001012=1*25+0*24+0*23+1*22+0*21+1*20=32+4+1=3710
2) 458=4*81+5*80=32+5=3710
3) 2516=2*161+5*160=32+5=3710
) N1 N2 AN1 N1
N2 . ,
.
29
,
, , .
A10=0.625; A2=? ; A8= ?; A16= ?.
*
*
*
0 . 625
2
1 250
2
0 . 625
8
5 000
0 . 625
16
10 000
0 50
2
1 0
(1) .
0.1012 1* 21 0 * 22 1* 23
0.58 5 * 81
1 1 5
0.62510
2 8 8
5
0.62510
8
0. A16 10 *161
10 5
0.62510
16 8
, 2-
, .
() () () .
A16 2 A.5B (00)10'1010.0101'10112
A8 35.74 (0)11'101.111'1(00)
30
, .
, () ( ) () () .
() .
: A2=10110111.1001101; A8=?; A16=?
010 110111.100 110 1002=267.4648
1011 0111.1001 10102=B7.9A16
:
.
: A8=137.56
A16=?
137.568=1011111.101112=5F.B816
- , .
.
31
II
2.1.
- -
.
(...). - . - .
, .
50- -.
,,. - .
; , . ,
-. , , . - ,
() - .
- - , . , 32
, .
() .
. .
, .
. . ( ) - . (. ) , ..
1960-1970- . , - -68, 77 .
1971
. . . .
. A borland international, Inc- .
- ,
, .
.
33
,
, , -2 .
2.2. .
. , ,, ,
()
. () ,
. - , . 2-. ,
- :
1. ,
.
2. .
.
3. , D . :
. .
- : , .
-
. . , ,
34
.
;
. , ,, . , ( )
. ,,
. .
programirebis ena
enis elementebi
alfaviti,
leqsemebi,
sintaqsi,
programis
gaformeba.
monacemebze
moqmedebebis
organizeba
monacemebis
Setanagamotana
monacemebis
organizacia
monacemebis
damuSaveba
operaciebi da
gamosaxulebebi
operatorebi:
_miniWebis
_ganStoebis,
_ciklis da
sxva
monacemebis
tipebi
programebis
organizeba da
gamoyeneba
. 2.
.
( ),
. 35
- (... ) .
. . - .
- :: . ,,
(). ::
( ), < > , - , .
:
() , ,
, .
,
.
.
: , ,, :
< > :: 0 I 1
I ,, . (.3.)
< >
0
1
.3.
36
; .
,, - :
< > :: < >I< >< >
, .
. 4-
< >
< >
. 4
()
. , .
III
37
3.1
. (), . ,
.
< >
Const
Var
Type
< >
< >
< >
.
.
, ,
:
1. ;
38
) .
b d bc n
( :
Program Division;
Var a,b,c,d,m,n: Integer;
Begin ReadLn (a,b,c,d);
m:=a*d;
n:=b*c;
WriteLn (m,n)
End.
. Program (),
(Divizion-). Var (variables - ), ().
, Integer - .
Begin () End (). .
() . , . - (;) , . End
. (,) (
, .). ,
39
, . , . - , - .
, , .
, .
, .
,, .
(
), .
- , {...} .
(*...*). . , . ,
. . . . .
-, , ()
40
.
.
.
3.2. .
:
1. - ,
;
2. ,
, - , .
. , . ,, .
, . ,
, .
,
, .
:
1. ;
2. ;
3. .
:
41
1. ;
2. ;
3. .
, . , .
< >.pas
pas- . .
Edit .
.
( ).
.
< >.exe
()
Compile.
Run . . , , ,
,
42
.
(Debug), , . . , .
.
( ).
3.3. .
. ,
, .
:AA- Z- ()
a- z- ( ).
: 0,1,...,9
: 0,1,...,9,A,B,C,D,E,F.
: + - * / = < > [ ] . , ( ) : ; { } ^ @ $ #
( ):
: ;
<= ;
>= ;
(* *)
( { }- )
<> ;
(. .) [ ]-.
43
downto
goto
mod
record
type
and
else
if
nil
repeat
unit
array
end
implementation
not
set
until
begin
external
in
of
shl
uses
case
file
inline
or
shr
var
const
for
interface
packed
string
while
div
forward
interrupt
procedure
then
with
do
function
label
program
to
xor
,
.
. . , , , , . :
<>
<>
< >
<>
:
, . 44
- (Shift -). ()
max, MAX, MaX, mAx-
.
( )
, 63
, 63 ,
.
. :
{ , <<}>> }
(* , <<*)>> *)
, (, ...) ,
.
, {$ (*$ ,
.
.
3.4
- .
: , . , .
45
. ,
() .
.
.
3.1 . . Real , -Integer.
martivi
rigobiTiA
mTeli
namdvili
logikuri
masivebi
simboluri
striqonebi
CamoTvliTi
struqturirebuli
simravleebi
mimTiTeblebi
intervali
Canawerebi
failebi
, ,
-
. , .
46
. . .
< > Var
< >
;
< >
<>
<>
3.1
()
Integer
-32768...32767
Byte
0...255
Word
0...65535
Shortint
-128...127
Longint
-2147483648...2147483647
Real
(11-12)
Single
1,5 10 45...3,4 10 38
(7-8)
Double
5 10 324...1,7 10 308
(15-16)
Extended
10
Boolean
true, false
Char
ASCII
47
:
Var m,n,k: Integer;
x,y,z: Real;
Symbol: Char;
. ,
.
, , : 25, -24712, 376.
() $, $00000000 $FFFFFFFF.
, , .
; : 56.346, 0.000055, -345678.0.
() .
<> E <>
<> - . <> - - . : 7E-2 ( 7 10 2 ), 12.25E6 (12,25 10 6 ), 1E-25 ( 10 25 ).
- - : true,false.
- ,
, 'Turbo Pascal', '35-45-79'.
( ) 255 .
48
, ,
. :
< > Const
< >
;
<>
=
=
:
Const
Max=1000;
G=9.81;
. , .
:
< >
<>
<>
:
Const
=
=
<>
NumberCard:Integer=1267;
Size:Real=12.67;
Symbol: Char='*';
,
.
.
True
boolean
False
boolean
MaxInt
integer
32767
49
. ,
.
:
< >
Type
< >
;
<>
. , .
< >
<>
,
. :
Type Gaz=(C,O,N,F);
Metal=(Fe,Co,Na,Cu,Zn);
Var G1,G2, G3: Gaz;
Mel1,Met2: Metal;
Day: (Sun, Mon, True, Wed, Thu, Fri, Sat)
Gaz Metal- , G1,G2, G3 Met1, Met2 . Day
, .
(Fe,...,Zn,C,...,F, Sun,...,Sat) ,
.
50
2 . A 65535.
() .
0- .
, .
< >
<>
..
...
<>
.
. .
:
Type Numbers=1..31;
Alf='A' .. 'Z';
Var
Data:numbers;
Aso:Alf;
3.5 , , .
.
.
. I- , R- .
51
( ), (
). . . - <>.
R,R
I,I
I,R;R,I
R,R
I,I
I,R;R,I
R,R
I,I
I,R;R,I
R,R
I,I
I,R;R,I
A+B
A-B
A*B
A/B
div
A div B
I,I
mod
A mod B
I,I
.
.
<> < >
< >
,
52
- - (, , ). .
.
.
. , , . ,
. - .
-
Abs(x)
I,R
I,R
Arctan(x)
I,R
x- ()
Cos(x)
I,R
x- (x-)
Exp(x)
I,R
e x -
Frac(x)
I,R
x-
Int(x)
I,R
x-
Ln(x)
I,R
x-
[0,1)
Pi
Random
Random(x)
Round(x)
=3,1415926536E+00
x ( )
[0,x)
53
Sin(x)
I,R
Sqr(x)
I,R
I,R
Sqrt(x)
I,R
Trunc(x)
x- ()
x-
x-
, x- .
.
.
:
2a 0.5 sin( x y )
0.2c ln( x y )
(2 * a Sqrt(0.5 * Sin( x y))) /(0.2 * C Ln( x y))
, :
1. , .
(. ).
2. . ( A+-B, A+(-B)).
3. () . , , .
:
, (-);
*, /, div, mod;
+, -.
54
4. , ;
5. .
,
. , ,
..
,
. - :
y- , : : 3
X*X*X; ;
y , :
x y e y ln(x ) .
Exp(y*Ln(x)).
1
a 1 (a 1) 3
:
Exp(1/3*Ln(a+1)).
,
, .
.
<
>
<>
:=
< >
55
:
Y:=(F*N-4.5)/Cos(x)
:
, : = . ,
. , , .
3.6 .
() . , .
,
(, ,
). .
- . .
:
Read(< >)
< >-
, ;
:
Raed(a,b,c,d);
, a,b,c,d (
) Enter. 56
Read , .
:
Var T:Real;
J:Integer;
K:Char;
Begin
Raed(T,J,K);
, .
253.98 100 G (Enter).
Raed ,
, Read , Read .. .
, .
:
Var A,B:Integer;
C,D:Real;
Begin
Read(A,B)
Raed(C,D);
,
18758 34 (Enter) 2.62E-02 1.54E+01 (Enter).
ReadLn(< >);
ReadLn Read Line- . ,
. ReadLn -
57
. Read ReadLn
ReadLn(A,B);
ReadLn(C,D);
18758 34 (Enter)
2.62E-02 1.54E+01 (Enter)
( ) : Write(< >) , , ,
. Write(234,'A'); ( ). , 234A , .
, .
a=1, b=2, c=3,
Write(a,b,c);
123 ( ).
, .
: a,b,c- ,
Write(a+b+7;(c-a)*b);
104-.
58
.
, a,b,c-.
Write(a,' ',b,' ',c);
1 2 3, U Write , .
:
WriteLn(< >);
WriteLn-Write Line .
Write ,
. WriteLn- ( ).
. ,
. .
: ( ) .
,
.
.
.
I,P,Q- ;
R- ;
B- () ;
59
Ch- ;
S- ;
# - ;
* - <<+>> <<->> ;
_ - .
Write .
I - I .
I-
134
Write(I)
134
287
Write(I,I,I)
287287287
I:P - P I .
I-
134
Write(I:6)
___134
312
Write((I+I):7)
____624
R 18 R . R0,0
_#.##########E*##,
R<0,0-
#.##########E*##.
60
R -
715.432
Write(R)
-7.1543200000E+02
-1.919E+01
Write(R)
_-1.9190000000E+01
_-
R:P- P R
, . 7 , 8 .
.
R -
511.04
Write(R:15)
5.110400000E+02
-46.78
Write(-R:12)
-4.67800E+01
R:P:Q- P R
,
Q (0Q24) .
Q=0, .
Q>24,
R -
511.04
Write(R:8:4)
511.0400
-46.78
Write(R:7:2)
_-46.78
Ch:P- P Ch
.
Ch -
Write(Ch:3)
__X
Write(Ch:2,Ch:4)
_!___!
S- S-
S -
write (S)
_Day n
'RRDD'
write (S,S)
RRDDRRDD
61
S:P -P
S-
.
S -
'day N'
write (s:10)
_____day N
'RRDD'
write (s:5,s:5)
_RRDD_RRDD
B- B : true false :
B-
true
write(B)
true
false
write (B,not B)
falseTrue
B:P- P B
.
B -
true
write (B:6)
__true
false
__false___true
3.7
Write Writeln
A .
. , , .
CRT .
62
Uses CRT
CRT : , , ,
.
. ( ). .
, . , .
CRT , ( ).
TextMode (< >)
(), .
TextMode(1); TextMode(CO40);
( ).
, , CO80 ( ).
.
(X,Y). X -
.
X=1. Y - . .
63
80 x 25
(1,1); - (80,25); (40,13).
, (X,Y)- CRT
GoToXY(x,Y)
Byte .
* :
Uses
CRT;
Begin
ClrScr;
GoToXY(40,13);
write ('*');
End.
ClrScr .
.
, .
. 80X25 (1,1) - (80,25).
. :
Window (X1,Y1,X2,Y2).
Byte ,
. Window
, , .
64
CRT;
Begin
Window (1,1,40,12);
TextBackGround (White); ClrScr;
Window (41,1,80,12);
TextBackGround (Red); ClrScr;
Window (1,13,40,25);
TextBackGround (lightRed); Clrscr;
Window (41,13,80,25);
TextBackGround (green); Clrscr;
End.
15
. ,
65
Uses CRT;
Var I:Byte;
Begin
TextBackGround (White);
ClrScr;
GoToXY (1,12);
For I:=0 To 14 Do
Begin
TextColor (I);
Write (I:5);
End
End.
CRT .
.
ClrEOL . ,
.
DelLine. .
.
InsLine , .
LowVideo, NormVideo, HighVideo ,
,
.
KeyPressed .
() - ()? true, 66
false, .
, .
,
( End- ) :
Repeat Until KeyPressed;
, ,, . ,
,
(True), (End) .
().
,
,
( ) .
; (80X25, ,
). End :
Repeat Until KeyPressed;
Window (1,1,80,25);
TextBackGround (Black);
ClrScr;
CRT
. .
67
3.8 , .
.
()
. ,
68
, X Y -. .
() & ,, : (X>0)&(X<1) <<X x 1->> , X (0,1) .
V ,, : (X=0)V(X=1) <<X 0- X 1->>
X 0 1 - . , .
, , true-,
false - , boolean.
( )
false true .
.
<
>
<>
< >
<>
< > :
= -
<> - ( );
> -;
< - ;;
>= - ; <= - .
69
.
4 : not-; and- (); or- ().
- - . Xor.
, ,
.
. .
Not A
A and B
A or B
A xor B
.
-
.
, 1 x 50 (1<=X) And (X<=50);
.
, . (false true). , , , . .
70
d=true;
c=true;
b=false;
x=3.0;
):
1) x<2*y
- false
2) true -
true
3) d -true
<
>
< >
:=
< >
1) d:=true
3.9.
,
.
ord (x)
pred (x)
succ (x)
chr (x)
odd (x)
Byte
I
I
x
x
char
boolean
x-
x- .
x-
x
true x , false x .
71
succ ('b')='c'
:
Pred('5')='4';
Succ('5')='6'.
chr(x) ord(x) , x .
chr(ord(x))=x
(x )
ASCII :
ord(a)=97;
chr(97)='a'.
. , '5'-
5. :
N:=ord('5')-ord('0'),
72
N . , '5'-
, '0'- .
. : false, true. ;
ord(false)=0,
succ(false)=true
ord(false)=1,
pred(true)=false
( )
z:=x*ord(x>=y)+y*ord(y>x)
x, y, z .
, z max(x,y)- (x y ).
3.10 .
. :
if <> then <1> else < 2>;
,
:
if <> then <>;
:
<
> if
< >
Else
then
<>
<>
73
abc
- .
2
: .
, < >, .
Program Geron;
Var A,B,C,P,S:real;
Begin
Write('a='); ReadLn(A);
Write('b='); ReadLn(B);
Write('c='); ReadLn(C);
If (A>0) And (B>0) And (C>0) And (A+B>C) And (B+C>A) And (A+C>B)
then begin
P:=(A+B+C)/2;
S:=sqrt(P*(P-A)*(P-B)*(P-C)):
WriteLn('S=',S)
74
end
else WriteLn(mcdari monacemebia)
End.
. :
< >
While
< >
<>
Do
< >.
. <>
, ( ),
(Begin--End).
2.
1
1 1
1
... ...
2 3
i
, , -
i (MaxInt).
s:=0;
i:=1;
while (1/i>=Eps) and (i<MaxInt) do
Begin
s:=s+1/i;
i:=i+1
End;
- ( )
< >
Repeat
Until
<>
< >
75
, < >
(true).
:
s:=0;
i:=1;
Repeat
s:=s+1/i; i:=i+1;
until (1/i<Eps) or (i>=Maxlnt);
3.11 .
< >For
< 1>
To
< >
< 2>
Do
:=
<>
DownTo
< >
.
(To < 1> < 2>-) For :
1. < 1> < 2>- . .
2. < > < 1>- .
76
3. <
2>- ,
, ( <>), .
4.
( -
) 3-.
For
while
: ,
.
( .
< 1> < 2>-.
(Down To) (. ).
DownTo - ... .
( 4) (, I:=pred(I)). 3-. , < 2>-.
For
:
Real ;
- < >
;
- < ) 77
,
, .
: M- N - .
M N . :
N
i,
S i M
,
MN
M>N
For
.
I () M- N- . I-
. I N- , , (Begin ... End) .
MN
M>N ( To)
dasawyisi
Program Summa;
Var I,M,N,S:Integer;
M,N
S=0
Begin
Write('M='); ReadLn(M);
Write ('N='); ReadLn(N);
I=M,N
S=S+I
S
dasasrulili
S:=0;
For I:=M To N Do
S:=S+I;
Write('S=',S)
End.
N- M- ( DownTo), For
For I:=N DownTo M Do
78
. . :
For C:='a' To 'z' Do
Write (c,'-', ord(c));
C- Char.
3.12.
, .
. , - , , ,
.
1. ;
2. ;
3. ,
() .
(integer
-32768 +32767 ). . . ,
( , -
79
). ,
, .
, . :
* , .
* ,,
,, .
,,?
- , : , , .
, .
,
,
.
r0
r1
r2
r3 . r I
ri+1.....
rn-1
rn
, , . ( 0-
).
. (- t
p-t
) 2- x 2 =2 , p- , t . , 80
(p)
.
rmin r1 r0 2 pmin t
rmax rN rN 1 2 pmax t
:
Program
Var
Epsilon;
Eps: Real;
Begin Eps:=1/2;
While 1.0+Eps>1.0 Do
Eps :=Eps/2;
writeLn ('epsilon=',Eps)
End.
3.13.
. ,
.
: .
: a
b. a+b, |a-b| a*b
(USG). : USG (a+b,|a-b|,a*b).
: x, y z
, USG (x,y,z)= USG(USG(x,y),z). , ,
USG
USG.
, m n a+b
Ia-bI- C:=K
m n C a*b
USG(a+b,Ia-bI,a*b) .
82
,
Program USG1;
dasawyisi
m<>n
ger);
Begin
While m<>n Do
If m>n then m:=m-n else n:=n-m;
ki
ara
k:=m; End;
m>n
Begin
ReadLn (a,b); { n:=n-m
m:m-n
}
Evklid (a+b,Abs(a-b),c); { }
Evklid (c,a*b,c); { }
k:=m
Writeln ('USG=',c)
End.
dasasruli
< >
;
< >
<>
< >
Procedure
< >
< >
<->
var
< >
<>
<->
:
< >
<>
, . , - ( - ), .
, . .
(, ) .
< >
< >
< >
, . .
, . ,
, - ..
.
. :
()
. :
(84
).
m n -. . a+b abs(a-b)
; - c a*b. k -. . k- c. .
.
.
Program USG2;
ReadLn (a,b);
m:=a+b;
Procedure Evklid;
n:=abs (a-b);
Begin
Evklid;
While m<>n Do
m:=k;
n:=a*b;
k:=m
Evklid;
WriteLn ('USG=',k)
End;
Begin
End.
k , k:=m m:=k -
WriteLn ('USG=',m).
:
.
(, , .) , .
, .
85
.
,
() .
USG m,n,k ;
a,b,c . . ( ) .
USG2 . Evklid-
( ). m n
. k, ( ).
, .
, , . - .
. , . , () . ( ,
). :
< >
<>
<>
Function
(
86
<>
< >
< >
: <>
, - -. . , ( ).
:
Program USG3;
Var a,b,Rez: Integer;
Function Evklid(m,n:Integer) : Integer;
Begin
While m<>n do
If m>n Then m:=m-n Else n:=n-m;
Evklid:=m;
End;
Begin
ReadLn (a,b);
Rez:= Evklid(Evklid(a+b, abs(a-b)), a*b);
WriteLn ('USG=', Rez)
End.
, - , ,
.
, :
< >(< >)
,
.
, USG3-
87
.
. ,
.
( End
) . , ,
. - Exit. ,
:
Function Max(X,Y: Real): Real;
Begin
Max:=X;
If X>Y Then Exit Else Max:=Y
End;
(, , )
. ,
. .
.
.
88
. . A B
- .
. B
A ;
ZiriTadi programa
A
A
B-, A-
B- . A1 A2 -
A1
A2
A- ; A2- -
A1-, . B1
B1
B2
A-,
B21
B22
B -
.
B22 B21, B1- A-. ? - .
( )
(), . :
Program Example1;
Var A: Integer;
Procedure BI;
Var A: Integer;
Begin WriteLn ('A=',A);
End;
Begin A:=5;
BI
End.
Program Example2;
Var A: Integer;
Procedure BI;
Begin
WriteLn ('A=',A);
End;
Begin A:=5;
BI
End.
89
? () :
A= . . .
( ) ,
. :
A=5
A ( ), (). . ( ) () .
A . . , 5,
, .
? , .
.
.
, .
.
. , . .
n=0,
n>0.
. . :
n
n 1
i 1
i 1
n! i 1 2 3 n n i n (n 1)!
90
0!=1 . , ,
:
1!=10!=11=1; 2!=21!=21=2; 3!=32!=32=6; ..
-,
.
Function Factor (N: Pozint):Pozint;
Begin
If N=0
Then Factor:=1
Else Factor:=N*Factor(N-1)
End;
, Pozint , :
Type Pozint=0. .MaxInt;
X=3
X:= Factor(3);
, 3, Factor(2).
Factor(1)- . , Factor(0)-
1. , :
Factor(1)=1* Factor(0)=1
Factor(2)=2* Factor(1)=2
Factor(3)=3* Factor(2)=6.
.
, . ,
: - ; - .
91
- , ,
. n!- :
F:=1;
For I:=1 To N Do
F:=F*I;
, ,
. , , .
( ). . ,
.
, .
3.14 .
.
. :
k ,
:
ak+1=F(a1, a2, . . . , ak); ak+2=F(a2, a3, . . . , ak+1); ak+3=F(a3, a4, . . . , ak+2); . . .
F - k . , , :
ai=F(ai-1, a i-2, . . . , a i-k)
. k , .
- -
, , k , k .
92
(1) (2) .
a1=1; a2=3; a3=5; a4=7 a5=9 . . . (1)
a1=1; a2=2; a3=4; a4=8 a5=16 . . . (2)
:
ai=ai-1+2
, :
ai=2ai-1
, ( ). , . . , :
1,
ai
ai 1 2,
Tu i=1,
Tu i>1.
1,
ai
2 ai 1 ,
Tu i=1,
Tu i>1.
:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
, , , ( ) , :
1,
ai
ai 1 ai 2 ,
. , n!
n- :
a0=1; a1=1!; a2=2!; a3=3!; a4=4!
93
1,
ai
ai 1 .i,
roca i=0
roca i>0
.
:
1. (n-) ;
2. (.
n ..);
3.
, ;
4. , . (.
);
5. .
, , , .
. -
,
.
1. (1) n-
Var N,I: 0 . . MaxInt;
A:=1;
A: Real;
For I:=2 To N Do
Begin
A:=A+2;
Write('N=');
ReadLn(N);
WriteLn('A(',N,')=',A:6:0)
End.
ai=ai-1+2 A:=A+2.
94
2. (2) n (
n ).
Var N,I: 0 . . MaxInt;
A,S: Real;
Begin
Write('N='); ReadLn(N);
A:=1; S:=A;
For I:=2 To N Do
Begin
A:= 2*A; S:=S+A
End;
WriteLn('S=',S:6:0)
End.
() . :
3. n (n3) . , .
Var N,I,K,F,F1,F2: 0 . . MaxInt;
Begin
F1:=1; F2:=1; K:=0; ReadLn(N);
WriteLn('F(1)=',F1, ' F(2)=',F2);
For I:=3 To N Do
Begin
F:= F1+F2; WriteLn('F(',I,')=',F);
IF Not Odd(F) Then K:=K+1;
F1:=F2; F2:=F
End;
WriteLn('luwi ricxvebis raodenoba mimdevrobaSi tolia ',K)
End.
, .
95
4. x - (
=0,000001)
- .
, ex-, e (e=2,71828 . . .) , , , , - (xi/i!>), , ,
-.
:
, i-
. ,
. , , ,
ai=Kai-1.
x i / i!
x
x /(i 1)! i
i 1
x
x
: a0 1, a1 a0 . , a3 a 2 . ..
2
3
, :
96
1,
x
ai
a . ,
i 1 i
roca i=0
roca i>0.
, :
Var A,X,S,Eps: Real;
I: Integer;
Begin
Write('X='); ReadLn(X);
Write('Epsilon='); ReadLn(Eps);
A:=1; S:=0; I:=0;
While Abs(A)>Eps Do
Begin
S:=S+A; I:=I+1; A:=A*X/I
End;
WriteLn('S=',S:10:4)
End.
, .
s- ( ). . ,
, ,
. While Repeat (For . ?).
5. N x- (x>0) :
97
. . ,
N- :
a0 ,
Tu i=1,
ai =
ai-1+d , Tu i >1.
98
- :
96 70 -. ,
. k- , k=1,2,...,29.
99
p1 p0 Kpo (1 K ) p0 ; p2 (1 K ) p1 ; p3 (1 K ) p2 ;...; pi (1 K ) pi 1 .
, ,
:
96,
Tu i=1,
pi =
(1-K)pi-1 Tu 1 i 30.
, K . , , p0=96, p30=70, :
p30 (1 K ). p29 (1 K ) 2 . p28 (1 K ) 3 . p27 ... (1 K ) 30 . p0 (1 K ) 30 .96
, 70=(1-K)3096
, :
Var I: Byte;
P,Q: Real;
Begin
P:=96;
Q:=Exp(1/30*Ln(70/96));
For I:=1 To 29 Do
Begin
P:=P*Q;
WriteLn(I, dges pacientis masa=,P:5:3,kg)
End;
End.
100
3.15.
.
- , . , Turbo Pascal- , , ,
.., , .
.
, , ,
: , , .
, ,
, . .
IBM PC- Turbo Pascal-
, Graph
. 2-,
. Graph
Uses Graph;
. , - .
( ) .
:
(M x N, M-
(),
N-
();
( ).
-
101
. Graph
:
Procedure InitGraph(Var Driver, Mode : Integer; Path : String);
Driver ,
Mode ,
String Path
.
Graph ,
, 2- 2.1-.
, VGAHi
VGA (VGA- ) .
Uses Graph;
Uses Graph;
Var Driver, Mode : Integer;
Begin
Driver : = VGA;{}
Mode : = VGAHi;{ }
InitGraph(Driver, Mode, 'C:\TP\BGI');
, egavga.bgi VGA
C:\TP\BGI. VGAHi 640x480
16 .
102
,
, :
Driver := Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');
.
.
Graph :
Procedure CloseGraph;
.
. .
, .
.
2.2- EGA, VGA 16
.
:
Procedure SetBkColor(: Word);
Color .
:
Procedure SetColor(Color : Word);
, 0,
( ).
( )
, :
103
Procedure ClearDevice;
.
.
.
640
(x,y)
480
Y - . VGAHi
.
:
Function GetMaxX;
Function GetMaxY;
.
. ,
.
:
Procedure SetViewPort(XI,Yl,2,Y2:Integer;Clip:Boolean);
(XI, Y l) - ; (2, Y2) -
; Clip - ; Clip =
True, ,
.
.
104
.
.
(0, 0).
:
Procedure MoveTo(X, Y : Integer);
X, Y - ,
.
-
.
.
:
Procedure PutPixel(X, Y : Integer; Color: Word);
X, Y - , Color - .
1.
100 x 100,
4 :
Uses Graph;
Var Driver, Mode : Integer;
X, Y, XI, Yl, X2, Y2, Xc, Yc : Integer;
Begin
{ }
Driver : = Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');
{ }
105
Xc := GetMaxX Div 2;
Yc := GetMaxY Div 2;
{ }
XI := Xc - 50;
Yl := Yc - 50;
X2 := Xc + 50;
Y2 := Yc + 50;
{ }
SetViewPort(XI, Yl, X2, Y2, True);
{ }
SetBkColor(Yellow);
ClearDevice;
{ }
For X := 1 25 Do
For Y := 1 2 5 Do
PutPixel(4 * X, 4 * Y, Blue);
{ <Enter> }
ReadLn;
{ }
CloseGraph;
End.
.
,
.
, : ,
, , ..
.
Graph
.
106
(X, Y)
:
Procedure LineTo(X, Y : Integer);
DX, DY
:
Procedure LineRel(DX, DY : Integer);
(X, Y) R :
Procedure Circle(X, Y : Integer; R : Word);
(X, Y) , R ,
BegA EndA (
X ):
Procedure Arc(X, Y : Integer; BegA, EndA, R : Word);
(X, Y) , BegA
EndA , RX RY :
Procedure Ellipse (X, Y : Integer; BegA, EndA, RX, RY: Word);
2.
.
100 150
100
250 300
170
107
300
, , , ,
.
.
Uses Graph;
Var Driver, Mode : Integer;
Begin
{ }
Driver := Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');
SetColor(White); { }
SetBkColor(Black); { }
Rectangle(100, 100, 300, 300); {}
Circle (150, 170, 30); { }
Circle(250, 170, 30); { }
(150, 170, 45, 135, 40); { }
Arc(250, 170, 45, 135, 40); { }
Ellipse(200, 250, 0, 359, 10, 20); {}
Rectangle(130, 280, 270, 290); {}
MoveTo(100, 300); {.
}
LineTo(50, 350); {}
LineTo(350, 350); {}
LineTo(300, 300); {}
PutPixel(150, 170, Black); { }
PutPixel(250, 170, Black); { }
ReadLn; { }
CloseGraph; { }
End.
,
.
108
Graph
(, , ),
SetLineStile (. 2).
.
.
SetColor .
( ) . ,
, , .. (.
2).
(Fill)
(Color)
:
Procedure SetFillStyle(Fill, Color : Word);
, :
Procedure Bar(Xl, Yl, 2, Y2 : Integer);
, (SetLineColor,
SetLineStyle) (SetFillStyle), :
Procedure FillEllips(X, Y, RX, RY : Integer);
,
:
Procedure Sector(X, Y : Integer; BegA, EndA, RX, RY: Word);
,
:
Procedure PieSlice(X, Y : Integer; BegA, EndA : Word);
. (X, Y)
(Border). , :
Procedure FloodFill(X, Y : Integer; Border : Word);
Graph . ( 109
), ,
(Txt) (X, Y) :
Procedure OutTextXY(X, Y : Integer; Txt : String);
, THIS
IS A ROBOT, 2- OutTextXY(195, 400, ' THIS IS A ROBOT ');
. - .
, ,
, , .
.
, y=F(x)
.
:
1. ,
. : Xmin -
Xmax - .
2. ,
: Ymin Ymax.
, .
3. ,
: [Xgmin, Xgmax], [Ygmin, Ygmax].
, Ygmin >Ygmax.
, : (X, Y) -
( ,
" "), (Xg, Yg) - .
110
( Round).
, - .
[Xgmin,
Xgmax]
Y .
- X (Xi, Yi)
:
:
Xi= Xmin+ih; Yi= sin(Xi); i=0, ,190.
111
h
:
.
(). X
Yg=90, Y Xg=10.
:
Uses Graph;
Var Driver,Mode: Integer;
X:Real; Xg,Yg, I : Integer;
Begin
{ }
Driver := Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');
SetColor(White); { }
SetBkColor(Black); { }
Line(10, 90, 200, 90); { X }
Line(10, 20, 10, 160); { Y }
{ }
X := 0;
For I := 0 To 190 Do
Begin Xg := 10 + Round(95/Pi * X);
Yg := 90 - Round(50 * Sin(X));
PutPixel(Xg, Yg, Yellow);
112
X := X + Pi/95
End;
{ }
OutTextXY(15, 30, ' ');
OutTextXY (205, 90, 'x' ) ;
OutTextXY(130, 40, ' Y = Sin(X) ');
Readln; {}
CloseGraph; { }
End.
3.16. .
,
. . ,
.
.
(ASCII ).
0- 255. .
. :
,
IBM PC computer
33-45-12
:
Var <>: String [< >];
:
Var Gvari: String [20];
113
- .
, , 255-. :
Var Striqoni: String;
, <>. , ()
. , . , ,
.
() . . :
Gvari[5], Gvari[i], Striqoni[k+1].
(), .
.
String Char .
.
, , . .
(+)
. , . :
+ IBM+ PC.
:
IBM PC.
225- ( ),
( ).
114
saxeli1<saxeli2
True
pascal>PASCAL
True
Pele-<>Pele
True
MS DOS=MS DOS
True
, .
Copy(S,M,N) S N , M . M N - .
:
S-
ABCDEFG
Copy(S,2,3)
BCD
ABCDEFG
Copy(S,4,4)
DEFG
Concat(S1,S2,,SN) (, ) S1,S2,,SN .
:
Concat(AA,XX,Y)
AAXXY
115
Length(S) S .
.
:
S-
ABCDE
Length(S)
(A+B)*C
Length(S)
Pos(S1,S2) S2 S1 . , S2-
S1- .
:
S2-
abcdefg
Pos(cd,S2)
abcdcdefg
Pos(cd,S2)
abcdefg
Pos(k,S2)
Delete(S,M,N) S N , M .
:
S-
S-
abcdefg
Delete (S,3,2)
abefg
abcdefg
Delete (S,2,6)
S (N).
Insert(S1,S2,M) S2 S1 M .
:
S2-
PC
Insert(IBM-,S2,5)
Nax. 2
Insert(,S2,6)
:
116
S2-
IBM-PC
Nax. 2
1.
.
Program Sitkva-1;
Var S1,S2: String[10];
Begin
S1:=;
S2:=Copy(S1,7,2)+Copy(S1,3,4)+S1[2];
WriteLn(S2)
End.
2. .
Program Sitkva-2;
Var S1: String[10];
Begin
S1:=;
Delete (S1,3,2); Insert(E,S1,2);
WriteLn(S1)
End.
3. , N *- .
Program Stars;
Var A: String;
N,I: Byte;
Begin
Write(SemoitaneT varskvlavebis raodenoba);
ReadLn(N);
A:=;
For I:=1 To N Do
A:=A+*;
WriteLn(A)
End.
A- () ,
*-.
117
4. , !- ( ).
Program Cifrebi;
Var S: String;
K,I: Byte;
Begin
WriteLn(SemoitaneT striqoni);
ReadLn(S);
K:=0; I:=1;
While (I<=Length(S)) And (S[I]<>!) Do
Begin
If (S[I]>=0) And (S[I]<=9)
Then K:=K+1; I:=I+1
End;
WriteLn(! niSnamde cifrebis raodenobaa ,K)
End.
K , I
. ! , ,
. S[I] ,
0<S[I]<9.
5. , :
a b=
a b ,
: +, -, .
, 7+5=. ,
. ,
( ).
118
.
. . ,
4 ,
. :
Program Interpretator;
Var Str: String;
A, B: 0 . . 9;
C: -100 . . 100;
Begin
{ }
Write(SemoitaneT striqoni);
ReadLn(Str);
A:=Ord(Str[1])-Ord(0);
B:= Ord(Str[3])-Ord(0);
{ }
Case Str[2] Of
+ : C:=A+B;
- : C:=A-B;
* : C:=A*B;
End;
{ }
WriteLn(Str,=,C)
End.
. . :
< >
Case
<>
<>
<>
Of
End
;
,
119
<> - ;
<> - ; <> - .
:
;
, ; , ;
( , ) .
Str[2]. +-, C:=A+B; -, C:=A-B; , *-, C:=A*B. Str[2] C .
. Case Else- . Str[2]
, , :
Case Str[2] Of
+ : C:=A+B;
- : C:=A-B;
* : C:=A*B;
Else WriteLn(operaciis niSani arasworia);
End;
, .
3.17. .
120
, . , ,
o
C:
-5.4
-3.7
12.2
15
10
11
12
8.3
.
,
. , T1-, T5- ..
:
{Ti}, i=1,2,,12.
(1,2,i .) .
. , :
TsaS
1 12
Ti .
12 i 1
, . ,
.
10
11
12
2000
-5.4
-3.7
12.2
15
24.8
28.9
30.8
35.7
27.9
22.6
18.1
8.3
2001
-6.3
-5.9
14.7
15.5
25.2
28.4
31.4
34.8
28.1
21.4
17.6
7.9
2002
-5.7
-6.5
15.8
16.3
24.3
27.9
32.8
35.2
29.2
22.9
17.5
8.8
2011
-5.9
-6.3
15
15.5
27.9
28.9
29.9
33.8
25.8
22.7
18
2012
-5.2
-9.2
11.9
15
26.1
28.5
30.2
36.8
27.7
23.0
19.0
8.1
121
,
. ,
, .
. , H2000,2 2000 , H2007,5 - 2007 ..
:
{Hi,j}, i=2001 .. 2012; j=1 .. 12.
. ,
:
Hmarti
saS
1 2009
H i ,3 .
10 i2000
HsaS
1 2009 1 12
1 2009 12
H
i, j 120 i
Hi, j .
10 i2000 12 i1
2000 j 1
,
, . , ,
. .
. :
T[1], T[5], T[i], H[2000,9], H[i,j] ..
, ,
, .
122
.
. , (Real).
.
:
Var <> : Array[< >] of < >;
. , :
Var T : Array[1 .. 12] of Real;
, ,
, , . . 1..12. . , T[i+j], T[m div 2].
,
Integer-. , :
Var Cod : Array[Char] of 1 .. 100;
L : Array[Boolean] of Char;
:
cod[x]; L[true]; cod[Chr(65)] L[a>0].
. ,
;
Type Index=(A,B,C,D);
Var Class-10 : Array[Index] of Byte;
, Class-10[A] 28-, A 28 . .
123
, .
Type Mas1=Array[1 .. 100] of Integer;
Mas2=Array[-10 .. 10] of Char;
Var
, .
, ( ).
, :
Var H : Array[2000 .. 2009] of Array[1 .. 12] of Real;
:
H[2000] [1], H[2001] [10], H[2007] [12], H[i] [j] ..
, :
H[2000,1], H[2001,10], H[2007,12], H[I,j] ..
H[2000] ,
2000 .
:
Type Month=Array[1 .. 12] of Real;
Year=Array[2000 .. 2009] of Month;
Var H : Year;
:
Var H : Array[2000 .. 2009,1 .. 12] of Real;
, , , . :
Var A : Array[1 .. 10,1 .. 20,1 .. 30] of Integer;
124
, 102030=600
6002=1200 . . . 64 ..
, .
, , . .
:
Const Imax=10; Jmax=20;
Var Mas: Array[1 .. Imax, 1 .. Jmax] of Integer;
.
. :
, .
(
). :
Var P,Q: Array[1 .. 5, 1 .. 10] of Real;
P:=Q P Q .
, . , H ,
2001 2000 (
), :
H[2001]:=H[2000];
125
, ,
:
P:=H[2001]; H[2001]:=H[2000]; H[2000]:=P;
P :
Var P : Array[1 .. 12] of Real;
. , :
For I:=1 To 12 DO
ReadLn(T[I]);
For I:=1 To IMax DO
For J:=1 To JMax DO
ReadLn(Mas[I,J]);
.
Read .
:
For I:=1 To 12 DO Write(T[I]:8:4);
-:
For I:=1 To IMax DO
Begin
For J:=1 To JMax DO
Write(Mas[I,J]:6);
WriteLn
End;
WriteLn
.
,
, JMax 12 ( ).
.
126
1. T[1..12]
.
Program Example1;
Const N=12;
Type Vec=Array[1 .. N] Of Real;
Var T,Dt: Vec;
St: Real;
I: Integer;
Begin
{ }
Write(SemoitaneT temperaturebis cxrili);
For I:=1 To N Do
Begin
Write(I:2,:);
ReadLn(T[I]);
End;
{ }
St:=0;
For I:=1 To N Do
St:= St+ T[I];
St:= St/N;
{ }
For I:=1 To N Do
Dt[I]:= T[I]-St;
{ }
WriteLn(saSualo temperatura tolia,St:6:2);
WriteLn;
WriteLn(saSualo temperaturidan gdaxrebis cxrili:);
For I:=1 To N Do
WriteLn(I:1,:,Dt[I]:6:2)
End.
-
127
. N
.
2. . , . : , TMax T[1]- . TMax
, TMax .
NumMax,
, .
TMax:= T[1];
NumMax:=1;
For I:=2 To 12 Do
If T[I]>TMax Then
Begin
TMax:= T[I];
NumMax:=I
End;
,
, NumMax . , If > >= .
3. . N , , X , , X1X2XN.
. , - .
: X1 X2, X2
X3, XN-1 XN ,
, . 128
XN-. XN-1 .. , () .
For I:=1 To N-1 Do
For K:=1 To N-I Do
If X[K]>X[K+1] Then
Begin
A:= X[K]; X[K]:=X[K+1]; X[K+1]:=A
End;
4.
. ,
,
.
: S 10
.
, .
Program Example-4;
Type Month=Array[1 .. 12] Of Real;
Year=Array[1999 .. 2008] Of Month;
Var H: Year;
S:Array[1999 .. 2008] Of Real;
I,J,K: Integer;
Begin { }
Write(SemoitaneT temperaturebis cxrili);
For I:=1999 To 2008 Do
For J:=1 To 12 Do
Begin
Write(J:2,., I:4,:);
ReadLn(H[I,J]);
End;
{ }
129
- .
() .
,
.
. 0
255- .
, . () . .
. , Real .
.
, .
130
. :
[3,4,7,9,12] ;
[1 .. 100] 1 100 ;
[a,b,c] a, b c- ;
[A .. Z,?,!] ,
.
[] , , .
. , [1,2,3] [3,2,1] (
) .
, . [1,2,3,4,2,3,4,5]
[1 .. 5] .
:
Var <> : Set Of < >;
:
Var A,D : Set Of Byte;
B : Set Of a .. z;
C : Set Of Boolean;
- . :
< > := < >;
:
A:=[50,100,150,200];
B:=[m,n,k];
C:=[True,False];
D:=A;
131
.
.
. , .
, .
. ,
A B A B
. +.
A+B
A*B
A-B
A
A
B
a
b
. .
g
:
[1,2,3,4]+[3,4,5,6][1,2,3,4,5,6]
. A B , , A B (. .).
:
[1,2,3,4][3,4,5,6][3,4]
. A B ,
, A
B (. .). -.
[1,2,3,4]-[3,4,5,6][1,2]
[3,4,5,6]-[1,2,3,4][5,6]
, , - .
132
. ,
. ,
True False. , > <. , . , A B .
True
False
A=B
A B
A<>B
A B
A<=B
A B -
A>=B
B A -
, . M
:
Var M : Set Of Byte;
:
M:=[3,4,7,9];
:
M=[4,7,3,3,9]
- True,
M<>[4,7,3,9]
- False,
[3,4]<= M
- True,
[]<= M
- True,
M>=[1 .. 10]
- False,
M<=[3 .. 9]
- True.
.
. x , M - ,
:
x In M
133
True, x M , False - . :
4 In M True,
5 In M False.
, .
1. .
(. - , ; : ! * ?) .
Program P1;
Var S: String; I,K: Byte;
Begin
ReadLn(S); K:=0;
For I:=1 To Length(S) Do
If S[I] In [.,-,,,;,:,!,*,?] Then K:=K+1;
WriteLn(K)
End.
. ,
If : (S[I]=.) Or (S[I]=-) Or
(S[I]=,) Or (S[I]=?), .
2. ,
. S3 ,
S1 S2 .
Program P2;
Type Mset=Set Of a..z;
Var S1, S2, S3: String;
MS1,MS2,MS3: Mset;
C: Char;
Procedure SM(S: String; Var MS: Mset);
{ MS , S }
Var I: Byte;
134
Begin MS:=[];
For I:=1 To Length(S) Do
MS:=MS+[S[I]];
End;
Begin { }
ReadLn(S1); ReadLn(S2);
{S1 S2 MS1 MS2 }
SM(S1,MS1); SM(S2,MS2);
{MS1 MS2 MS3
}
MS3:=MS1* MS2;
{S3 }
S3:=;
For C:= a To z Do
If C In MS3 Then S3:= S3+ C;
WriteLn(Rezultat:,S3)
End.
3. ,
2- N(1<N255)- .
. :
1. , , ,
.
2. ,
.
3. ,
.
, N=15 ( ):
135
2 3 4 5 6 7 8 9 10 11 12 13 14 15
3 5 7 9 11 13 15
5 7 11 13
7 11 13
11 13
13
.
Program Eratosfen;
Const N= 201;
{ 1<N<256}
Var A, B: Set Of 2..N;
K,P: Integer;
Begin
{ A B , }
A:= [2..N]; B:=[ ]; P:=2;
Repeat
{ A }
While Not(P In A) Do P:=P+ 1;
{B }
B:=B+[P];
K:=P;
{ A P }
While K<=N Do
Begin
A:=A-[K];
K:=K+P;
End;
Until A=[ ];
{ , B }
136
, , SIM,
: INSET(SIM); .
3.19
. .
137
. :
(
);
( ).
. , , , ( ) . : .
, , ( )
.
:
Var < > : File Of < >;
< > , .
:
Var Fi: File Of Integer;
Fr: File Of Real;
Fc: File Of Char;
, 0- - (<..>):
. 0
138
. 1
. N
..
.
, ,
( ) . .
-
. A Rewrite(Fv); Fv- . .
, (). Rewrite
:
. 0
. 1
. N
..
Rewrite(Fv);
..
.
Write(Fv,V); V-
, Fv . , . ,
. . :
. 0
. 1
. N
..
Write(Fv,V);
139
. 0
. 1
. N
..
1.
20 .
Var Fx: File Of Real;
X: Real; I: Byte;
Begin
Rewrite(Fx);
For I:=1 To 20 Do
Begin
Write(?); ReadLn(X);
Write(Fx,X);
End
End.
-
. Reset(Fv)- . ,
. . :
:
. 0
. 1
. N
..
. N
..
Reset(Fv);
. 0
. 1
F Read(Fv,V); V-
Fv. V , .
:
. 0
140
. 1
V
. K
. K+1
. N
..
Write(Fv,V);
. 0
. 1
. K
. K+1
. N
..
V
. K
, .
.
; , n- ,
.
2. X Fx .
Program A;
Var
X: Real; I: integer;
Begin
Reset(Fx);
For I:=1 To 10 Do
Read (Fx,X)
End.
Eof(Fv) (end of file).
, true,
,
false.
3. Fx
.
Reset(Fx);
Sx:=0;
141
INPUT
; , ;
OUTPUT .
.
() ,
( ) . .
, .
()
(, ). DIR. , , , ,
. :
< >.< >
1 8- () ;
(0- 3- ) .
:
PROGRAM.PAS ;
NUMBER.DAT ;
NAMES.TXT .
:
Assign(< >,< >);
143
< > - ( ). :
Assign(Fi, Number.dat);
Assign Rewrite .
(Assign Reset), . .
:
Close(< >)
:
Close(Fi)
.
:
1. ;
2. ;
3. (Assign);
4. (Rewrite);
5. (Write);
6. (Close).
4. ,
.
, , . ,
9999 (,
).
144
Program Task1;
Var Ft: File Of Real; T: Real;
Begin
Assign(Ft,Temp.dat); Rewrite(Ft);
WriteLn(SemoitaneT monacemebi. dasrulebis niSania 9999);
ReadLn(T);
While T<>9999 Do
Begin
Write(Ft,T); Write(?);ReadLn(T);
End;
WriteLn(Semotana dasrulebuliia!);
Close(Ft)
End.
Temp.dat, .
:
1. ;
2. ;
3. (Assign);
4. (Reset);
5. (Read);
6. (Close).
5. Temp.dat
.
Program Task2;
Var Ft: File Of Real;
T,St: Real; N: Integer;
Begin
Assign(Ft,Temp.dat);
Reset(Ft); St:=0;
145
:
FileSize(< >);
,
.
. . ,
() . , , .
,
.
:
Var <>: Text;
.
(...) (...) . :
146
S1
S2
Sk1 ..
S1
S2
Sk2
..
..
(ASCII) 1
.
. -
, . ,
.
.
.
Read Write ReadLn WriteLn .
ReadLn(Fv,< >);
Fv
.
WriteLn(Fv,< >);
Fv
.
:
EoLn(Fv)
(End of line ). ,
true,
false .
Read ReadLn Input
( ). Write WriteLn 147
Output ( ).
. , Input Output .
Enter .
ReadLn . .
WriteLn ( ).
. . .
6. Note.txt . .
Program Task6;
Var Note: Text; K: Integer;
Begin
Assign(Note,Note.txt);
Reset(Note); K:=0;
While Not Eof(Note) Do
Begin
ReadLn(Note); K:= K +1
End;
WriteLn(striqonebis raodenoba tolia,K);
Close(Note)
End.
148
ReadLn(Note) Note.txt ( ).
7. Note.txt
.
Program Task7;
Var Note: Text; Max,K: Integer; C:Char;
Begin
Assign(Note,Note.txt);
Reset(Note); Max:=0;
While Not Eof(Note) Do
Begin
K:=0;
While Not Eoln(Note) Do
Begin
Read(Note,C); K:= K +1
End;
If K>Max Then Max:=K;
ReadLn(Note);
End;
WriteLn(udides striqonSi aris,Max,simbolo);
Close(Note)
End.
-, K . Max
K- .
8. . (, ) V F M
. , .
149
Date.txt , :
M()
F()
V(/)
K(/)
36.3
2000
50.5
0.5
x(1)
x(2)
x(3)
x(4)
x(5)
10
100
150
1000
3000
M,F,V,K X[1..5] ,
T[1..5] . , Rezult.txt.
,
.
150
{ FR }
WriteLn(
REZULTATEBI); WriteLn;
WriteLn(FR,
WriteLn( T(1)
REZULTATEBI); WriteLn(FR);
T(2)
WriteLn(FR, T(1)
T(3)
T(2)
T(4)
T(3)
T(5));
T(4)
T(5));
For I:=1 To 5 Do
Begin
Write(T[I]:8:2);
Write (FR,T[I]:8:2);
End;
Close(FD); Close(FR);
End.
Rezult.txt . . , .
3.20
, , . ,
().
.
, ,
. , :
151
.
Record () .
- :
Type Anketa1=Record
FIO: String[50];
{}
Pol: Char;
Dat: String[16];
{}
Adres: String[50];
Curs: 1 . .5;
{ }
Grup: 1 . .10;
Stip: Real;
{}
End;
Var Student: Anketa1;
, , .
, :
< >.< >;
: Student.FIO; Student.Dat; .. , ,
3, :
Student.Curs:=3;
,
. ,
( ) .
152
,
:
,
, .
:
Type Anketa2=Record
FIO: String[50];
Pol: Char;
Dat=Record
God: Integer;
Mes: String[10];
Den: 1 . . 31;
End;
Adres= Record
Gorod: String[20];
UlDomKv: String[30];
End;
Curs: 1 . .5;
Grup: 1 . .10;
Stip: Real;
End;
Var Student: Anketa2;
153
.
: Student.Adres.Gorod; Student.Dat.God; ..
. ,
500 ,
: Var Student : Array[1..500] Of Anketal;
, ,
Student[5].Dat.God.
:
< >
< >
<Record>
< >
< >
<End>
<>
,
;
( )
. , 500
:
For I := 1 500 Do
With Student[I] Do
Begin
Write('GSMs: '); ReadLn(GSMs);
Write('Sqesi (q/k): '); ReadLn(Pol);
Write(dabadebis TariRi: '); ReadLn(Dat);
Write('misamarTi: '); ReadLn(Adres) ;
Write('kursi: '); ReadLn(Curs);
Write('jgufi: '); ReadLn(Grup);
Write('stipendia (lari): '); ReadLn(Stip)
End;
,
:
154
(, ).
.
.
.
1. FM.DAT ,
.
: -, , .
:
Program Gamocda;
Type Stud = Record
GvSx : String[30];
Nstb : String[6];
Nishani : 2..5
End;
Var Fstud : File Of Stud;
S : Stud;
N, I : Byte;
Begin
Assign(Fstud, 'FM.DAT'); Rewrite(Fstud) ;
Write('studentebis raodenoba jgufshi? ');
ReadLn(N);
155
For I := 1 To N Do
Begin
Write(I:1,'studentis, GvarSaxeli '); ReadLn(S.GvSx);
Write('studbiletis nomeri: '); ReadLn(S.Nstb) ;
Write('nishani: '); ReadLn(S.Nishani);
Write(Fstud, S)
End;
WriteLn('failis formireba damtavrebulia!');
Close(Fstud)
End.
,
.
.
,
, .
,
.
:
Seek(FV,n).
FV - , n- .
.
2. .
.
,
.
.
(. 999).
:
156
Program New-Marks;
Type Stud = Record
FIO : String[30]; Nz : String[6];
Mark : 2..5
End;
Var Fstud: File Of Stud;
S : Stud;
N : Integer;
Begin
Assign(Fstud, 'FM.DAT');
Reset(Fstud);
Write(' ? ');
ReadLn(N);
While N 9999 Do
Begin
Seek(Fstud, N - 1) ;
Read(Fstud, S);
Write(S.FIO, ' ? ');
ReadLn(S.Mark) ;
Seek(Fstud, N 1) ;
Write(Fstud, S);
Write(' ? ');
ReadLn(N);
End;
WriteLn(1 !');
Close(Fstud)
End.
, ,
. , n,
n-1.
157
n- . ,
.
1. . . 7.0. . 2-
., . . .: , 2001.- 400 .
2. .. :
. . .: , 1997 342 .
3. : / . .. .
.: , 2002. -336 .
4. .. 7.0. : . . 7-
., . .: - , 2002. 576 .
5. .. 7.0. . .
. 7- ., . .: , 2001. 416 .
6. . 7.0, , 2000.
158
7. . . . , 2005
159
- .
12
17
21
I. -
25
II.
2.1.
32
2.2.
34
III. .
3.1
38
3.2. .
41
3.3. .
43
3.4
45
3.5 , , .
51
3.6 .
56
3.7
62
3.8 , . -
68
.
3.9.
71
3.10 .
73
3.11.
76
3.12.
79
3.13.
82
160
88
3.14. .
92
3.15.
.
101
3.16. .
113
3.17. .
120
3.18. .
130
3.19 . .
137
3.20
151
161