DELPHI
DELPHI
7
DELPHI
-
-
2005
681.3.06
32.973.26-018.2
28
28
. ., . .
Delphi . .: -, 2005. 496 : .
ISBN 5-94157-713-3
Delphi, Turbo Pascal 7.0 Object Pascal.
. Delphi,
. , , . .
,
681.3.06
32.973.26-018.2
:
.
.
I S B N 5-94157-713-3
. ., . ., 2005
) , "-", 2005
1.
11
1.1. ?
,
1.2.
1.3. .
11
16
18
2.
23
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
Turbo Pascal
Turbo Pascal
Turbo Pascal
Turbo Pascal
23
27
30
33
36
37
3.
41
3.1.
3.2.
3.3.
3.4.
;
41
49
54
67
72
4.
75
4.1. //.
4.2. .
4.3. case
4.4. goto
76
87
94
101
105
5.
107
5.1.
5.2.
5.3.
109
114
123
126
6.
127
6.1.
6.2.
127
138
143
7.
145
7.1.
7.2.
7.3.
145
150
154
159
8.
161
8.1. -
8.2. -
8.3.
8.4.
161
168
178
183
192
9.
195
9.1.
9.2.
9.3.
196
203
210
215
10.
217
10.1.
10.2.
10.3.
10.4.
217
221
225
233
242
245
12. Delphi
257
12.1. Delphi
12.2. Delphi
12.3.
257
260
276
13. Delphi
279
13.1. Delphi
13.2. Delphi
13.3. ""
13.4. ""
279
284
298
303
314
14. Delphi
315
14.1. ""
14.2. ""
315
322
14.3. ""
14.4. ""
326
335
343
15. Delphi
345
15.1. ""
15.2. " "
15.3. ""
15.4. ""
345
351
365
376
386
16. Delphi
389
16.1. ""
16.2. ""
16.3. " "
389
394
399
414
17. Delphi
415
415
421
18. Delphi
429
19.
441
441
444
446
448
450
453
458
461
465
467
469
471
3
4
5
6
7
8
9
10
13
14
15
16
1. Turbo Pascal
475
1.1.
1.2.
1.3.
1.4.
475
477
480
483
2. Delphi
487
File
Edit
487
487
Search
View
Run
488
488
488
3. Delphi
489
491
493
Delphi, Borland.
, , Windows. Delphi Windows- (
Windows-
C++), . , Delphi
RAD- . RAD Rapid Application Development, .
Delphi Object
Pascal, . ,
Delphi, , ,
.
70- XX ,
(16231662). , ,
,
( ), .
, , , ,
- .
. , -
_S
. ,
, ,
.
, , , , . , 1983
, .
.
80-
, .
, . ,
Turbo Pascal, Borland International. (19831992)
Borland , ,
,
, ""
. , , .
Turbo Pascal
MS-DOS, ,
Windows,
, .
,
, Windows.
90- XX Borland ,
MS-DOS
Turbo Pascal, , Windows.
Delphi. ,
Borland
.
Delphi ,
. , , , ,
,
. Delphi ,
.
Delphi, Turbo Pascal, . "" ( integrare , )
, ,
.
Delphi, -. ,
() , , ( )
. ,
, ,
.
,
Delphi . ,
. Cobol
, Fortran , Lisp Prolog . . Delphi ,
. , , , , . ,
Borland Delphi,
,
.
10
. , - ,
, , .
Delphi, ,
. .
. . ,
. . ,
. , , , .
1.1. ?
, ,
, .
, ,
,
. , ,
, - , .
, , . , , .
. .
1. , .
2. , , . ,
.
12
3. , .
4. , ,
. .
, ,
, ,
, . .
. -
, , , " ", . ,
.
:
1. (
, , , ).
2. ,
.
3. , ( , : ), .
4. , , , ( , , ,
. .), , .
5. , , ,
.
6. , .
,
, , .
7. ,
, , -
13
, ,
.
.
,
. .
1. .
2. .
.
, , ,
.
, , ,
.
(), .
.
.
,
.
,
, .
,
, , , , . . , ,
. , , , , ,
() , , ,
. ,
: , .
14
, .
, . - , , . .
, . , , . 1.1.
,
. 1.1. ,
. "" ""
.
"" "". , ,
.
, .
( , - ) . .
15
.
.
.
n,ai,a2,..
s ai+a 2 +...
...+.,+
. 1.2.
(. 1.2). , ,
,
2 . .
. , ,
.
16
s, .
. , as .
. , .
, ,
, ,
,
, . , ( , )
, , . .
1.2.
,
, , ,
. , , , , ,
.
, , ( hardware
""), ( software "").
.
, , , , . . ,
, , , .
40- XX ,
Or
17
, . ,
,
. ,
, . .
, .
.
.
,
. , , . . , -, . -,
, , ,
, , .
- .
" ", . . .
. ,
, . . . ( ) , . ,
,
, XXXXI , ,
. , -, . . , , .
,
-
_JS
1.3. .
,
,
.
19
:
1. . ,
, , , , , ,
.
2. .
, , . ,
,
.
3. .
, . .
, (
), -
( ).
, . ,
.
, . , . ., -, ,
, . -,
, . .
,
.
, ,
. "",
( , ,
, , ),
. ,
.
20
( ) , .
4. . ,
. -
( ) , . . ,
,
. ,
, ,
.
. ,
, .
. ,
. , .
5. . ,
, ,
, . , () .
, , , ,
.
,
.
,
,
21
, .
,
, . ,
,
. .
.
, - . ,
, ,
, .
.
, , , , .
.
- , ,
, ,
,
.
,
.
,
Turbo Pascal. Turbo "" , ,
.
, .
,
, ? , ,
Turbo Pascal 7.0
, , ,
"" .
, ,
.
24_
Rip-
.
, ( Rip , rest in peace, " ").
- . "" , . : , -
.
Turbo Pascal , ,
. , , Turbo Pascal,
http://borlpasc.narod.ru. , Turbo Pascal, ,
, Turbo Pascal
. Turbo
Pascal, .
Turbo Pascal , Windows Internet Explorer. ,
http://borlpasc.narod.ru <Enter>, , . 2.1.
TURBO PASCAL
- ,
, ,
,
.
-
, -
.
, ,
23.10.03
. 2.1. borlpasc.narod.ru
25
,
Turbo Pascal. ,
(. 2.2).
TURBO PASCAL
Turbo Pascal
Turbo Pascal
. 2.2. borlpasc.narod.ru,
. :
tp7.zipcwww.borlpasc.narod.ru
, .
. 2.3. tp7.zip
Turbo Pascal,
. ,
Turbo Pascal (. 2.3). tp7.zip
, -
26
. tp7.zip ,
, , . , ,
.
, ,
(. 2.4). , .
.
,
tp7.zip [].
, .
{
: ; ZIP WinRAR
. 2.4. , tp7.zip
, tp7.zip (. 2.5).
. tp7.zip
(1,09 ),
, , 1015 .
, , , , , , (. 2.6).
.
27
: 8% tp/ zip
_J
:
tp7.zip ww
lllllBlllllllIllllllllllilllBIl
:
:
S 57 (: 738 1.09 J
D:\tp74lp7.zip
2.31 /'
" Lj-iar,
'-'' ,] - '
. 2.5. , tp7.zip
I .
""< I
: .
:
tp7.zip wvsiw.boilpascnarod.ru
IIIIIIIIIIIIIIIIIIIIIIIIIIIMIIIIIMIIIIIIIII
;
:
1,09 MB 6 5?
:
D:\tp7\tp7.ap
2,6./;.:.
~ ' j i t .:
I
. [ I I
. 2.6. ,
2.2.
Turbo Pascal
Turbo Pascal
tp7.zip.
-. , Winzip. Winrar
ZIP, ,
.
() 7.
28_
.
turbo.exe ,
, turbo.tpl, , , turbo.tp, ,
turbo.tph, , . , (, BGI,
).
, ,
.
. ,
Turbo Pascal,
,
.
, Turbo Pascal. 7 ,
. prog.
Turbo Pascal MS-DOS, ,
Windows. .
MS-DOS.
7 md prog,
<Enter>.
Norton Commander (
,
MS-DOS). Norton
Commander 7
<F7>.
(prog)
(. 2.7).
Windows.
7
, .
, , , , . (
29
) , -
.
,
(. 2.8).
C:i
SOURCES
TPU
exe
exe
nss
nss
nccleen exe
ncclean ini
ncdd
exe
ncdd
rosg
exe
ansiiubb
ansi2866
arcuiew
bitnap
bug
bungee
clp2dib
dbview
exe
fil
hip
ico
ini
nsg
con
doc
ncnet
ncnet
ncpscrip
ncsf
ncsf
ncsi
ncsi
ncview
bill
tpc
tur
tur
tur
turuo
turbo
turbo
ip
tph
tpl
04
3.01.04
draw2wnf
123view exe drw2unf
4372ansi set evileye
85D2ansi set faces
14:17
set
set
exe
exe
nss
nss
exe
exe
nc
nc
nc
nc
nc
nc
nc
nc
KftTflflOn 15.04.03
exe
msg
hdr
exe
nsg
exe
nsg
nsg
20:1511
(^
Jl]
Non-system [D:]
Tp7
'
.
' J
<-]:
I Microsoft PowerPoint
*Q Microsoft Excel
@
WinRAR
I B StudyWorks Document
Q
" "
. 2.8. 7
Windows
30
7
,
. ,
( prog). <Enter>.
prog
.
C:i
BGI
PROG
SOURCES
TPU
turbo
exe
tpu
exe
dsk
turbo
turbo
turbo
turbo
turbop"1
tp
tph
tpl
pif
binobj
graph
tpc
turbo.exe
D:\TP7>
ITTP
402474
5.10.92
C:\HC =
draw2unf
123vieu exe dru2unf
4372ansi set evileye
8502ansi set faces
8632ansi set fish
8652ansi set flip
D662ansi set ico2dib
ansi2437 set mouse
ansi2850 set nsp2dib
ansi2863 set nc
ansi2865 set nc
ansi2866 set nc
arcview exe nc
bitmap
exe nc
bug
nss nc
bungee
nss nc
clp2dib exe nc_exit
dbuieu
exe nc_exit
8:02
exe
exe
nss
nss
nss
nss
exe
nss
exe
cfg
exe
fil
hip
ico
ini
msg
com
doc
ifl
ncclean
ncclean
ncdd
ncdd
ncedit
ncedit
ncff
ncff
nclabel
cna in
ncnet
ncnet
ncpscrip
ncsf
ncsf
ncsi
ncsi
ncvieu
10< 15.04.03
; 9rji
exe
ini
exe
msg
exe
msg
hip
msg
exe
exe
exe
msg
Mr
exe
msg
exe
msg
msg
20:15J|
i 1,
' ' _I
31
Jniernet Explorer
&
_'
Windtiw$35_step$
-)
[Jj
^Hardware
J3
Interne)
ll
MiciosoltOffici!
.'.'
'^
Windows Update
fig MS-DOS
>
'
.,-.','
-- Microsoft Office .
Turbo Pascal
I Miwosoft Office
55
\jb
Microsoft QuickBASIC
')
WinRAR
13
Windows Commander
|^
12)
'J3
.j
*])
0>1..
^
User...
Keyboard
Acrobat Reader 5.0
MathSoftApps
i S i Borland DelpN 6
>
Lrr)
InterBase
.*
Electron books
L^
Macromedia
Q
...
_rj
Virtua1CDv4
^UniarTutM
Norton Commander ;
ij)
'*j
'.''"
l|i) PROMT 38 ;
:
1 0 1 I ^MicrosoftWoid S i Slow '
'
Windows
, ,
. , turbo.exe. (
MS-DOS, Windows)
32
, - ,
( turbo.exe) .
: Tuibo Pascal
3URB0
J Ulpwpr j J ] |
(Turbo Pascal
^1
*. or ' 5.: p-srS'TTtl
1
MS-DOS. "".
...
...
. 2.11. - turbo.exe,
,
. .
: , , , , , .
(. 2.11).
. .
,
turbo.exe (. 2.12).
MS-DOS, Turbo Pascal, Windows.
, .
,
. (
) . -
33
, .
I
PIF-: D:\TP7\TURBOP~1.PIF
" Windows
R
MS-DOS
zi
OK
2.12. turbo.exe
34
Pascal
I- lie Search
Run Conpilc
Uebuj
"S*ve
F3 Open I I U i l ? ia
. 2.13.
, .
,
, . Turbo Pascal . , , :
File ;
Edit ;
Search ;
Run ;
Compile ;
Debug ( );
Tools
(, );
Options ;
Window , ;
Help .
. 2.14 Turbo Pascal
( File). ,
: , , -
35
Hun Compile
Debug
Tools
ilptions
flindou
Help
Tlpen;.
Saw
Sauc a s . . .
Sane a l l
Change d i r . . .
Print
Printer setup...
BOS s h e l l
Exit
HU+X
ill
. 2.14.
, .
( ).
, , . , , . ,
, .
<F1>, <F3>
<Alt>+<F10>. .
36
2.5.
,
, .
. . , , , ., , , , . , ,
.
:
Z. ,
, . .
;
0 9;
. , .
:
+ . * / =< >
[ ] , ( ) : ;
@ { } $ #
<= >= := (* *) ( )
,
, . :
asm array begin case const constructor destructor div
do downto else end exports file for function goto
if
implementation in inherited inline interface
label
library mod nil . not object of or packed procedure
program record repeat set shl shr string then to
type unit until uses var while with xor
. , - , .
37
( , ) , .
2.6.
, , , .
, , .
: () .
, . ( ), ( ). , .
, . , . ,
.
. , , .
, . , . . , (
), .
.
.
, ,
. . , ,
. , . ,
38
.
.
, ,
. .
,
, :
program ;
uses ;
label ;
const ;
type ;
var ;
function ;
G procedure ;
begin ( );
end .
. ,
begin end
. .
:
program _
,
, , , . , ;
.
, ,
. ,
, . ,
.
uses, "",
.
39
,
, .
, , .
, .
, . .
, , . , , .
, .
3.1.
, , . File | New ( New File
<Enter>).
,
(. 3.1).
,
.
turbo.tp. turbo.tp, , . -
42
ools
Upturns
Window Help
rile
tdit
Uebua
tools
Compiler...
Memory sizes
Linker...
Debugger...
Directories.
Tools...
. 3.2.
43
, ,
, .
. : " ".
(. 3.3, 3.1).
! 3.1.
program pervprog;
begin
writeln (' ')
end.
I^Tuibo Pascal
ToolsOptions
MUIJMM
Window Help
program pervprog;
begin
uritelnCMoa nporparna ')
end.
. 3.3.
, ,
. . <Enter>.
.
,
, <Backspace>, , . , , <Delete>.
:
44_
45
Turbo Pascal
MS-DOS, :
( MS-DOS) 8 ( 3 ,
). , ,
11 .
" 8+3". , Turbo Pascal,
pas.
File | Save as ( | ).
, .
, . , . ,
<Enter> Save as, . 3.4.
\ Turbo Pascal
oolsOptionsWindow
PROG13
PRBCU
PR0G15
PROGU
PR0G17
PR0G18
elp
.
, . .
- .
, , , . .
46
, ,
, ( ),
, . , .
( ), Cancel
( ) Help ( ). .
,
( ).
.
, , . , , ,
.
<> . (< >, <
>, < >, < >) .
, , ,
<>
<Enter>,
. , , prog. ,
.
( ),
.. ( )
<Enter> .
, , . ( )
<Enter> .
,
.
47
, , ,
,
. ,
,
, . . .
(,
), Cancel.
, , (), . ,
pervprog prog, 7, D:, : TP7\prog\pervprog.pas.
, , File | Save. ,
.
, , . . ,
Compile (), , .
. ,
.
MS-DOS Windows. ,
, . Run .
.
,
<Ctrl>+<F9>.
, (
, , ),
. ,
,
, " ":
Error 5: Syntax error
48
end, :
Error 10: Unexpected end of file
: "" , . .
.
Output () Debug. Debug
"" ( " "),
,
, . Output
(. 3.5). 2 . 1
.
.
Irtrt Turbo Pascal
TTIeEditSearchRunCompile
^^M^iiniMa!MT ,
Debug
loolsOptionsWindow
Help
r
t<<
M
l
program peruprog;
begin
uriteln (' ')
end.
= [ ] = = = = = =
Output i
Turbo Pascal Uersion 7.0 Copyright Cc) 1983,92 Borland International
I r i Help
Ti-**- Scroll
2=[]=
Flu Menu
. .5.
,
, User screen ( ) Debug <Alt>+<F5>.
, Output, .
,
- .
49
writein
write.
writein, write , , , . write writein . : "
".
write:
write('') ;
write(' ' ) ;
write('');
writein:
writein('');
writein(' ' ) ;
writein('');
,
:
, write writein , . , ,
, . ,
.
3.2.
. .
, . -
50
crt, . , Turbo
Pascal .
system. . ,
Crt , ,
Uses Crt.
Textcoior. Textcoior . Turbo Pascal 16 . :
Black ;
DarkGray -;
Blue ;
LightBlue ;
Green ;
LightGreen -;
Cyan ;
LightCyan -;
Red ;
LightRed -;
Magenta ;
LightMagenta -;
Brown ;
Yellow ;
LightGray -;
white .
TextBackground.
Textcoior,
8 :
Black
Red Blue
Magenta
Green
Brown
Cyan LightGray
TextColor TextBackground
, . .
:
1 ;
9 ;
2 ;
10 -;
2 - ;
11 -;
3 ;
12 -;
4 ;
13 -;
5 ;
14 ;
6 ;
15 ;
7 -;
128 .
8 -;
51
. , , . . -
. 128 .
:
Textcolor(lightgreen) ;
- .
Textcolor(10);
Textcolor(10+128) ;
- .
, -
(. 3.6):
Turbo Pascal 7.
, , , . , . cirScr.
, Crt. TextBackground .
Textcolor ,
writein. 3.2
.
I 3.2.
program democolor;
Uses Crt;
begin
CirScr;
TextBackground(LightGray) ;
TextColor(Red);
writein(' ' ) ;
TextColor(Green);
writein(' ' ) ;
52
3
TextColor(Blue);
writeln('
');
TextColor(Yellow);
writeln('Turbo
Pascal 7.0
' ) ;
end.
.
, , ,
. ,
. , . ,
,
, .
Turbo Pascal
program denocolor;
Uses Crt;
begin
ClrScr;
TextBacfcgi-ound(LightGray);
TextColor(Bed);
writeln('3Ta ' ) ;
TextCo lor(Green);
uritelnC' ' ) ;
TextColor(Blue);
uritelnC' ');
TextColoKVellou);
uritelnCTurbo Pascal 7.0 ' ) ;
end.
H e l p F 2 Sane
Local menu
. 3.6. , C r t (), ()
53
. 3.6 , (. 3.7).
.
, .
3, 128,
. 3.3 .
Pascal
program blinki;
Uses Crt;
begin
ClrScr;
TextColor(3+128);
writeln(' , ');
untelnC' ...');
uritelnCHe , ,');
uritelnCD , ');
readln
. 3.7. , (), ()
\ 3.3.
program blinki;
Uses Crt;
54
begin
ClrScr;
TextColor(3+128);
writeln(' , ');
writelnf' ...');
writeln('He , ,');
writeln('A , ');
readln
end.
.
, ,
, . , . 3.7, . ,
, , .
crt ,
.
3.3.
, , . ,
, .
, . ,
(. 3.8, 3.4). , - (, ), .
() .
3.4.
program suirana;
var
,,:integer;
55
begin
:=5;
:=10;
:=+;
writeln(c)
end.
HTuibo Pascal
le fcdit Search
Kun Compile
Debuglools
OptionsWindow Help
program surma;
uar
a,b,c: integer;
begin
a:=5;
:=10:
c:=a+b;
writeln(c)
end.
. .8. , (), ()
,
Crt. ,
, . . "" ( ), . ,
56
crt,
cirScr,
" ", .
, var ( variable ). , ,
. ,
. - , :
Error 3: Unknown identifier
, ,
var.
, integer (. .
). , : , .
, . .
.
:
_:=;
, , . , .
,
, ,
.
.
. ,
, .
:
57
=+5 ;
:=+5 . ,
, 5. ,
3,
8.
5 10.
+, . . . , writein.
, writein , . -, , ,
(
). -,
, . :
writein();
, 15.
( ) , . .
,
,
(. 3.9).
3.5.
?
'
| 3.5.
program summa;
Uses Crt;
var
a,b,c:integer;
begin
ClrScr;
writein (' 2 ');
writein (' Enter');
readln(a) ;
readln(b);
.........j
58
3
c:=a+b;
writeln(' 2 *,);
readln
end.
lm Tuibo Pascal
H i e tdit Search
Kun . Compile
Debug
lonls
Uptions
Window I
program surma;
Uses C r t ;
a,b,:integer;
begin
ClrScr;
writeln (' 2 ');
writeln (' Enter');
readln(a);
readln(b);
:=*;
uritelnCcyma 2 ',>;
readln
end.
. 3.9. () ()
readln. readln
writeln: readln , . write
writeln . readln,
:
readln();
readln(b);
. ,
59
, . . . ,
. , <Enter>. , , . . .
. .
, , . . "" , .
. , ,
. , :
writeln (' 2 ');
writeln (' Enter');
,
, . ,
, . . .
2 .
writeln , . , , ,
,
, . ,
"" readin.
,
<Enter>, . .
, .
Debug User screen
Output, , .
. , , (. 3.1).
60
3.1.
" = (* ))
div
mod
, .
, : (
*, : /). ,
, .
, ,
, , . ,
,
, . 3.1.
, ,
, ,
. ,
, . div mod .
div mod:
91 div 8 11;
91 mod 8 .
, . ""
, , .
, ,
. . , .
61
, . , , , . . .
, , . , :
5 + 3* (7+2) - 40 d i v 4
,
, . . 50.
. , .
, , , (. 3.10).
:
1 = 1024 ;
1 = 1024 ;
1 = 8 .
4 : mb ,
kb , by , b i t .
:
62
,
integer.
-32 768 32 767.
longint, -2 147 483 648
2 147 483 647. 3.6 .
Pascal
Ij file
Search
Kim Uonp l le
Debug
lools
(Iptio
Window
Help
program memory;
Uses Crt;
var
mb,kb,by,bit:longint;
begin
ClrScr;
uriteln (' ');
readln(mb);
kb:=102<tmb; by:-1024*kb; bit:=8*by;
w r i t e l n f ' , k b > ' ');
writelnCby,' ' ) ;
u n t e l n C b i t , ' ');
read In
end.
J3 Turbo Pascal
J2
'
nahifiiw 32/68
35!>1>432
. 3.10. , (),
(6)
3.6.
program memory;
Uses Crt;
var
irib,kb,by,bit:longint;
63
begin
ClrScr;
writeln (' 1);
readln(mb);
kb:=1024*mb;
by:=1024*kb;
bit:=8*by;
writeln(' ' , k b , ' ');
writeln(by,' ' ) ;
w r i t e l n ( b i t , ' ');
readln
end.
, readln, , writeln.
writeln , .
. , , , , ,
.
, ,
div mod. , ( 3.7, . 3.11).
, . ,
, .
1000, 500, 100 50 . . . ( , , 50.) 1000.
1000 . 500
500 .
100 . ,
100 50
50 .
, , ,
4750 , 1000
:
4750 div 1000 = 4; 4750 mod 1000 = 750
64
, 1000
4, 750 .
500:
750 div 500 = 1; 750 mod 500 = 250
, 1 500 ,
, 50- 100- , 250 . , ,
50- 100- .
Tuibo Pascal
program bankonat;
Uses Crt;
sun,ki000,k50D,k100,kSO.vspora:integer;
begin
ClrScr;
uritelnC ' cymy, 50');
readln(sun);
k100u:=sun div 1000;
vspon:=sun nod 1000;
k500:=uspon div 500;
ospom:=uspon nod 500;
k100:-vspon div 100;
vspon:=vspon nod 100;
k50:=vspon div 50;
writelnC' 1000 - ',k1000);
uritelnC' 500 - ',k50D);
writelnC' no 100 - ',k100);
writeln(' 50 - ',k5fl);
readln
end.
21:8
'
\ 3.7. ""
program bankomat;
Uses Crt;
65
var
sum,klOOO,k500,klOO,k50,vspom:integer;
begin
ClrScr;
writeln(' , 50');
readln(sum);
kl000:=sum div 1000;
vspom: =sum mod 1000;
k500:=vspom div 500;
vspom: =vspom mod 500;
kl00:=vspom div 100;
vspom:=vspom mod 100;
k50:=vspom div 50;
writeln(' 1000 - ',kl000);
writeln(' 500 - ',500);
writeln(' 100 - ',100);
writeln(' 50 - ',50);
readln
end.
: sum
, kiooo 1000 ;
500 500 , klOO
100 , 50 50 , vspom
, , .
kiooo, ksoo, kioo k50, .
vspom
.
1000, 500 , , 100.
.
, , .
,
.
.
.
. , ,
.
, . 3.12. . 1068
66
"" , ,
, .
, ,
, (* *) .
,
. . .
3.8 , .
Pascal
rile
tdit
Search
Kun
Compile
Debug
loo I s
Upturns
Window
program bankonat;
Uses C r t ;
uar
sun,k1000,k5D0,k1DO,k50,wspon:integer;
begin
ClrScr; { )
writeln(' cymy, SO');
readln(sum);f }
k1000:=sum dig 1000; { 10S0 )
vspom:=suM nod 1000;
k500:=vspon div 500; ( 50 )
uspom:=uspon nod 50(1;
k1D0:=vspon div 100; { 100 )
spon:=spon nod 100;
k50:=ospon diu 50;
{ 50 )
writeln(' 1000 - ',k100D) ; {)
writelnC' 500 - ',kbUU);
{)
wiitelnC' 100 - ' , 1 0 0 ) ;
{ )
w r i t e l n ( ' 50 - ' , 5 0 ) ;
{}
readln
end.
21:7
ke Hlt+FlO Local menu
Save 1-3 Upen
Pascal
c y m y , fjU
>
IKMOT no 1000 pyertei\
1BO fed iKHOT no ( J 0 0 IKHOT 111 - iKHtiT no SO *> -
-
0
3
1
. 3.12. "" () ()
3.8. ""
program bankomat;
Uses Crt;
67
var
sum,klOOO,k500,klOO,k50,vspom:integer;
begin
ClrScr; { }
writeln(' , 50');
readln(sum);{ }
kl000:=sum div 1000; ( 1000 }
vspom:=sum mod 1000;
k500:=vspom div 500; { 500 }
vspom:=vspom mod 500;
kl00:=vspom div 100; { 100 }
vspom :=vspom mod 100;
k50:=vspom div 50;
{ 50 }
writeln(' 1000 - ',1000); {}
writeln(' 500 - *,500);
{}
writeln(' 100 - ',100);
{ }
writeln(' 50 - ',50);
{}
readln
end.
3.4.
, , Turbo Pascal, , .
,
(. . ),
real ().
.
,
, . ,
10,23 10.23.
.
- , , a n . , 1 10.
.
,
mEn,
68
10. . 125.73
(
) 1.2573000000+02, ..
1.2573-102, 0.00441 4.4100000000-03, ..
4.41 10~3. , , , , . .
,
.
.
, , (. 3.13). ,
, . . 1 , w , h
v .
readln.
w, writeln.
. 3.9 .
I 3.9.
I,....,......,..,.,
.......................
....,..,.. ,
...,....!
program paral;
Uses Crt;
var l,w,h,v: real;
begin
ClrScr;
writeln(' ');
readln (1) ;
writeln(' ');
readln (w);
writeln(' ');
readln (h);
v:=l*w*h;
writeln (' ',v);
readln
end.
69
, .
. ,
. .
. . , , ,
. ,
. , ,
t, , 8 , 3 , 1 , 4 ,
:
writeln(t:8:3);
, (
) , , "" , , , .
, :
writeln
(' 1 ,
v:6:2)
. . 6 ,
3 , 1 2 .
:
18.90
. . ,
(. 3.13).
3.9 , , , ,
. ,
, ,
. , :
.
, , , ,
70
3
Tuibo Pascal
program paral;
Uses Crt;
war l,w,h,u: real;
begin
CIrScr;
uritelrK ' ');
readln (1);
writelnC' ')
readln (w);
writelnC' ');
readln Ch);
u:=l*w*h;
writeln (' *,v:6:2);
readln
. 3.13. fa) ()
.
.
, ,
.
,
, .
,
, , , .
( ) ( ), .
71
, . .
,
. . 5 4. 1.25, . . .
. 25 5,
5.0 ( 5, ). , ,
1, ,
, , .
, .
,
. : . ,
, . , . . .
(), : trunc, round, chr ord.
.
, ,
Turbo Pascal. , ,
, .
.
-,
-
. -, , .
Open
File. ,
,
Save as.
, (
72
) . Open
(. 3.14).
. 3.14.
1. , -
:
:
1)
2)
3)
2. , , * (). ,
*, . .
, .
3. ,
, .
73_
.
. ,
.
4. , . .
5. ,
. ,
. 1
( )
( )
.
,
.
,
. , .
,
,
, .
.
,
.
, , . , , . 6 :
< ;
> ;
= ;
<= ;
>= ;
.
3 ,
<, > , . . -
76
,
.
, , .
if.
4.1. if
if :
if
then !
else 2;
77
. 4.1.
! 4.1.
program maxim;
Uses Crt;
var a,b:integer;
begin
ClrScr;
78
SfTuibo Pascal
I-lit
Bun Compile
Uebug
loals
program maxim;
Uses Crt;
war a,b:integer;
begin
ClrScr;
uriteln <' ');
readln(a);
writeln(' ');
readln(b);
if a>b
then writelnCa,' ')
else uritelnCb,' ');
readln
end.
Help
F2 Sae
FFTipen
.;
. 4.2. () (6)
if -, . , ,
. 4.3 ,
. " ", " -
79
". writein , , . i.
1961.
, writein , i ,
. 4.2
.
Lr lie
tdit
Search
lools
Options
windowHelp
program flight;
Uses Crt;
war i: integer;
begin
Clrscr;
writein (' ?');
writein (' "Enter"');
readln(i);
if i = W 1
then writein (' ')
else uritelnCBbi ');
readln;
end.
. 4.3. - () ()
[ 4.2.
program flight;
Uses Crt;
var i:integer;
80
begin
Clrscr;
writeln (' ?');
writeln (' "Enter"');
readln(i);
if i-1961
then writeln (' 1)
else writeln(' ');
readln;
end.
, ,
, .
.
:
if then ;
. , if, , , then, ,
,
, .
, :
. ,
, 4.3.
I 4.3.
program ;
Uses Crt;
var a,b, ,max,min:integer;
begin
ClrScr;
writeln(' ');
readln(a);
writeln(' ');
readln(b);
writeln(' ');
81
readln();
:=;
if b>max then max:=b;
if O m a x then max:=c;
min:=a;
if b<min then min:=b;
if c<min then min:=c;
writeln(' ',max);
writeln('
',min);
readln
end.
S T u i b o Pascal
Edit Search
EFile
Bun Compile
Debug
lools
Options
Window
Help
program ;
Uses Grt;
var a,b,c,nax,nin:integer;
begin
ClrScr;
uritelnC' ');
readln(a);
uritelnC' ');
readlnCb);
uritelnC' ');
readlnCc);
if > then nax:=b;
if c>nax then nax:=c;
nin:=a;
if b<nin then nin:=b;
if c<nin then nin:=c;
uritelnC'
uritelnC'
readln
end.
23:1
Turbo Pascal
211
96
. 4.4. ()
(6)
(. 4.4) readln , , .
, , max. max , , .
82_
max
if. , max, max , .
max, ,
. max .
.
, .
max, max :
. max, max .
max , . max
writeln .
(min).
, -, . 4.3. ,
(. 4.5). 3 ,
. ,
. ,
, 5 .
1 . (
3 ) .
.
. 5. , . writeln.
, . readln i. .
if. "" , ,
83
, . . 1 . , , then,
, . . , .
, . . , . 4.4 .
Pascal
lie
Edit
Search
Dpi ions
Window
Help
program space;
Uses C r t ;
war i,n:integer;
begin
ClrScr;
n:=S;
wi i t e l n C B !) ');
readln(i);
if i<>195? then n:=n-1;
writelnC'B ');
readln(i);
if i<>1961 then n:=n-1 ;
writelnC'B ' ) ;
readlnC i ) ;
if i<>1969 then n:=n-1;
uriteln(' ' , ) ;
reedIn
end.
1961
II
\969
B<iui*i 3d 34 S
. 4.5. () ()
! 4.4.
program space;
Uses Crt;
var i,n:integer;
begin
ClrScr;
n:=5;
84
writeln(' ');
readln(i);
if i<>1957 then n:=n-l;
writeln(' ');
readln(i);
if i<>1961 then n:=n-l;
writeln(' ');
readln(i);
if i<>1969 then n:=n-l;
writeln(' ' , ) ;
readln
end.
, -
. , . , , , ,
then else.
,
begin end. begin end,
,
, .
: ,
, ( ,
) . , , .
, , . begin end . end (
), . . end
, . ,
:
if then
begin
_1; _2; ... _
end
85
else
begin
_1; _2; ... _
end;
, .
, .
.
, ,
1000 ,
. ,
. ,
,
, .
1000 ,
, .
, ,
: sum ,
skidka , sumsk
. .
.
sum 1000, , then. , 4 .
sum 0.03. skidka.
. sumsk. .
.
, . , , , , , .
, 1000 , , else.
writein,
86
4
Tuibo Pascal
- lie tdit SearcIT
Compile Debug lools Options
ni
--^l'iifMi:;-!-!
progran magazm;
Uses Crt;
sun,sunsk,skidka?rea1;
begin
ClrScr;
writelnC' cynriy ');
readln(sun);
if sun>1fl00 then
begin
5kidka:=sum*0.03;
sunsk:=sun-skidka;
uritelnC'Cyma ',skidka:7:2);
writeln(' ',sunsk:7:2)
end
else
titriteln(' ');
readln
end.
H e l p F 2 Save
F3 pen
ConpiIf
Window
Help
Local
. 4.6. , (),
(6, )
,
. 4.5 .
4.5. ,
program magazin;
Uses Crt;
var sum, sumsk,skidka:real;
87
begin
ClrScr;
writeln(' ') ;
readln(sum);
if sum>1000 then
begin
skidka:=sum*0.03;
sumsk:=sum-skidka;
writeln(' ',skidka:7:2);
writeln(' ',sumsk:7:2)
end
else
writeln(' ');
readln
end.
. 4.6
(. 4.6, 1000 . 4.6,
1000).
4.2. .
,
, : ""
( ) "" (
). - "" ""
true false. ,
(true false), .
XIX ,
.
boolean.
:
var logic:boolean;
,
,
. , , :
logic:=>=15;
88
. . logic
>=15. ,
logic true.
false. ,
,
.
,
.
writeln .
true false :
logic:=true;
. ,
. , , , . 3 , z flag,
. , , , ( ). , ,
,
. var, ,
.
flag false.
3 ,
. ,
, ,
, , , . , flag true. , ,
. , , flag true. ,
flag , . . false.
89
. 4.7 .
,
.
, . . , true false.
4 : not (
), and ( ), or ( -
90
), ( ). ,
. . , , ,
. . , .
not, .
Tuibo Pascal
File Edit
U
. ri-g
Search
Bun
Compile
Debug
Tools
- -ijiiiin;n
Options
.
Window
Help
_4[
program pozit;
Uses Crt;
war x,jf,z: integer; flag:boolean;
begin
ClrScr;
lUf.-iaHf,
writelnC' ');
readlnCx);
if x>0 then flag: true;
writelnC' ');
readlnCy);
if y>0 then flag:=truc;
writelnC' ');
readlnCz);
if z>0 then flag:=true;
if flag then writelnC' ')
else writelnC'Bce ');
readln
end.
. 4.7. , , (),
(6, )
, , .
not, . . . -
91
and. or .
, , , , , ,
.
,
, ,
.
. . 4.1 4.2
.
4.1.
not (X)
false
true
true
false
. 4.1 , not,
, .
, . 4.2,
, and true ,
Y, ( ) true. false. or
true, ( )
true. or false , false. true, . (
, false true),
false.
4.2.
X
X and Y
X or Y
X Y
false
false
false
false
false
false
true
false
true
true
true
false
false
true
true
true
true
true
true
false
92
, . , ,
5 20, . . 5
20, :
(>=5) and (a<=20)
,
.
: , .
, .
, . , ,
, .
if, ,
. , ( 10)
( 99). , and.
, then.
. cl 2. cl 10. 2
10.
sum writein .
10, 99 (. . if ) , else, . .
. 4.7 .
93
lie
edit
search
nun Compile
Debug
Tools
Options
program cifrsum;
Uses Crt;
x,c1,c2,sun:integer;
begin
ClrScr;
writelnf' ');
readln() ;
if (x>-10> and ix<=99) then
begin
e1:=n nod ID;
c2:=x div 10;
sun:=d+c2;
uritelnCCynna ',sun);
end
else
uriteln('Bu ');
readln
end.
. 4.8. ()
(, )
4.7. ,
program cifrsum;
Uses Crt;
var
x,cl,c2,sum:integer;
begin
ClrScr;
94
writeln(' ');
readln(x);
if (x>=10) and (<=99) then
begin
cl:=x mod 10;
2:= div 10;
sum:=cl+c2;
writeln(' ',sum);
end
else
writeln(' ');
readln
end.
. 4.8 .
, , ( " ").
4.3. case
,
,
.
if.
if, , . ., ,
.
. . , , ,
, , .
,
, . case.
case :
case of
_ 1: _1;
_2: _2;
95
_: _;
e l s e _+1
end;
- . , 1 ( - read
readln, ), 5,
, 2, 10,
3, 20, - , . -
96
. case .
, case, ,
.
. -
, . readin writein
.
, . , 1
, 2 . .
readin , -. case. (, , )
writein.
writein , , . (. .
, ), ,
. ,
.
, .
, , writein , - .
4.8 .
! 4.8. ,
program kalkulat;
Uses Crt;
var a,b,x:integer; d:real;
begin
ClrScr;
writein(' ');
readin(a);
writeln(' ');
readln(b);
writeln(' , ');
writeln('( )');
writeln ('1 - , 2 - , 3 - , 4 - '
readln() ;
case of
1: writelnfa,'+',b,'=',a+b);
2: writeln(a,'-',b,'=',a-b);
3: writeln(a,'*',b,'=',a*b);
4: begin d:=a/b; writeln(a,'/',b,'=',d:7:3) end
end;
readln
end.
. 4.9.
Tuibo Pascal
program kalkulat;
Uses Crt;
war a,b,x:integer; d:real;
begin
ClrScr;
writelnC ');
readln(a);
uritelnC' ');
readln(b);
writelnC' , ');
writelnC'( )');
uriteln '1 - , 1 - , 3 - , 4
readln(x);
case x of
1: writeln(a,'+',b,'=',a+b);
2: uriteln(a,'-',b,"=',a-b);
3: uriteln(a,'',b,'=',a*b);
4: begin '.-/; writelnCa,'/' ,b,'-' ,d: 7:3) end
. 4.9. - () ()
4 . 1068
97
98_
case .
-. , , ,
-
. , ,
, , .
, .
. case, , .
, - :
case n of:
3,5,7: :=*;
10..20: :=**;
30..40: :=***;
e l s e y:=x
end;
, 3, 5 7,
. 10 20 (10, 11, 12 . . 20 ),
, .
30 40, , .
, ,
.
case : ,
, ,
.
. ,
, ,
. 4.9
.
4.9. ,
program month;
Uses Crt;
var m: integer;
begin
ClrScr;
writeln(' ');
readln(m);
case m of
1,2,12:
begin
textcolor(LightGray);
writeln(' ')
end;
3,4,5:
begin
textcolor(Green);
writeln(' ')
end;
6,7,8:
begin
textcolor(Red);
writeln(' ')
end;
9,10,11:
begin
textcolor(Yellow) ;
writeln(' ')
end;
e l s e writeln(' ')
end;
readln
end.
, -. .
1, 2 12 writeln,
, . Turbo Pascal , . .
( ,
) ,
. -
100
( , ). ,
. ,
(,
). (. 4.10).
Tuibo Pascal
program month;
Uses Crt;
n:integer;
begin
Clr-Scr;
writelnC' ');
readln(n);
case n of
1,2,12: writelnC' ');
3,4,5: begin textcolor(Green); writelnC' ') end;
6,7,8: begin textcolor(Red); writelnC' ') end;
9,10,11: begin textcoIorCVellou); uritelnC' ') end;
else writelnC' ')
end;
read In
end.
. 4.10. , (),
(, )
101_
4.4. goto
, , ( ),
.
,
- . , , ,
, ,
, .
, , .
,
,
(, ,
). , , .
, ,
, , . .
:
goto _;
goto , "
", __ , label.
,
, . . : metkal, metka2 . .
, , :
me t ka: ;
. . , , , .
, .
.
,
,
102
.
.
:
l a b e l __;
l a b e l , "", _
, .
, . ,
, ,
,
,
. , , "", .
, , goto ,
,
. .
, , , , . .
, .
, ,
.
, ,
,
, . , ,
. ,
, goto, ,
.
, .
( 4.10),
" " ,
else. ( ), . ,
, ,
103
, . , , .
: ,
else. else
, ,
begin end. .
, , . .
. ,
.
( ),
10.
end. end,
case .
, , , 10. , , . 10 label. ,
, 0 13, "" ,
.
4.10 .
4.10.
program monthl;
Uses Crt;
label 10;
var m:integer;
begin
ClrScr;
10: writeln(' ');
readln(m);
case m of
1,2,12:
begin
textcolor(LightGray);
104
writeln(' ')
end;
3,4,5:
begin
textcolor(Green);
writeln(' ')
end;
6,7,8:
begin
textcolor(Red) ;
writeln(' ')
end;
9,10,11:
begin
textcolor(Yellow);
writeln('
end
else
begin
')
writeln(' 1);
goto 10
end
end;
readln
end.
. 4.11
:
.
,
. .
, , . . .
,
( , ).
.
105
* Pascal
F i l e Edit Search
Fools
Options
Window Help
progran month;
Uses Crt;
label 10;
var n:integer;
begin
ClrScr;
10: wntelnC' ');
readlnCn);
case n of
1,2,12: writelnCflpxuna ');
3,4,5: begin textcolor(Creen); uriteln( " ') end;
6,7,8: begin textcolor(Red); uriteln(' ") end;
9,10,11: begin textcolor(Vellou); writelnC' ') end;
else
begin
uriteln(' ');
goto 10
end
end;
readln
end.
1
=
21:10 r
h H Tuibo Pascal
BtteAMte Hunep neomd
U
. 4.11. ()
()
1. , ,
5.
2. , ,
.
3. 3 . ,
(1 ). ,
, . , , -
106
, . ,
( ),
(. . ).
4. , , . , : 1 ,
2 (
), 3
( , 15).
.
,
,
.
. , , .
: , .
1 50 .
, (1, 2, 3 . .
50), .
,
.
:
kg:=c*100;
writeln(c,kg);
, , a kg , , , , kg
.
,
:
50 ,
,
readln.
108
,
kg 50.
2, kg 100. 50, a kg
5000. , ,
" " .
, , - ,
.
.
:
. , .
. (
, ,
), .
, , , .
, ,
.
. ,
, . . , , .
, . , , , - , .
50. ,
, , 51, .
, .
109
3 .
.
( for.. .to).
( while).
( repeat. . .until).
,
.
, (
for... to while , repeat.. .until
) . , for...to.
repeat.. .until ( ,
), while (
,
). .
5.1.
:
for _:=_ to _ do
_;
:
for, to do (for "", to
"", do ", ").
_ , .
. - , .
- ,
, .
.
_, _ .
.
, .
110
_ ,
. .
,
do.
- integer,
.
,
.
,
, :
for c:=l to 50 do
begin
kg:=c*100;
writeln(c, kg)
end;
( ). 1.
, , . . kg, 50, 1 50 .
kg , 2, 2 100 , ,
kg 50 5000.
,
50. , , 50-1+1 , . . 50 . , ,
,
5 . ,
, ,
100 .
. 5.1
. ( , ). "".
. ( "")
, .
,
. ,
111
, , ,
. , (,
).
:=1,50
kg:=c*100
c,kg
. 5.1.
for . for
:
for _:=_ downto _ do
_;
, , ,
.
for , , , . 1
, , . 1 1,609 . ,
112
, .
, - . 5.1 .
! 5.1. , , ,
!
program milkm;
Uses Crt;
var mile,n:integer; km: real;
begin
ClrScr;
writeln(' ');
readln(n);
writeln(' ');
writeln('
');
for mile:=l to n do
begin
km:=mile*1.609;
writeln (mile: 3, '
\km:7:3)
end;
readln
end.
. ,
-, mile, ,
. -, , , . , km,
.
readln .
. mile 1, . , 2 . , mile (
) km ( ). , ,
writeln, .
, (
mile)
113
( 3), ( km)
( 7 3). , . =10 , . 5.2.
Tuibo Pascal
program nilkn;
Uses Crt;
war nile.n:integer; kn: real;
begin
ClrScr;
writelnC' ');
readlnCn);
writelnC' ');
writelnC'
');
for nile:=1 to n do
begin
kn:=nile1.609;
writeln(nile:3,'
',kr>:7:3)
end;
readln
end.
Open
Tuibo Pascal
10
1
2
3
4
5
6
1
8
9
1.60?
3.218
4.827
6.436
8.045
5.654
11.263
12.872
14.481
. 5.2. ()
(6)
5.2.
:
repeat
_
until ;
115
sum , . .
,
. repeat .
,
, ,
, .
( ) rost.
,
sum , . ,
sum (
,
, , ). sum , . .
.
,
.
. .
, . ,
, ( ) . sred ,
. 5.2 .
5.2.
program s r r o s t ;
Uses Crt;
var rost,n,sum:integer;
sred:real;
begin
ClrScr;
sum:=0;
n:=0;
repeat
writeln(" ' ) ;
writeln('flnH ');
readln(rost);
116
sum:=sum+rost;
n:=n+l
until rost=0;
sred:=sum/(n-1);
writeln('
',sred:7:2,' ')-
readln
end.
T mho Pascal
I File Edit Search
Run Compile
Debug
Tool
Options
Window
Help
progrdn srrost;
uses Crt;
var rost,n,sun:integer;
sredzreal;
begin
ClrScr;
sun:=Dj; n:=0;
repeat
uriteln(' en');
writelnC' ');
readln(rost);
sun:=4iintrost;
n:=n+1
until rost=U;
sred:=sum/(n-1);
writelnt' ',sred:7:2,' en');
readln
end.
I F1 Help
F2 5ae
F3 Open
AH+F Conpile
FJ Make
3 Turbo Pascal
|1!1
jjjnsi
*
fiins
170
183
175
re
|
1/4.20
. 5.3. () (6)
117
, ,
. ,
,
.
. 1 20. . 5 . ,
. ,
5 , , , . , , , ,
.
,
, .
, , ,
, .
, . ,
, , .
Randomize;
, ,
.
random()
0, 1,2, ..., 9, . .
0, , . -
118
, random (. .
1, 2, ..., 9), , :
Randomize;
writeln(random(9)+1);
.
1 (0+1), 9 (8+1).
, ,
5.3.
f -'---
I 5.3.
I
program igra;
Uses Crt;
var
x,y,n:integer;
begin
ClrScr;
Randomize;
n:=l; x:=random(19)+l;
Textcolor(cyan) ;
writeln(' ( 1 20)');
writeln(' ( 5 )');
repeat
Textcolor(green);
writeln(n,' ' ) ;
writeln(' Enter');
readln(y);
n:=n+l
until (x=y) or (n>5);
if x=y then
begin
Textcolor(lightred);
writeln(' ')
end
else
begin
Textcolor(lightblue);
writeln
end;
readln
end.
(' .
119
',)
. random ,
. , , ,
. .
. , , ,
, .
.
.
.
, . readln .
, ,
( )
.
, ,
, .
, -, ,
, . . .
.
, . ( ) , 6 (5+1). , 5, . . >5.
or ( ), . . , , .
, -
, . if,
- -
120
.
,
. ,
then.
, , , .
,
else.
,
"" Textcoior.
,
. , , - , .
:
(. 5.4, ), (. 5.4, ).
. 4
, ,
, . .
.
, , . 4.3.
.
, ,
,
1 4.
. ,
, , , , -, .
writeln(' , ');
writeln('( )');
writeln ( - , 2 - , 3 - , 4 - ');
readln(x)
121
Tuibo Pascal
"" *
JL
0 1 1
<s m
tnler
V
intbyi i r e
1 nonUTt
2
? *
KOIIDMIJ
Enter
3 *
<* KfSdBH.J
h 1
11
5 ! a
14
Enter
1 !4(l<BtiJ Cuter
Enter
3 11
(ton iHcsa 3
H Turbo Pascal
i ***^n ut-fi ( 1 /)
& ( S )
1
^^ Ft
!1
?
I** 1;*i I e
3
1 itfiu t, A ft t fi
g
,
, :
(x=l)
or
(x=2) or
(x=3) or
(x=4)
:
repeat
writeln(' , ');
writeln('( )');
writeln ('1 - , 2 - , 3 - , 4 - ');
readln(x)
until (x=l) or (x=2) or (x=3) or (x=4);
122
5
Turbo Pascal
- ucpitue
&
3S
,
( ^)
1 - , 2 - 1<, 3 - , -
5
,
( )
1 - , 2 - , 3 - ,, -
/
,
( | >|)
1 - , 7 - , 3 - ;{;, -
. 5.5. -
,
5 7, . 5.4.
! 5.4. -
|
program kalkl;
Uses Crt;
var a,b,x:integer; d:real;
begin
ClrScr;
writeln(' ');
readln(a);
writeln(' ');
readln(b);
repeat
writeln(' , ');
writeln('( )');
writeln ( - , 2 - , 3 - , 4 - ');
readln()
until (x=l) or (x=2) or (x=3) or (x=4);
case of
1: writeln(a,'+',b,'=',a+b);
2: writeln(a,'-',b,'=',a-b);
123
. 5.5 -
.
5.3.
while :
while do
_;
124
,
. , ( , ). .
, readin.
,
.
d. d , d
, .
, , . .
mod d = .
2. d
2.
. , d
. d , , . . . , mod d = 0. , d
, .
-, d. -,
, d.
div d. ,
, .
,
then. d ,
, else. d ,
. 5.5
.
\ 5.5.
program razl;
Uses Crt;
var ,d:integer;
125
begin
Clrscr;
writeln('
1 );
readln();
writeln(' ',,' :');
d:=2; .
while d<=c do
if mod d = 0
then begin write (' ',d); c:=c div d end
else d:=d+l;
readln
end.
Tuibo Pascal
Search
Hun Compile
llebuq
lools Uplions
Window
Help
program razl;
Uses Crt;
var c,d:integer;
begin
Clrscr;
writeln(' ');
readln(c);
writelnC' ',<:,' MOIIIO :');
d:=2;
while d<=c do
if nod d = 0
then
begin
write (' \ d ) ;
c:=c div d
end
else d: d+1;
readln
end.
neau
. 5.6. () ()
, .
126
,
.
, . . 5.6.
1. ,
, 175 . , , , 25 . .
2. 5
. , ,
, ,
,
. .
3. , .
.
, , . ., . .
, ,
64 . ,
, . ,
, ,
.
4. , ,
, , .
, ( . 3.1 , . . , , ). , ,
,
, (, ,
). . char
string, .
6.1.
, ,
. , . , , ,
.
, , .
, ,
. . , , , . , ,
,
128
. , , .
,
, .
, .
ASCII.
ASCII American Standart Code for Information Interchange, "
".
. ( ), 0 9,
, .
. , "N" 78, "" 110 ( ). "6" 54, 32, 44 . . ,
,
, , ,
.
.
128 . IBM-PC .
ASCII ,
128 .
, , . , ,
( ).
, ,
<Alt>. , , . , , (V ).
, ,
, 256 . ,
129
, ,
0 9 "" "F", 10 15. . 6.1
, ASCII,
.
32 20
33 21
34 22
35
36
3?
38
39
40
41
42
23
24
25
26
27
28
29
2
43 2B
!
"
tt
$
Si
&
"
)
*
*
44 2C ,
45 20 46 2 .
411 30
49 31
511 32
51 3J
5? 34
53 35
54 36
55 37
56 38
57 39
58
59 3
6U 3C
fit3D
62 3E
63 3F
U - ^ -41
1
65 41
2
66 42
67 43
It
68 44
"5. 69 45
6
70 46
7
71 47
8
72 48
9
73 49
74 4ft
.. '; 75 4B
< 76 4C
77 40
>
78 4E
9
79 4F
in
146 92 ,
147
148 94
149 9G X
150 96 U
151 97
153
154
155 9
156 9
158 9
162 2
164 4
165 5
166 6
167 7
168 8
169 9
0
E
F
ii
I
J
I,
M
N
U
178 2 j<
179
180 4
161 BS i
182
183 7 ,
184
185
I
186
170
171
172
173 AD
174 0
175
II
18/ i
188
189
190
BE
191 BF
To"To"
81 51
82 52
83 53
84 54
85 55
86 56
87 57
88 58
89 59
90 5
91 50
92 5C
93 50
94 5E
95 5f
193
194
195
196
1
2
197 5
198 6
199 7
U
U
:v
.
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
61)
61 a
62 b
63
64 d
65
66 f
67
68 h
69 i
6A j
68
6C I
60 M
6E n
6F 0
114
115
116
117
118
119
120
121
122
12 J
124
125
126
127
72
73
74
75
/6
77
78
79
7A
78
7
7B
7E
7F
II
W
X
t
I
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
8U
81
82
83
84
85
86
87
88
89
8A
it
1"
8F
II
213 DS
214 06
21S 07
"1"
X
226
227
228 4
229 5
230 6
2.11 7
232 8
233 9 , III
234
235
23/
238
239 >
n
ffi
3
8C
80
8E 0
F.1 1 F f
209
210 02
211 03
212 04
200 8
216 08
201 9 ' 217 9
202 1 218
203
219
204
220
20S
00
' ' 221
206
222 BE
207 CF . 223 BF
112 70
113 71
242 F2
243
248 F8
249 F9
244 (4 i
245 5 i
246 6
247 F7
250 FA
251 FB S
252 FC
253 FB
254 FE
255 FF
. 6.1. ASCII
( , )
, , , .
.
, ,
, . :
. . , .
5 . 1068
130
,
. :
var
_:char;
char , , char
character,
"".
, :
var i,n: integer;
d: real;
sim,bukv: char;
(i ),
(d), (sim bukv).
- ,
. :
sim: = 'in' ;
, sim "". :
cfr: = '7\-
, cf r "7" ( 7, ).
.
,
. , :
( true), . . ""
171, "" 173. :
(false), . . "" 170,
"" 226. . , .
chr ord, -
131
. , , , , .
chr
. :
chr()
. , chr (33) ' ! ' , chr (233) '' . .
, .
ASCII 0 255. ,
0 31 . ,
32, 255. , ,
, .
.
, , if. ,
, or
. ,
, , .
, .
. . i
,
.
. ,
chr,
i. ,
.
, write. .
132
j 6.1. , :
program symbols;
Uses Crt;
label 10;
var i, a, b:integer;
begin
ClrScr;
10: writeln(' ( 32 255)');
readln(a);
writeln(' ( 32 255)');
readln(b);
if (a<32) or (b<32) or (a>255) or (b>255) or (a>b) then
begin
writeln(' ');
goto 10
end;
writeln(' ',,' ',)
writeln(' ');
for i:=a to b do
write(chr(i),' ' ) ;
readln
end.
s , . , ,
.
1
ord (''), ' ) . . ""
166, "" 228.
133
Tuibo Pascal
tdit Search
Kile
Run Compile
Debug
lools
Options
Window
Help
progran symbols;
Uses Crt;
label 10;
war i,d,b:integer;
begin
ClrScr;
10: writeln(' ( 32 255)');
readln(a);
writeln(' ( 32 255)');
readln(b);
if (<32) or (b<32) or (a>255> or (b>255) or (a>b) then
begin
u n t e l n C B u ');
goto 10
end;
virit.eln( ' *,*,' * , b ) ;
writeln(' ');
for i'.-a to b do
write(chr(i),' ' ) ;
readln
end.
21:1
==-
'
t - * 4
f '-i
, . ,
, .
case...of
.
, . case.. .of, .
134
case letter of
1
n': writeln('!');
1
': writeln('!');
' ' : writeln(' !');
end;
,
letter, . "",
"!", "", "!", "", " !". , l e t t e r char.
. ,
.
: , .
: "" , ""
, "" .
,
s, :
2 \
,
:
I I"
m n
6.2 ,
.
! 6.2. ,
! ,
i
program charcase;
uses crt;
135
label 10;
var i, k,m,n,d:integer; rezireal; ch,p:char;
begin
10: ClrScr;
writeln(' ');
readln(m);
readln(n);
writeln(' ');
writeln('a - ');
writeln(' - ');
writeln(' - ');
writeln(' ');
readln(ch);
case ch of
'a': begin
rez:=(m+n)/2;
writeln(' ',rez:6:2)
end;
'6': begin
d:=l;
if m<n
then k:=m
else k:=n;
for i:=l to k do
if (m mod i =0) and (n mod i =0)
then d:=i;
writeln(' ',d)
end;
'': begin
rez:=2/(l/m+l/n);
writeln(' ',rez:7:3)
end;
end;
writeln(' (/)');
readln(p);
if -' 1
then goto 10
end.
. readln .
writeln ,
136
,
.
ch
readin.
ch - case...of.
, -.
,
rez, .
d. ,
d, . , ,
. if .
. ,
.
. , .
i. , i m , . .,
i. and. , i . i , , . ,
d
, . . ,
.
, .
"" "". (""),
, 10.
, . , -
137
. . 6.3
.
Turbo Pascal
6
;
-
-
-
?
<|
7.00
(/)
6
8
;
-
-
-
8
6.857
(/)
P i Tuibo Pascal
.
- ^
-
-
2
(/)
. 6.3. c h a r c a s e
(), ()
()
138
6.2.
, , , , , . . .
.
string.
:
var _: string[];
string , . . , .
, :
var i:integer;
:real
stroka:string[25] ;
, i
stroka,
25 . , , , , .
, 255 .
:
var stroka:string;
, ( , , ,
writein), . , stroka
"_" :
stroka:= '_';
, .
- . , siovol " ", siovo2 "", :
slovo:=slovol+slovo2;
139_
, :
fraza:=slovo
+ " 7 . 0 " ;
fraza "Turbo
Pascal 7.0".
, , . 6.3
.
! 6.3. ,
program privet;
uses c r t ;
var x : s t r i n g [ 4 0 ] ;
begin
ClrScr;
writeln(' ');
readln(x);
writeln;
writeln(', ' , , ' ! ' ) ;
writeln(' !');
writeln(' . ');
readln
end.
.
writeln . readln
. 40, . .
, , 40 . "" writeln
,
.
. writeln . "", . . .
, . . .
. -
140
writein .
. 6.4. .
Tuibo Pascal
I F i l e FdTE Search
1^-
program privet;
uses crt;
war x:string[40];
begin
ClrScr;
Run
Options
Window
Help
'
uritelnCKaK ');
readln(x);
writein;
uritelnC', '>,'|');
writelnC' Ban !');
writelnC' . ');
readln
end.
Ja
Tuibo Pascal
I, !
Ban !
.
. 6.4. , ,
(), (6)
, length. - , : , ( ,
). length, stroka , 14, 25, ,
. . " " 14 .
141
, ,
, ,
. , ( ) stroka[5],
"", .
, . ""
. , i 10, stroka[i],
"" "", .
,
ASCII. 6.4 , .
6.4. , ,
program naborkod;
Uses Crt;
var i,dl,n:integer;
si:string[50];
begin
Clrscr;
writeln (' ') ;
readln(sl);
writeln(' :');
dl:=length(sl);
for i : = l to dl do
begin
n:=ord(sl[i]);
write(n,' ')
end;
readln
end.
, 50. -
142
RunCompile
Debug
Tools
Uptions
Window
Help
program naborkod;
Uses Crt;
uar i,dl,n:integer;
sl:string[50];
begin
Clrscr;
uriteln (' ');
readln(sl);
uritelnt' :");
dl:=length(sl);
for i:=1 to dl do
begin
n:-ord(sl[i]);
writeCn,' ')
end;
readin
end.
3 Turbo Pascal
|> 84&< :
14i] m 169 3? 170 Mh 17J 1?5 236 2.18 226 16
. 6.5. ()
(6)
143
, , . , -, . , , . . , , i.
ord, .
.
.
, , . .
" ",
, . 6.5.
13 , ,
,
32.
1. , ,
,
, ,
.
2. , .
, . , " Apple" 4 , 3 .
, .
3. ,
.
4. , .
: - (, 10).
, . , , ,
.
. , ( ), .
: ,
.
, . . .
7.1.
. ,
.
, . . ,
.
,
. ,
. ,
-, :
var _: a r r a y [ a . . b ] of _;
146
.
var a: array[1..2O] of integer;
,
20 , .
147
. 1, 31 ( , ). ,
, , v.
. i 2 v, . . . ( , .)
, i- .
, 31,
.
.
( ), . min max.
,
( ).
( ) .
, min,
( ) ,
. min,
. . max.
min max
, writein.
. -, , . , , ,
. . -, . , , .
, , , . , ,
- , 12- ,
.
148
Turbo Pascal
Bun
Compile
Debug
lools
Upturns
Windom
Help
program month;
Uses Crt;
war n:array[1. .31] of real;
i,v:integer;
nin,nax,x:real;
begin
ClrScr;
writelnC' '); readlnCv);
writelnC' 1 '); readlnCn[1]);
nin:~n[1]; nax:=n[1];
for i:=2 to v do
begin
writelnC' ',i,' ');
readlnCx); n[i]:-x;
if m[i]<nin then nin:-n[i];
if m[i]>nax then nax:=n[i]
end;
writelnC' ',max:7:2);
writelnC' ',nin:7:2);
readln
end.
Open
I PI Turbo Pascal
5>.3
10.7
1.5
12.0
8 .
lonpile
Local menu
20
21
sa 22
23
2**
25
.6
26
11.2
27
7.8
28
6.0
29
8.4
30
11.4
!<*?
14.S0
1.20
. 7.1. ()
(6)
. ,
XX
XXI . ,
1948 .
.
,
12- .
. 12 -
149
. , 1948 2055 ( ),
, . . .
,
,
if. .
.
, or, "". , , .
12- , .
. 1947
( ,
).
,
. 12.
. , . ,
. 7.2
.
! 7.2.
program kalend;
Uses Crt;
const v o s t : a r r a y [ 1 . . 1 2 ] of s t r i n g =('','','','',
'','','','','','','','');
var , : i n t e g e r ;
begin
Clrscr;
writeln(' ( 1948 2055)');
readln ();
if
(y<1948)or(y>2055)
then writeln(' ')
else
begin
:=(-1947) mod 12
writeln (,' ');
writeln (' ',vost[k],' ');
end;
150
readln;
end.
Pascal
Edit Search Ifun Unpile Debug lools Options fTindow Kelp
]
---'!'
- -i
! :
- - imt
rogran kalend;
ses Crt;
const uost.:array[1..12] of strin<) = ('','','','",
'','.', '','','','','*,'');
,: integer;
begin
Clrscr;
uritelnf' ( 1948 2055)');
readln ();
if (<1(>2055)
then writelnCBu ')
else
begin
k:=(y-1947) nod 12
writeln (,' ');
uriteln (' ',ost[k],* ');
end;
readln;
end.
Pascal
( 1? 2)
12002
|?00?
. 7.2. , (),
()
7.2.
, , , ,
.
.
151
8
:
var _: a r r a y [ . . , . . d ] of _;
; e n d
.
,
-a+i c-d+i .
:
var t a b l : array [ 1 . . 9 . . 9 ]
of integer;
, 9
9 .
arrsum, : 4x5.
. : ,
,
, ,
. 7.3 .
{ 7.3. ,
|
:
program arrsum;
Uses Crt;
var
f : a r r a y [ 1 . . 4 , 1 . . 5 ] of r e a l ; x : a r r a y [ l . . 5 ] of r e a l ;
begin
Clrscr;
for i : = 1 t o 4 do
for j : = 1 to 5 do
begin
writeln(' ' , j , ' ' , i , ' ');
readln(f[i,j])
end;
writeln(' ');
for i : = l t o 4 do
begin
for j : = l t o 5 do write ( f [ i , j ] : 7 : 2 , ' ' ) ;
i,j:integer;
s:real;
152
writeln
end;
writeln(' ');
for j:= 1 to 5 do
begin
s:=0;
for i:=l to 4 do
s:=s+f[i,j];
x[j] :=s;
write(x[j]:7:2,' ')
end;
readln
end.
arrsum . f,
. , , 4 5 .
,
,
.
5 f.
f , .
.
.
5 ( , , , ). j 1 5. ,
readln, writeln
,
. i 4 ( , ).
, f
,
. , ,
, . j . ,
-
153
( ), . 7 ,
4 , 1 2 .
i, , .
.
,
, 5 (, , ). i , . s.
,
.
s .
. ,
. ,
, .
. 7.3 .
Tuibo Pascal
2 3
3.8
3 3
5.1
4 3
6.7
5 3
7.8
1 4
2.1
2 4
4.8
3 4
.8
4 4
9
5 4
7.4
.70
7.3
2.80
0.40
.7
8.1
3.40
4.70
2.?0
3.80
5.10
6.7
2.10
4.8
8.80
9.
1S.40
24.00
2.30
20.8
. 7.3. ,
154
7.3.
, , , . . .
.
. , ,
. . , . .
.
.
,
. . , . . .
. , ,
.
.
.
, . ,
. ,
: . . , ,
, .
,
, .
, . . .
, , .
. , . , . .
155
, 7.4.
""'
.........
..
.......
I 7.4.
program vybsort;
Uses Crt;
var
m:array[l..10] of integer; i,k,max,n:integer;
begin
ClrScr;
for i : = l t o 10 do
begin
writeln(' '/if' ');
readln(m[i])
end;
for n:=10 downto 2 do
begin
max:=m [ 1 ] ;
k:=l;
for i:=2 t o n do
begin
if m[i]>max then
begin
max:=m[i];
k:=i
end;
end;
m[k] :=m[n] ;
m[n]:=max;
end;
writeln;
for i:=l to 10 do write(m[i],' ' ) ;
readln
end.
, .
.
. , , , .
.
, -
156
, ( ),
.
.
10, 2, . . , .
.
max, ,
. . . , 1.
, .
i,
. 2
. , ,
. max, max , m[i], ,
i- . ,
,
.
, ,
. m[n],
. ,
.
i
.
. 7.4.
. ( -
157
)
: ,
. , . .
, , . . , , , ,
,
. ,
.
Turbo Pascal
1
2
!1
3
95
4
291
5
118
6
675
7
8
969
9
83
1(1
365
11 3< 41 83 95 118 291 365 675 969
. 7.4.
, .
. ( ) , , ,
.
7.5.
program obmsort;
Uses Crt;
var m:array[1..10]
i,n,t:integer;
of
integer;
158
begin
ClrScr;
for i : = l to 10 do
begin
writeln('
readln(m [i]) ;
end;
for n:=10 downto 2 do
if m[i]<m[i-l] then
begin
t:=m[i];
i-l]:=t
end;
writeln;
writeln(' :');
for i:=l to 10 do
write(m[i],'
');
readln
end.
ISuTuibo
916
1024
65
14
?1
378
41
65
Pascal
1
2
3
4
5
6
7
8
9
10
:
8 14 < 65 378 1 6?S ?16 1024
. 7.5.
, 7.5. , , 10 . i. , -
159
.
,
10 ( ) 2 ( ). , , .
. i .
2. , . . .
i- ,
i-l. , ,
.
, , then. t. t . . ,
, t.
. . 7.5.
, .
,
, .
, ,
.
1. , ,
( 20), .
.
2. , , 1 50.
, -
160
.
.
3. , ,
( 20), .
.
4. , , , ,
. ,
.
,
.
, .
,
,
.
, ,
,
.
, -.
8.1. -
, ,
, ( ) , , , ,
.
,
, . .
, .
,
. .
6 3. 1068
162
(
length, ord char, ) :
abs(x) ,
;
arctan(x) ,
;
(,,1) , . 1. 1
;
cos (x) , ;
delete (x,n,l) ,
. 1;
() , . . ;
int (x) .
;
1() (. .
);
pi , ;
round (x) ;
sin(x) , ;
sqr(x) ,
;
sqrt (x) ;
trunc(x) . .
2 + + = 0.
8.1.
program qwur;
Uses Crt;
var a,b,c,d,xl,x2:real;
163
begin
Clrscr;
writeln(' - ,,');
readln(a);
readln(b);
readln();
d:=sqr(b)-4*a*c;
if d<0 then writeln(' ')
else
begin
xl:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln(' ');
writeln(xl:6:2,' ', x2:6:2)
end;
readln
end.
sqr
. , . , . , , sqrt.
2, 7 3 , . 8.1.
( ),
. (. . begin).
-, . . ,
. :
;
, ;
begin
end;
164
8
W% Turbo Pascal
I d i e Ldit
U H I
Search
ITuii
Compile
Uebuq
HUM,
lools
Upturns
Window
progran qwadrur;
Uses Crt;
var d,b,c,d>x1,x2:redl;
begin
Clrscr;
uriteln(' - a,b,c');
readln(a);
readln(b);
readlnCc);
d:=sqr(b)-Hac;
if d<0 then writelnC' ')
else
begin
x1:=(-b+sqrt(d))/<2*a);
x2:=(-b-sqrtCd))/(2a);
writeln(' ');
uriteln(x1:6:2,' ', 2:6:2)
end;
readln
end.
Help
Compil
Turbo Pascal
- a,b,c
3
II.) 3.UU
. 8.1. () ()
:
function _ ( ): ;
function , "". , . , , . , ,
, ,
.
.
:
function beta (x,:integer; z:real):real;
165
beta, 3 :
, z , .
, ,
, . ,
begin end. , .
( ) . ,
,
.
, , , . .
, . , , , .
, .
,
d:=beta(3,4,7.5)
beta, 3, 4 7.5
, z.
( ) . ,
,
.
,
,
. .
:
\(- )\
\, \ ( - )\ , ( -). 1 .
166
I 8.2. , no/n
program sochet;
Uses Crt;
var n,m:integer;
a,b,c,d:longint;
function faktor(k:integer):longint;
var i : i n t e g e r ;
r:longint;
begin
r:=l;
for i : = l to do
r:=r*i;
faktor:=r;
end;
begin
Clrscr;
writeln (' 2 ., ');
writeln (' ');
writeln (' ');
readln(n,m);
a:=faktor(n);
b:=faktor(m);
c:=faktor(n-m);
d:=a div (b*c);
writeln(' ' , , ' no ',m, ' ' , d ) ;
readln;
end.
, 8.2.
,
faktor.
, ,
.
.
, . . . . . , . .
, . , ,
. ,
.
167
,
. ,
, . , ,
, . , i , . ,
i .
Pascal
|| I- l i e bo1 i t Search
Bun
Compile
Debug
loo Is
Up t ion*
Window
Help ~
program sochet;
Uses Crt;
n,n: int; a,b,c,d:longmt;
function
faktorCk:integer):Iongint;
var izinteger;
r:longint;
begin
r:=1;
for i:=1 to k do
r:=ri;
faktor:=r;
end;
begin
Clrscr;
writeln (' 2 , ');
writeln (' ');
readln(n,n);
a:=faktor(n); b: faktor(n); c:=faktor(n-n);
d:=a diu ( b * c ) ;
writeln(' ',,' *,,' ' , d ) ;
readln;
end.
HUES
I ,
)*; >
;* i !> 3
10
. 8.2. n no m () (6)
.
, , 1.
. , i ( i 1 ).
,
faktor , .
168
(, 10 3 628 800),
longint.
,
faktor. ,
, .
faktor . ,
d . writein . . 8.2
, 5, , 3.
8.2. -
,
,
. , . ,
, . ClrScr, TextColor TextBackground.
read, readin, write
writein.
:
Delay (i) i ( );
Exit .
( Exit Turbo Pascal,
);
GotoXY (, ) , ;
Halt .
;
str(x,s) s;
Vai(s,x,n) s, ,
. -
169_
, .
, . ,
, .
" ".
" ",
10 1, . . ,
, "".
i 8.3. " "
program obrcourlt;
Uses Crt;
var i:integer;
begin
ClrScr;
for i:=10 downto 1 do
begin
GotoXY(l,l);
write(i) ;
Delay(20000)s
ClrScr
end;
GotoXY(l,l);
writeln('');
Delay(20000);
ClrScr;
readln
end.
, 8.3 . 8.3.
. .
, GotoXY
, . ,
,
, Delay.
ClrScr,
. "".
170
Turbo Pascal
Search
Kun
Compile
Debug Tools
Option
Window
Help
program obrcount;
Uses Crt;
war i:integer;
begin
ClrScr;
for i:=1D downto 1 do
begin
CotoKVd.1);
urite(i);
Delay(2000D);
ClrScr
end;
CotoXVd.D;
writelnC ');
DelayC20000);
ClrScr;
readln
end.
, . , ,
. , ,
, . ,
,
.
, -.
, .
,
. .
171
:
;
;
begin
end;
.
:
procedure _ { );
procedure , ,
,
. .
. ,
. , , ,
, .
,
. .
. var, . var
, -. - , , .
-
, . , -,
(
). ,
,
.
:
procedure vspomog(a,b:integer; var c,d:real);
vspomog , , , , d ,
-, d .
172
, . ,
.
.
, . .
,
, end ,
, . . .
4 , 8.4.
8.4.
4
!..,..
..;.
;.
........
.;...,;
....:.:......
program four;
Uses Crt;
var a,b, , d,l,m,big,lit,mini,maxl,min2,max2:integer;
procedure minmax(xl,x2:integer; var min,max:integer);
begin
if xl>x2
then
begin
max:=xl;
min:=x2 end
else
begin
max:=x2;
min:=xl end
end;
begin
ClrScr;
writeln (' 1 ');
readln(a);
writeln (' 2 ');
readln(b);
writeln (' ');
readln(c);
writeln (' 4 ');
readln(d);
minmax(a,b,mini,maxl);
173
minmax(c,d,min2,raax2) ;
minmax(mini,min2,lit,1);
minmax(maxl,max2,m,big);
writeln(' - ' , b i g , ' ; - ' , l i t ) ;
readln
end.
.
. minmax, .
. minmax . .
minmax 2 - xi
2, , 2 - min max, . -
min, max.
minmax
4 .
d . mini maxi ( )
min2 2 ( ).
2 ,
2 , l i t . 1, , , , . .
.
big, m
1 .
writein.
. 8.4 65, 111, 678 d 215.
,
, . -
174
8
Turbo Pascal
1
65
2
111
3
678
'*
215
HdKCMndntvHoe ~ 678; - 65
. 8.4.
, . ,
. (
),
. , 31 ,
.
( , , ). 8.5
, .
I 8.5. ,
program tomorrow;
Uses Crt;
label 100;
var
d,m:integer; otv:string[3];
procedure next(kol:integer;var mes,n:integer);
begin
if n>kol then
begin
writeln(' . ');
Delay(60000);
Halt
end;
175
176
next mes . , . :
. () . (mes) ;
.
, ;
, . .
, . . 1 ;
(,
, 32).
,
.
next.
if
(. .
, ).
, , Halt.
,
Delay.
, 31 . mes
1 1, next exit,
.
if .
(n<koi),
, a mes . 1 ( ), mes . , mes , .
177
IfiSSTuibo Pascal
31
12
1.1
Pascal
16
17.7
Turbo Pascal
31
10
1.11
. 8.5. , ,
(), (6) 31 ()
,
-, . .
, one-
178
case, - .
, 1, 3, 5, 7, 8, 10, 12 (. . , , , , ,
, ), 31. , 4, 6, 9, 11 (. .
, , , ), 30.
( = 2), . . ,
, , . 29, 28.
,
, , . if.
"" "" - ,
, .
next koi case
, mes m d, .
-
. ( ), .
. 8.5 ( ,
31 ).
8.3.
,
, .
( , ) .
, - . (
recurrence, ""
""), .
179
:
(). , , () , (),
. . , , - () ,
().
.
, , (1). 8.6.
1 8.6. ,
program stepint;
Uses Crt;
var x,st:real; :integer;
function rek(a:real;k:integer):real;
begin
if k-1
then rek:=a
else rek:=rek(a,k-1)*a
end;
begin
ClrScr;
writeln(' ');
readln(x);
writeln(' ' ) ;
readln();
st:=rek(x,y);
writeln(' ',st:12:3);
readln
end.
( ),
rek , rek.
.
180
: . .
: =1 .
,
. . , :
-1, .
,
else.
.
,
. \
-1 ( ), -2 . .,
k=i. k=i , . . . =2 . .,
.
.
. 8.6 =2,53 =10.
,
" ". XIII . :
,
. ,
. , , 8.7.
\ 8.7.
program rabbit;
Uses Crt;
var i,k:integer;:
function rab(n:integer):integer;
begin
if n=0
then rab:=l
else
if n=l
then rab:=2
else rab:=rab(n-2)+rab(n-l)
end;
begin
ClrScr;
writeln(' ');
readln(i);
k:=rab(i)*2;
writeln(' ',i, '
readln
end.
181
', k)
Tuibo Pascal
program stepint;
Uses Crt;
oar x,st:real; y:integer;
function rekCa:real;k:integer):real;
begin
if k=1
then rek:-a
else rek:=rek(a,k-1)a
end;
begin
ClrScr;
writelnC' ');
read lnC );
writelnC' ' ) ;
readlnCy);
st:=rek(x,y);
writelnC' ' f st:12:3);
readln
end.
. 8.6. ()
()
182
rab(n), .
, . . rab(0)=i,
, rab(i)=2. 2
1, . . ,
. rab(2)=3 rab(2)=rab(i)+rab(0).
, :
rab (n) =rab (n-1) +rab (-2)
rabbit (. 8.7),
.
rab(n)x2. . 8.7 -12, . .
.
Pascal
Debug
pit l l ^ ^ d i
Tools
Options
Window
Kelp
program rabbit;
Uses Crt;
i,k:integer;
function rab(n:integer):integer;
begin
if n=fl
then : - 1
else
if B=1
then rab:=2
else rab:=rab(n 2)+r<)b<n-1)
end;
begin '
ClrScr;
writeIn(' ');
readln(i);
k:=rab(O2;
uritelnC' ',i,'
readln
end.
', k ) ;
3 (Slt<Fronpile~
Turbo Pascal
(n
* 1?
754
183_
8.4.
, Turbo Pascal,
Crt.
. Crt
. , Turbo Pascal
.
turbo.exe
Turbo Pascal, System. Uses. , uses . ,
,
, .
System Crt Turbo Pascal . Graph,
, Turbo
Pascal. , . MS-DOS , Dos. , , Printer.
Turbo Pascal 7.0 , Graph3.
Graph3 Turbo Pascal 7.0 ,
Turbo Pascal. Overlay , .
, turbo.tpl. tpl Turbo Pascal library Turbo Pascal.
, Turbo Pascal
uses. , Turbo Pascal
.
,
.
184
, , , Turbo Pascal.
,
.
, Turbo Pascal
pas.
:
unit _;
interface
var _!: !; _2:2; . . . ;
f u n c t i o n _1 (!:1;
2:2;
f u n c t i o n _2 (!:1;
2:2;
. . .) :
...):
;
;
. . unit (
"") . -
185
, ,
. ,
, ,
. ,
.
, , , .
,
. ,
interface. , . , . . ,
.
, , .
interface
. var,
,
.
,
. .
function, , , (
), . . , . .
procedure, .
, , .
implementation ( "",
""). implementation
, .
.
.
function .
186
.
, . .
, . begin, , .
end, .
.
.
, begin, end, .
, . , end .
,
pas.
prog, .
. ,
Compile. , . ,
. :
Compile successful: Press any key. ,
(. 8.8). Run | Run, ,
.
, , , tpu. , moduli.pas,
moduli .tpu.
,
Turbo Pascal.
Options, Directories. Directories (). , EXE & TPU directory,
,
tpu. Unit directories
, , , (. 8.9).
187
* Tuibo Pascal
I lie
tdit
Search
Run Compile
Debug
luu Is Options
Window
Help
unit nathen;
interface
function fakt(n:longint):longint;
procedure step(o,p:longint; s:longint);
procedure sredarifn(x,y:longint; sred:real);
procedure sredS
=* Eonpili
procedure sredj
procedure nod(|
implementation "
function fakt;
var i,f:longi
Destination: Bisk
Line number:
begin
Free memory:
288K
Total line:
f:=1;
for i:=1 to n
f:=f*i;
Compile successful: Press any key
fakt:=f
end;
procedure step;
i:longint;
begin
s:=1;
I1
11:33 =
] M H e l p | Ccnpile source
. 8.8. ,
Turbo Pascal
unit nathen;
interface
function fakt(n:longint):longint;
procedure step(o,p:longint; uar s:longint)
procedur
procedure
procedur]
ctery
procedur
inplenent
Delude directories .^
:
function
,>141 .
begin
f:=1;
!3lHm directories ]
for i:f:=f*i;
fakt:=f .
procedure
i:longint;
begin
s:=1;
==== 11:33 = =
. 8.9. Turbo Pascal,
188
. mathem, ,
. , ,
,
, .
, .
.
,
. , , , :
:
z:=sqrt(x*y);
. 8.8 mathem.
8.8. mathem
unit mathem;
interface
function fakt(n:longint):longint;
procedure step(o,p:longint; var s:longint);
procedure sredarifm(x,y:longint; var sred:real);
procedure sredgeom(x,:longint; var sred:real);
procedure sredgarm(x,:longint; var sred:real);
procedure nod(x,:longint; var d:longint);
implementation
function fakt;
var i,f:longint;
begin
f:=l;
for i:=l to n do
f:-f*i;
fakt:=f
end;
189
procedure step;
var i:longint;
begin
s:-l;
for i:=l to p do
s:=s*o
end;
procedure sredarifm;
begin
sred:=(x+y)/2
end;
procedure sredgeom;
begin
sred:=sqrt (x*y)
end;
procedure sredgarm;
begin
sred:=2/(l/x+l/y);
end;
procedure nod;
var i,k:longint;
begin
d:=l;
if x>y
then k:=x
else k:=y;
for i:=l to do
if (x mod i =0) and (y mod i =0)
then d:=i;
end;
end.
,
mathem.
, . . fakt . step . sredarifm
. sredgeom
, sredgarra . , nod
. , . .
190
. . end .
, mathem.tpu. ,
Turbo Pascal.
.
. 8.9 .
;
; 8.9. ,
program sumfakt;
uses crt,mathem;
var a,b,sumf:longint;
begin
ClrScr;
writeln(' ');
readln(a);
writeln(' ');
readln(b);
sumf:=fakt(a)+fakt(b);
writeln(' ',sumf);
readln
end.
. crt
mathem.
fakt,
mathem.
, . , 3, , 5,
. 8.10.
, . 8.10 .
8.10. , ,
program srednee;
uses crt,mathem;
var a,b:integer; arifm,geom, garm:real;
191
begin
ClrScr;
writeln(' ');
readln(a);
writeln(' ');
readln(b);
sredarifm(a,b,arifm);
sredgeom(a,b,geom);
sredgarm(a,b,garm);
writeln(' ',arifm:6:2) ;
writeln(' ',geom:7:3);
writeln(' ',garm:7:3);
readln
end.
Turbo Pascal
u tie * nejihoe
3
Cynrit 126
. 8.10. ,
Crt
mathem.
,
mathem. ,
.
, ( 3 5)
. 8.11.
mathem. ,
Turbo Pascal,
.
192
Tuibo Pascal
*|
3.873
3.750
. 8.11. ,
,
1. , . :
- a)(p - b)(p - ) ,
a, b , .
sqrt.
2. ,
,
. , .
abs, sqr sqrt.
3. , , (
0 9).
, . . true, false.
, .
4. ,
20 1 99, ,
193
( ,
).
, , .
5. , 1
10 000 . ,
, . , , .
7 . 1068
Turbo Pascal (. . 3.1)
( ). .
. .
:
. ,
( ,
, -, -).
, . . , , .
. pas,
, tpu,
,
:
(
, , Turbo Pascal);
doc ,
Microsoft Word;
x l s ,
Microsoft Excel;
196
9.1.
.
.
:
var
_:text;
__ ,
; text .
197
:
var :text;
. CR ( ASCII
13) LF ( 10). , , ,
. ,
EOF ( end of file
). txt. , ,
- . , , , MS-DOS, Norton Commander
Turbo Pascal.
: - ,
. -, . -,
.
, , :
assign (_,
'_');
assign , "";
_ ; '_'
. , . ,
, , , , .
,
, .
:
assign
(k,'A:otchet.txt');
otchet.txt, , : , .
otchet.txt. -
198
,
"" .
,
. , :
reset (_);
_ .
,
read readln. read readln,
, : , , - , .
( ) close.
:
close{_);
_ .
.
, ,
Norton Commander.
D: obuch.
(, , Norton Commander , <Shift>+<F4>,
, <F4>.) comp.txt . ,
9.1.
! 9.1. ,
|
program obrtext;
Uses Crt;
var t:text; In:string[80];
begin
Clrscr;
assign(t/'D:\obuch\comp.txt');
199
reset(t);
while not eof(t) do
begin
readln(t, In);
writeln(ln)
end;
close(t);
readln
end.
Tuibo Pascal
readln(t,ln);
uriteln(In)
end;
cluse(t);
readln
end.
. '
?HTuibo Pascal
flf iCUHdiU>HL4M KOnilbWiep BMHBHdt'i COCIdB
I -
1 . .
?. -^ .
3. KliilBHilTVpd
k.
. 9.1. () (6)
obrtext, : t, comp.txt, i n , -
200
.
assign. reset.
while. (eof), . . ,
. : not eof(t), ..
, eof
, false true.
, false, true.
.
readln in. (. . ) writein.
close.
.
, , rewrite, append.
:
rewrite (_);
append (_);
. . reset. ,
rewrite append -. rewrite
, . . (
) .
, append, ,
.
write,
writein. write writein
, , .
append .
comp.txt :
:
5.
6.
201
7.
8.
,
. 9.2.
9.2. ,
program doptext;
Uses Crt;
var t:text; In:string[80];
i,n:integer;
begin
Clrscr;
assign (t, 'D: \obuch\connp.txt') ;
append(t);
writeln(' ');
readln(n);
writeln(' .
"Enter"');
for i:=l to n do
begin
readln(ln);
writeln(t,In)
end;
close (t) ;
Clrscr;
reset(t) ;
while not eof(t) do
begin
readln(t,In);
writeln(In)
end;
close(t);
readln;
end.
, , : ,
, H i .
.
(
; 5).
202
. readln
in. in (. . )
writein. .
83 Tuibo Pascal
J i i e ^ t t U t >Jie*i4hi_fcun_Uorii|nle
Debug
I no I s
Upturns
program obrtext;
Uses Crt;
uar t:text; ln:strinq[U01:
begin
Clrscr;
assignCt,'D:\obuchVconp.txt');
reset(t);
while not eof(t) do
begin
readln(t,ln);
writeln(In)
end;
closed);
readln
end.
!
:
1. .
2. .
3.
4 .
;*; :
5.
6.
?.
8.
. 9.2. : ()
()
203
,
. . 9.2.
9.2.
, , .
. , . , ,
.
( ), , , .
,
assign , . , :
assign(nab,'D:\inf\nabor');
nab
nabor, D: inf. , , .
:
var _: f i l e of ;
__ , ;
f i l e ; ,
. ,
(integer, real, character, string, array).
:
var nab: file of character;
, ,
nab.
204
,
reset rewrite, close.
:
read {__1, _2) ;
_1 ; _2
, , .
: read (nab, r), .
:
write{_1,
_2);
writein readin
, . . . .
, , ,
.
, ,
. ,
.
, ,
.
. , . , alphabet obuch D: ,
,
9.3.
9.3. ,
program greek;
Uses Crt;
var
a:file of string; b:string; i,j:integer;
205
begin
Clrscr;
assignfa,'D:\obuch\alphabet');
rewrite(a);
for i:=l to 24 do
begin
writeln(' ');
readin(b);
write(a,b)
end;
close(a);
Clrscr;
reset(a);
for i:=l to 4 do
begin
writeln;
for j:=1 to 6 do
begin
read(a,b);
write(b, ' ')
end;
end;
close(a);
readin;
end.
assign, .
, .
. 24
( ). : , , readin . read (. . alphabet).
alphabet,
.
4 ,
6 . ,
. ( )
. .
206
. 9.3. ,
, greek,
,
. , ,
,
.
seek
. :
seek{_, );
seek , ""; _ ;
( , , ).
, . read , write
.
,
, f ilepos.
:
filepos{_):longint;
207
, .
, 9.4.
! 9.4. ,
j
program grsearch;
Uses Crt;
label 10;
var arfile of string; srchar; b,c:string;
l,m,n,x:longint;
begin
assign(a,'D:\obuch\alphabet');
reset(a);
repeat
ClrScr;
10: writeln(' ');
writeln('1 - ');
writeln('2 - ');
readln(m);
case m of
1: begin
writeln(' ');
readln();
seek(a,n-l);
read(a,b);
writeln(n,' - ' , ) ;
end;
2: begin
writeln(' ');
readln();
1:=0;
repeat
seek (, 1 ) ;
read(a,b) ;
iV-i+1
until c=b;
x:=filepos(a);
writeln(' ',,' ',,' ')
end;
else begin
writeln(' ');
208
9
goto 10
end;
end;
writeln(' (/)');
readln(s);
until s='H';
close(a);
end.
alphabet, . . writein ,
1
2. .
case, - .
alphabet, reset.
,
. seek (
), ,
, , , , n- -1. ,
, , , . seek ( ) read .
write.
,
, .
.
repeat. seek , . 1. 1 -
209
0. , 1 . "" , .
, ,
, ,
, . .
. filepos, .
, ,
writein.
1 2, - ,
case, else. ,
.
case.. .of
.
.
Tuibo Pascal
:;
1 -
2 -
16
16 -
(/
. 9.4. ,
210
. s
"", , ,
.
close ( ,
, ).
,
, "", ""
(. 9.4).
9.3.
,
, .
: , , , .
,
. , ,
.
:
var
_:file;
_ .
:
var
unt:file;
,
assign.
reset rewrite.
.
,
,
-, .
blockwrite.
211
:
blockwrite(_1, _2, ) ;
_1
; _2
, ;
, . .
:
blockwrite(unt,,1);
unt , (
), 1
.
biockread.
:
biockread(_1, _2, ) ;
_1
; __2
, ;
, . .
.
, , . . 8.1
, , , ,
, . 9.5.
9.5. ,
program qwurrez;
Uses Crt;
var
r:file; a,b,c,d,xl,x2:real; k,x:string;
begin
Clrscr;
assign(r,'d:\TP7\rez') ;
writeln(' ');
212
writeln(' Enter');
writeln(' ' ) ;
readln(a);
writeln(' ' ) ;
readln(b);
writeln(' ' ) ;
readln(c);
:=' ';
d:=b*b-4*a*c;
if d>=0 then
begin
xl:=.(-b-sqrt(d) )/(2*a) ;
x2:=(-b+sqrt(d))/(2*a);
x: =' ';
rewrite(r);
blockwrite(r,k,1);
blockwrite(r,a,1);
blockwrite(r,b,1);
blockwrite(r, c, 1) ;
blockwrite(r,x,1);
blockwrite(r,xl,1);
blockwrite(r,x2,l);
writeln(' ');
close(r)
end
else writeln(' ');
readln;
end.
, qwurrez,
assign ""
rez, D: 7.
2 + + = 0.
, , rez rewrite. , .
blockwrite
. , . ,
, . . rez,
. -
213
, . , ,
. xl 2
biockwrite
. writeln
.
, , close. ,
,
. . 9.5.
Turbo Pascal
Enter
2
7
3
. 9.5.
, : . , ,
, rez
.
rezread, 9.6.
I 9.6. ,
program rezread;
Uses Crt;
214
var r:file; x:real; k:string;
begin
Clrscr; assign(r,'d:\TP7\rez');
reset(r);
blockread(r,k,1) write(k,' ' )
blockread(r,x,1) write(x:7:2, '
blockread(r,x,1) write(x:7:2,'
blockread(r,x,1) write (x:7:2, '
writeln;
blockread (r,k, 1) write(k,' ' ) ;
blockread(r,x,1) write(x:7:2,'
blockread(r,x,1) write(x:7:2,'
close(r);
readln
end.
;
') ;
');
') ;
');
');}
, , . , qwurrez
7 ,
: . , . , , ,
,
, . ,
.
rez.
reset.
blockread, write. .
,
, . . . writeln . : , -
215
r e z .
, .
.
Turho Pascal
f lie
Ldit
"Search
ITjii
Compile
ilebug
loo I s
Uption
Window
Kelp
113
program rezread;
Uses Crt;
var r:file; x:real; k:strinq;
begin
Clrscr; assign(r,'d:\tp7\rez')
reset(r);
blockread(r,k,1); write(k,' ')
blockread(r,x,1); write(x:7:2,
blockread(r,x,1); write(x:7:2,
blockread(r,x,1>; urite(x:7:2,
writeln;
blockread(r,k,1); writc(k,' *)
blockread(r,x,1); urite(x:7:2,
blockread(r,x,1); urite(x:7:2,
close(r);
readln
end.
1:18
Turbo Pascal
-3.U0
2.00
-U.50
7.00
3.00
BOOJ
. 9.6. ()
(6)
1. ,
, (
,
*) ,
.
216
2. ,
(
).
3. , , (
), ,
, , , .
.
4. , , : , , .
.
,
.
10
, , , . ,
, . , , ,
, , , , .
.
, . .
, "" ,
. , , , .
10.1.
,
,
, , . .
, , . . , , ,
218
10
"" . , , :
type _ -{!,
2,
...
) ;
type , "";
_
; !,
2,
...
(
).
:
type week=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
week ( - ""). 7 . . , , :
var ned:week;
219
,
. ,
Turbo Pascal,
.
, .
, , vocab ( vocabulary ""). 10.1.
; 10.1. , -
!
.;.
_.
,_,
program vocab;
Uses Crt;
type
sl=(error,main,key,mouse,hard,soft,user,power,cpu,sock,freq);
var
wrd:sl; term:string;
begin
ClrScr;
writeln(' ');
readln(term);
if term='mainboard' then wrd:=main;
if term='keyboard' then wrd:=key;
if term='mouse' then wrd:=mouse;
if term='hardware' then wrd:=hard;
if term='software' then wrd:=soft;
if term='user' then wrd:=user;
if term='power' then wrd:=power;
if term-'cpu' then wrd:=cpu;
if term='socket' then wrd:=sock;
if term='frequency' then wrd:=freq;
case wrd of
main: writeln(' ');
key: writeln('');
mouse: writeln('');
hard: writeln('');
soft: writeln(' ');
user: writeln('');
power: writeln('');
cpu: writeln(' ');
sock: writeln('');
freq: writeln('');
220
10
si. ,
( ). ,
,
,
. error
(- ""). , .
wrd,
si. , term .
term -
. , , , . ,
- wrd . case.
-
, . , mainboard " ", frequency "" . .
,
, - error. case
:
.
, -
(1, 2, 3 . .) , .
. 10.1 .
, -
. .
221
1. , , si ( ).
2. if, term
( ), wrd ,
si.
3. case , writein .
.
10.2.
, . , , , ,
, -,
. -,
. -,
5. , 1, 2, 3, 4, 5.
.
, .
, -
222
10
type ; , .
:
type mark=l..5;
integer. mark
1 5.
type l a t i n * ' a ' . . ' z ' ;
char.
.
type weekend=Friday..Sunday;
ned, . weekend
Friday, Saturday Sunday.
:
otmetka:mark;
bukva:latin;;
day:weekend;
,
.
. , bukva .
""
"" ( , . .
223
).
.
.
.
, . 40, , , . . .
, ? , ,
, . , , ,
integer, longint.
, ,
, . ogr,
1 12.
, .
,
. 10.2 , . 10.2 .
I 10.2.
{
program ftrl;
Uses Crt;
type ogr=l..12;
var f,i:longint;
n:ogr;
begin
ClrScr;
f:=l;
writeln(' ');
readln(n);
for i:=l to n do
f:=f*i;
writeln(' ',n,' ',f);
readln
end.
10
224
Turbo Pascal
program ftrl;
Uses Crl;
type ogr=1..12;
uar f v i:longint;
n:ogr;
begin
ClrScr;
f:=1;
uritelnt' ');
readln(n);
for i:=1 to n do
f:=f*i;
writelnC ' , , ' ' , f ) ;
readIs
end.
Pascal
1?
12 791&00
. 10.2. ()
()
,
, - "" ,
. , 20, .
Turbo Pascal ,
.
Options, Compiler,
Runtime errors
Range checking,
.
225
. ,
, .
10.3.
, . , , .
,
.
- , .
: , , ,
, , , ,
. .
, ,
, ,
. , 1960 , -, ,
20 , 10 , . ,
, , ,
:
fam, im, o t c h , m e s t o , o b r : s t r i n g ;
: fam: = ''; im: = 'IIeTp'; otch: = '';
mes t o : ='-'; obr: ='';.
"" ,
. . :
pol:char;
1: = '';.
, :
god,stob,stpr:integer;
226
10
(. . ,
, )
ball:real;
, 4,78: baii:=4.78;.
,
, .
.
. .
, . :
type _ - record
_1 : _1;
_2: _2;
__: __;
end;
. . , anketa, 11 , 4 . , ,
, , .
, ,
, . ,
, ,
, ,
date, den, mes gr. , .
227
, date :
date:record
den, gr:integer;
mes:string;
end;
anketa. , god,
anketa , .
:
type anketa=record
stob,stpr:integer;
ball:real;
pol:char;
fam,im, otch,mesto,obr:string;
date:record
den, gr:integer;
mes:string;
end;
end;
end,
date, anketa .
anketa . , otdei, , , :
var otdel:array[1..n]
of anketa;
.
10 , 9 , , 3 .
, "" .
kadry.
kad, kadry, :
var kad: file of anketa;
,
, . ,
228
10
, .
,
( , ,
. .). :
_._
, . .
,
, :
anketa.stob:=21;
( )
( )
(, 22 1960 ),
:
anketa. date. den: =22; ( )
anketa. date .mes : ' ';
anketa.date.gr:=1960;
( )
( )
(. 10.3). , , , , : , , , .
: .
,
10.3.
| 10.3. ,
program telefon;
Uses Crt;
type punkt=record
fam: string; name: string; nomer:string; adres: string;
end;
var abon:file of punkt; v:punkt; k:char;
begin
Clrscr;
229
assign(abon,'D:\obuch\sprav');
reset(abon);
if ioresultoO then rewrite(abon);
repeat
writeln(' ');
readln(v.fam);
writeln(' ');
readln(v.name);
writeln(' ');
readln(v.nomer);
writeln(' ');
readln(v.adres);
write(abon,v);
writeln(' ? (/)');
readln()
until k='H";
readln
end.
punkt, , 4 : ,
, , . . abon. sprav punkt.
v punkt. .
sprav
reset . ,
, .
ioresult.
- ( ). .
- , ioresult .
. ioresult , , , , . , , ,
reset.
230
10
Wj Turbo Pascal
El ile
ri
OTiT
Search
Kun Compile
--
Debug
tools
Options
mir>Hjriiii'.'jtn<i'iuii
Window
. -
Help
progran telefon;
Uses Crt;
type punkt=record
fan: string; name: string; noner:string; adres: string;
end;
war abun:file of punkt; v:punkt; k:char;
begin
Clrscr;
assign(abon,'D:\obuch\sprag');
reset(abon);
if ioresultOO then rewrite(abon);
repeat
writeln(' '); readln(v.fan);
writeln(' '); readln(M.ndne);
writeln(' '); readinCu.nomer);
writeln(" '); readlnCv.adres);
write(abon,v);
uriteln(' ?(/)'); readln(k)
until ='";
read In
end.
21:18
Tuibo Pascal
. 200 .1?
?(/)
? ?? 2? ?2
yti. . 33 . 123
?(/)
! !(1*
leiteijiuHd dt>oneHla
3-33-33-33
.23^ . 99
byueie <11 VCJI/B)
LJ6
. 10.3. , (),
()
.
repeat.. .until. ,
writeln, , , .
readin v. , v , -
231
10
232
sprav . ,
,
, .
fff. , .
,
repeat.. .until, . seek. , ( i, ,
). i-ro - v.
if v,
(v.fam) , fff. , writein , : , , , . .
. , , , . . , , ,
(eof). ,
. , , . . 10.4.
^ Pascal
3K.<s;ie ||1<1)
<> {'
.23 . 99
3-33-33-33
, , , ,
233
. ,
, , - ,
. , , . , .
:
tabel:integer;
:
anketa.tabel:=4567 ;
tabel , . . ,
.
10.4.
,
, .
, . ,
,
.
(, , ,
, ) ,
. , , . , 33 26
, , ,
, , .
, ,
- , .
:
var : set of ;
234
10
.
integer.
var prop: set of
'A'..'';
. char.
, . . "" ""
, "" "" .
var compon: set of (keyboard, motherboard, mouse, display)
, .
.
-, . , , ,
255.
""
. : [1,2,3,4,5,6,7,8,9] ,
. ,
[1] [].
.
, , . ,
, , , .
235
, * (),
, , . , , . , "" [20,30,40],
:
:=[20,30,40];
[30,40,50],
:-[30,40,50];
:=*,- [30,40].
+,
.
, ,
. : lat, [q,w,e,r,t,y], rus,
[,,,,,,] ( , ). iatrus:=iat+rus;
latrus : [q,w,e,r,t,y,ii,u,y, , ,,].
, -, .
, ,
. : language
low. ,
,
, .
. :
language:=[basic,pascal,,fortran,algol,assembler_language,machine_code];
low: = [asseinbler_language,raachine_code] ;
high:
high:=language-low;
high :
[basic,pascal,,fortran,algol], .. .
236
10
.
. , ,
, . , true
false. .
= (
).
< > (
, ).
: G .
G [4,5,6]. [4,5,6]. G = true,
G < > false. , [6,7,8], a G ,
G = false, G < > true.
< (. .
. , -
).
< = (
. ,
- .).
> .
>= .
: L. [10,15,20], L [, 15,20,25,30]. K<L K<=L true. K>L
K>=L false. L [, 15,20],
. K<=L K>=L true, K>L K<L false.
,
, - . one-
237
. :
in [_] ;
, ; i n , ""; _ , .
true, (. .
), false, .
, D in [..] 5 in [3,5,7,9] true, a
D in [E..N] 5 in [7,9,11] false.
, ,
.
*.
+ - . in, =, < >,
<, <=, >, >=.
, , .
, .
-
.
, , ,
. ,
, .
10.5.
| 10.5. ,
program filolog;
Uses Crt;
var
gl,sog:integer; a:char;
begin
ClrScr;
gl:=0;
sog:=0;
238
10
writeln(' . ' ) ;
write(' E n t e r ' ) ;
writeln(' 0 E n t e r ' ) ;
repeat
repeat
read(a);
if a in [ ' ' / ' / ' / ' / ' / ' / ' / ' / 1 ,
' A \ ' E \ ' \ ' ' , ' , ' \ ' ' , '', ' ' ] then g l : = g l + l ;
if a in [ ' 1 . . ' \ ' ' , ' ' , ' ' . . ' ' , ' ' , ' ' . . ' ' , ' ' . . ' ' ,
' ' . . ' \ ' ' , ' 3 \ ' ' . . ' 1 , ' ' . . " ' , ' ' . . ' ' ] then sog:=sog+l
u n t i l eoln;
until a='O';
readln;
w r i t e l n ( ' ' , g l ) ;
w r i t e l n ( ' ' , s o g ) ;
readln
end.
.
read . , , repeat.. .until. if . '
, - gi
. ( - .)
. - sog.
. eoln.
false, CR LF (. . 9.1) true, .
repeat.. .until
, .
, , .
writeln. . 10.5
f iiolog.
,
,
239
, . . .
1 . ,
, . III " ". ,
(
8), .
iTuibo Pascal
. "Enter"
"Enter"
- ,
.
, .
77
102
. 10.5. ,
. 1 (
) , 2 ( 2 , . . ).
2 . 3.
, 3, 3.
( 5) . , /2 (
, /2). 1 ()
. 10.6 ,
" ".
240
10
,
.
255, . . .
( ,
255), , .
, 2 /2. -
241
. , dpn
, , .
, dpn
.
. i, 1 , . .
, "" , .
, j
.
j .
j i ,
, , ,
, .
dpn , .
,
. j , 1 .
. write (
writeln, ,
25,
). . .
, , - ( ) "" ,
, , ,
.
:
4 , , . .
, , , .
10 , ,
, 40 .
80 . 10 -
242
10
: ,
, - 1.
. , 10 , 1
10.
10. 1 10,
writeln.
, 1 2
( ). ,
. 10.6.
2 Turbo Pascal
ilporparaa 1
( 255)
( 255)
1 251
1
2
3
5
7 11 13 17 19 23
31 37 ( 43 7 53 59 61 67
73 79 83 8? 97 11 103 17 109
113 127 131 137 139
151 157 163 167
173 179 181 191 193 197 1S9 211 223 227
229 233 239 241 251
71
. 10.6.
1. ,
. - .
.
2. , , . ,
4 (, 1996 2004).
243
1 1
Turbo Pascal
,
.
, , . ,
.
Turbo Pascal
.
, ,
,
Turbo Pascal. .
, Turbo Pascal.
Turbo Pascal. , , ,
, .
, . .
.
. -, , -
11
246
. -, Turbo Pascal .
, , . ,
.
http://borlpasc.narod.ru , . -,
1, Turbo
Pascal, Turbo Pascal 7.0, .
-,
, , , , Turbo Pascal
(. 11.1).
IJ - Micioseft Internet Exploiei
. -./' .'!.'.
_*j
jasj http:/'/boripac.narod.ru/schedule.h(fn
-fipxuB
iA!B|C|D|E|F|G!Hil|J!K|L|M|N|O|P|Q|R|S|T|U|V|W|X|YIZl
||||||1|||||||0|||||||!|!1!|]|
TURBO PASCAL
Borland Pascal.
1993.
|2
![ "Windows. .
orland Pascal.
1
i A*
;| 6.0.
ip
]6
[ 6.0. .
(
i f
I /* '
247
Turbo Pascal
JJJ -^ ,
TURBO PASCAL
f
FAQ
FAQ SLY
GolOVanov
%. \ folqaioT?
1.2 ?
1.3 6 ,
7?
1.4 7 7?
1.5 , ..?
1.6 200 ("Divide by Zero4) ?
1.7 ,
?
*
. 11.2. boripasc.narod.ru,
,
(. 11.3). , . , , , , , ,
, .
, ,
,
(. 11.4).
http://pascal.sources.ru " " (. 11.5).
,,
, ,
, (. 11.6):
http://www.kolasc.net.ru/cdo/metod/programmer'scourse/language
/index.htm#pascwil
11
248
BHQ
'
..
!
TURBO
^
UuBfiCIH...
.,
CONTBtT.MAIL.RU
E-mail:
Turbo Pascal
,.rru
""
? new1)
EAQ
. 11.3. borlpasc.narod.ru,
1 1
I j ^ hltp;//www.Nveioufnat.com/users/luibopascalI
Turbo Pascal
20 most recent
20
JJ
-3
=i
-.
:
V -..
j j : ^ ! \ ;
Recent Entries
Archive
Friends
User Info
f Borland Pascal]
.
,
, , ,
.
, ,
.
Link Leave a comment
Fri, Dec. 3rd, 2004,12:20 pm
.
www.yourpascal.com
" "
950
. 11.4. borlpasc.narod.ru
249
Turbo Pascal
fim
/.
ffp| web.snurccs.ru
idbc.sources.ru asp.sources.ru
[45]
Pascal [60]
[22]
[31]
[4]
[10]
J1]
[13]
! ;)
!
-
X
Window (Unix) FPC.
,
: FPC 1.06
.[......
24.10.2003
.Ru CD
,
,
,
Pascal -!
Development Corporation
Co
)
Pascal.
DOS32, Win32 Linux.
&
- v ; <"
^
. .
.
J httpV/www.koiasc.net.iu/cdo/nieti'jd^pfograrnmet'scoijtse/language/indexhlmtlpdscwil
I Pascal
WWUw i ^
-LJ*
I".
yjUmiii
'
. 11.6.
250
11
http://delphid.dax.ru/pascal "Development
", ,
Delphi, , (. 11.7).
Borland Pascal 7.0,
Turbo Pascal 7.0. Borland Pascal
(help) . ,
Turbo Pascal,
.
ii^.-n^-rJ--...
- .
.
j*J
[ # ] http://delpNd.dax.ru/pMcal/
Development
1
; :
I ssr""'"). myssi
. :
Pascal
[ ] [ ]
*
Turbo Pascal
Turbo Pascal.
,
- .
Turbo Pascal Delphi
. .
1. Turbo
Pascal
"
http://web-pascal.narod.ru . , , (. 11.8). ,
Borland, ,
, ,
.
, ,
Turbo Pascal,
251
Turbo Pascal
2,'
'
*]
=; .**
::: :::
:
Dos
I , .
I dos-,
edit.
Norton Volcov Commander1 F4
.
Windows commandere F3 ( )
S (DOS ),
I 1 ... [ WnrriP-aH fr\\tr.w-
. 11.8. "Web-Pascal",
'
^:
'^. I;
;:: :::
Pascal ,
1933 .
:
Borland Pascal v7.0 - XX
. " "
DOS,
16- Winl6 (Windows 3.1)1
: 09 1993.
: 873 kb
. Windows
. 11.9. 'Web-Pascal",
252
11
1.0 ,
(. 11.9).
http://www.pascal.dax.ru
" ". ,
. ,
, , , , , , , , , .
(. 11.10).
1 Dp4a
1
gm '** &
?":':.- ,
. ..
..1 ;>
_._.
j
[13 164 ]
[15];
[14]: .
[6]: ,
[21]:
[43]: .
[7J: .
[5]:
[21]; ,
[]; . .
[5]: .
[9]; .
[]; * ,
. [4]; , , ,
::
,,
,
; $/
.|1.11
(
I Professional
\0
. 11.10. pascal.dax.ru,
http://www.karelia.ru/psu/Chairs/IMO/pascal , ,
,
(. 11.11).
http://www.kbsu.ru/~book - . 3. (. 11.12).
,
, .
253
Turbo Pascal
q - Microsoft Interne! Exntotei
E m
.!;
] -^ J
!
!
. 11.11. ,
. 11.12. , -
. 3.
254
11
, ,
,
, Turbo Pascal (. 11.13).
Turbo Pascal.
111 - Micinsoft Internet Fiplorer
^ J ^ - *'
Wtp7/'www.kbsu(u/"'Dook/piaclice/ffideK.html
.
. Turbo Pascal Quick Basic.
: .
1. .
2. , .
3. , .
4. , .
5. , .
. , .
7. .
JBO
40
. 11.13. ,
- . 3.
255
Turbo Pascal
.: Htp.Miuslicnov.chat.ru/sp.htm
OB. :
english
science
Turbo-Pascal ,
- .
. ,
(, )
Delphi.
. >
'
\ .
dynamic Lap
27K
dynauur2.rip
23K
. : .
.. '". '
,. .
!
. 11.14. . . ,
Turbo Pascal
'
etn
> .
.. '::
. Cgpew;' ^ "
Ji
'
:
<
'
&
<5
'
"
"
"*
"
'
- .:
"
..
Jt
j g ] hp://www.makbook.chat.
E-mail: marklv25@tntU'netru
BOOK
9-11
: IBM PC, MSDOS, Norton Commander, Windows Commander , Windows
95, Microsoft Word, Excel, Works, -, QBasic, Turbo
Pascal, HTML . HTML,
Internet Explorer Netscape Navigator.
.
!
BOOK:
' -
. 11.15. . . ,
BOOK
11
256
'
: gift $ *
!.,*:.
;.* j@3
'...-> ...
1
'
& : . - j y ,
^
. .
.
J
hitp7/www.be!c.ratod.tuArain.htm
' .'
{"*
M^ndows 95
Norton Commander
(5323X6)
" "
" "
4j
"
'
'
'
'
! ^ .
. 11.16. . . ,
,
, Delphi, .
1 2
Delphi
Delphi. , Delphi Object Pascal,
Turbo Pascal. Delphi . ,
. . .
12.1.
Delphi
8 Turbo Pascal
MS-DOS, 90- XX Windows,
Window-. Borland. , ,
Delphi. , Delphi ?
Delphi
Windows, Windows, Delphi , .
,
9 3. 1068
258
12
( 23 ).
Delphi, , Windows.
, , , ,
. Windows,
. ,
, ,
.
, "" , , Windows. ,
().
Delphi , , Windows, . .
, , . Borland Delphi
,
, Windows. ,
, , , .
, Windows.
Delphi - . , Turbo Pascal,
, Delphi . , , Delphi ,
.
, ,
, , ,
.
, ,
, , .
MS-DOS.
, , .
, . ,
Delphi
259
,
. .
. ,
"" ( Visible). visible true (), ,
visible false (), .
.
, , , ,
, , , , . .
. .
, , . ,
. , , , , <Enter>,
, ,
, . ,
, , .
, Delphi -
. - , , .
Delphi , , Object
Pascal,
Turbo Pascal. , , .
Delphi . ,
,
.
. , , . .
, , . ,
.
, ,
. -
260
12
,
, , Delphi
Height width ( ).
, .
. Font (). , ,
( ).
, ,
.
, .
12.2. Delphi
, Delphi,
. ,
.
. -, . Borland Inc.,
.
- .
. , ""
100 , , ,
. , 10 ,
,
20 . -, , .
-,
. , .
Delphi
261
. 12.1. Delphi
, , (
) . , Delphi 6
( ) ( ),
: "Requires 350 mb hard disk space for
full install". , 350 . , . .
262
12
. 12.2. -
,
Delphi (. 12.3). Installation Wizard, " ".
fa- Boiland Delphi 6 Enteipiise Edition - Installation Wizaid
Borland*
1..."?...:",
. 12.3. Delphi
Next ().
,
(Serial Number) -
Delphi
263
Serial Number
Please enter the serial number and authorization key found on your Delphi CD.
Jerisl Number:
^ Authorization Key:
< Back
Cancel
. 12.4.
.
( ) . ,
. <>
. ,
. ,
Next.
, ,
, ,
, . , . ,
Next .
264
12
( ).
, , ,
(. 12.5).
License Agreement
Please read the following license agreement carefully.
;.........:,..
,,....,..,...,
< Back
Next >
Cancel
. 12.5. Delphi
.
,
, I do not accept the
terms in the license agreement ( ). .
, I accept the terms in the license
agreement ( ), Next .
(. 12.6). ,
, , . ,
, , -
265
Delphi
,
.
Delphi 6
Installation Notes
This file describes issues that may affect the installation of this product. We
recommend that you read it in full before continuing. The contents of this file are
available on your CD for later printing or viewing.
Other notes, including known issues, compatibility information, and uninstallation
information, are contained in the product READMEfile,also available for review or
printing after installation from your CD or from your installation directory root.
< Back
"flJElEZ
Cancel
. 12.6.
, :
Pentium
166 ( Pentium 2 400 );
Windows 98 (Windows 2000, Windows ME . .);
64 ( 128 );
115 350
;
-;
640x480 ;
- (, ).
266
12
,
, , .
Next .
(. 12.7). : Typical (), Compact () Custom (
).
. , . ,
.
,
, ,
, .
,
.
. Next .
Setup Type
Choose the setup type that best suits your needs.
Typical
Program will be installed with the most common options. Recommended
for most users.
Custom
Choose which program features you want installed and where they will
be installed. Recommended for advanced users.
<Eack
Z"M*O~]]
Cancel
. 12.7.
Delphi
267
, VisiBroker.
(. 12.8).
, , No VisiBroker/CORBA Support. Next
.
Choose VisiBroker
Choose the version of VisiBroker which should be installed.
( N o VisiBroker/CORBA Support!
<Back
. 12.8. VisiBroker
, Microsoft Office
(. 12.9). Office 97
Office 2000, Office 97,
.
Office 2000 Office XP,
Office 2000. Next .
,
InterBase Client (. 12.10). ,
268
12
Both versions of Office controls will be installed. However, only one set of controls
can be registered. The option you choose on this screen will determine which set of
controls will be registered. See the documentation for instructions on changing the
Office control set after installation.
office 000
< Back
t(ext >
Cancel
"
C a n c e l
.
10 , , , -
Delphi
269
.
, .
Next .
(. 12.11). ,
I agree with the terms of this license. ,
I do not agree. Installation will continue, but without remote data functions,
,
.
Next .
< |ack
NexFS
Cancel
. 12.11. ,
, (. 12.12). ,
: ,
Program Files\Borland\Delphi6.
,
Change. ,
12
270
.
, , Next .
E3I!
mm\\
|c\Program Files\Borland\Delphi6\
Shared Files
jC:\Program Files\Common Files\Borland Shared\
Change...
<.
|[
ijjexb
Change..,
3|
Cancel
. 12.12.
To uhhstall Borland Delphi 6 from this computer, Windows Installer will need access to
the installation database on this CD. You can choose to save this database file (about 5
MB) to your hard disk drive so that the CD will not be required to : remove Borland Delphi
NOTE: The installation database that Is copied to your hard disk drive can be used only to
uninstall Borland Delphi 6. If you wish to repair or add features to your Installation, you
will need to use your original product CD.
Save installation database to hard drive (recommended)
Cancel
. 12.13.
Delphi
271
,
(. 12.13). 5 .
,
, -.
, . Next .
, , ,
(. 12.14). ,
Install (), .
Please note that SOAP and W5OL are evolving standards. The new Web
Services features may change to support changes to the standard and
Interoperability with other implementations. Check the release notes for this
product and www,borland.com for the latest information on standards and
interoperability support.
Cancel
. 12.14. , , -
Install , , (. 12.15).
.
.
,
. -
12
272
, , .
Illlllllllllllllllllllll
. 12.15. -,
,
,
InterBase Client (. 12.16).
,
Next. ,
InterBase Client
(. 12.17).
, (. 12.18).
Yes (). ,
(. 12.19). . , , . ,
.
, Install.
Delphi
273
Mext>
Cancel
WELCOHE TO INTERBASE 6
Installation and issues for InterBase 6
for Windows 2000/NT and Windows 98/HE.
PREPARING TO INSTALL
1. SAVING OLDER DATABASES
InterBase 6 uses On-Disk Structure (ODS),
ODS 10. Databases created with InterBase 4.0
< Back
TJSST
Cancel
, . ,
Finish () (. 12.20).
12
274
Software License Agreement
Please read the following License Agreement. Press the PAGE DOWN key to see the rest
of the agreement' j
^|
Do you accept all the terms ol the preceding License Agreement? If you choose No, Setup
wil close. To install the product you must accept this agreement.
(Back
Yes
No
. 12.18.
InterBase component selection
Select the components you wish to install.
iS3 Command-line tools
Graphical tool
0 Software development support
Example programs
InterBase Replication Manager
r Description
:
Destination
jCAProgram Files\Borland\lnterBase
Available:
3858536 Re
<B_ack
Install
Siowse..
9844' K.
Cancel
. 12.19. ,
InterBase Client
InterBase Client ,
Delphi 6, ,
275
Delphi
,
Finish (. 12.21).
InterBase Client setup complete
The InterBase Client is now installed on your computer.
Borland*
.".
lL._..sr>i5ti
'-".-<-
. 12.21. , , Delphi 6
276
12
,
, . Yes, No.
, Yes. . ,
Delphi 6.0 .
, ,
(Start), (Programs) , Borland Delphi InterBase.
-, -,
, . Delphi
,
( ).
12.3.
Delphi Windows, , , . (, , Delphi
,
).
, ,
Delphi32.exe.
Program Files ( , , :), Borland,
Delphi,
bin. Delphi32.exe. ,
,
, Web.
.
, -
Delphi
277
1 3
Delphi
Delphi , . - , , . ,
.
Delphi, , . .
13.1. Delphi
, Delphi. (. 13.1), (. 13.2)
(. 13.3) Delphi.
(. . 13.3):
;
( );
;
;
;
;
.
280
13
aDeltt
: Ctjfsoi
DefaukMonitof n c
| DiS
False
. 13.1. Delphi 5
Delphi 6 - Piojecll
File | * Jeerch Viem Piojeci Hun Ccmponenl QaHbase Joels * 0 "
? ' H
?2 b Si
| ;l|'None>
Si ^ ^
<
3 f<mY
-\
Forml
PiepeHiM | Events I
ActiveCortiiiii
Align .
aNons
[ Alphaeloml
I AlphaBlendVjk 25!
BAnchots
|W.efUkTopl
(
' AutnScrd
1 frue .' ':"..
;False ": v >; ", "
I AutoSize
! BiDWode
ibctteltTtjpfigh*
;!3Borderlcons . ' IbiSystemWenu,
biSiieabte
! BodeiSlyl
BocdoiWijIh'
1 Capibn . ; Foimi
o "
iAI shown
'"
'zl
I aywlaollWQid-pitt13Z
|[;>Dlphi 6
. 13.2. Delphi 6
-iK' 23M
Delphi
j j j j \\
281
Standard I Additional I Wrfl21 Svitert, I Data Access 1 Data ConlraM DataSnao I BDE I ADO I t y . i L !
' "i
APT
. 13.3. Delphi 7
. , .
Delphi . Delphi , .
Projectl. ,
, .
.
,
. ,
.
. , .
,
. ,
, .
, ,
282
13
,
.
, , ,
File (), ,
, . . . Save as (
) , ,
,
. New (
) , ,
,
(, , . .),
.
Edit (
, ), . , . ,
. - , Cut (
), ( ), Paste
( , ), Delete
( ) .
, . , . . , . ,
, ,
. Delphi .
.
,
.
, . .
.
.
.
283
Delphi
, . ,
. . .
,
. , .
, , .
, Windows. , ,
"". ,
, .
, ""
"". "" ,
.
Formi
Properties | EvefKtf
i ActiveCortrar
^J
] Align
jalNone
; AlphaBlend i False '
AlphaBlencW<ik;255
Anchors
![akL.eft,akTop)
t AutoSctoS
| True
| AutoSrze
| False
r^iCMode'2 IbdLeftToRigh^.
BcrdetlctM'is
Caption
: All shown
. 13.4.
284
13
, , , .
, . .
,
. (. .
), , , ,
View. (
), Object Pascal.
Delphi ,
Windows.
, , , Delphi , .
13.2. Delphi
, Delphi
, , , . ,
, ,
,
.
, .
, ,
, . .
, .
, .
, , . ,
, ,
.
Projects (,
:):
CVProgram FilesYBorlandYDelphi. , .
Delphi
285
, .
File ()
Save as ( ). SaveUnitlas ( 1) (. 13.5).
Projects. Projects,
. ,
,
" ". , " ".
ISave Umti As
: r ^ i Projects
IBpl
:
:
. 13.5.
, , . . . - . ,
First (- "").
,
<Delete>, " ", , <Enter>. ,
. ,
. ,
Unitl,
. - (, -
286
13
), , .
Projectl,
.
File Save Project
as.
( First)
.
. 13.6. .
,
. Save all File,
.
ISaveProjecM As
?|x||
...
' :.. [ i
|st
J j
d=]| ] 1
I
:
1 :
]
Delphi project (".dpi)
^J
. 13.6.
.
.
, , . :
;
, ;
,
;
Delphi
287
;
,
;
, ;
.
, , , , .
, . , , , .
, Object Pascal
, procedure, begin, a
end,
. , . .
.
, , . , File | Save
all. , , , , . " " , .
,
, . . , Object Pascal. , . . . .
, ,
(. .
) .
, Delphi, : " ",
.
288
13
.
.
. .
.
. , , .
, , ( ,
) Standard,
. , - Label. I
,
. Labeii.
(
) .
" ". , , . ,
. . . , ,
. .
.
.
. ,
.
. : . , , . . ,
, .
Delphi
289
( )
: , .
.
,
,
.
, , . .
, .
, .
, ,
. ,
Label 1. ,
.
, Formi. , ,
, , ,
, . -
, .
, ,
, Properties ().
. .
,
,
. caption, . . , .
caption Labeii, ,
( ,
).
,
Labeii.
. , . , , ,
<Backspace>, ,
, <Delete>. . 1068
290
13
, ,
" ".
, .
Labell , . .
. ,
Name (). , ( ), . ,
, . Name, , -
Labell.
.
, , , . .
, , Font
(). ,
.
, , . , , , . .
.
,
, Font . , , , ,
caption.
.
Font, ,
. , .
, , ,
.
. 13.7. , Microsoft Word Windows.
, Delphi .
. -, 8 ( ) 12. -,
Delphi
291
-.
. , MS Sans Serif Arial,
Times New Roman . , , () . , ,
, . , ,
. , , .
, , .
;'
8
MS Serif
MT Extra
MTBWidgets
1
News Gothic MT
1
OCR A Extended
1
SkaskaForSerge
1
1
"
*
j
Pi
12
14
18
24
: \
:
,|
. 13.7.
, ,
. , , . . , Windows, [xj, . ,
( ). ,
13
292
Standard . Button .
. Buttoni.
, . , Label 1, Caption ( ).
" ".
, , , Font, , .
, "" . . ,
. 13.8.
7-Foimi
. 13.8. Delphi
, <Enter>,
.
, .
, , . - close,
293
Delphi
"". ,
. ,
.
Buttoni
Events (). , , (- "click").
, , onclick. , onclick,
, . begin end close.
. 13.9.
1 Unit! pas
b\
Uniti
TFotml
1 end.
13: 1
Jnsert
. 13.9. Delphi
Buttoniciick,
:
procedure TForml.Buttoniciick(Sender: TObject);
begin
close;
end;
,
. -
294
13
, ,
. .
.
Run. , , Run, .
. <F9>.
.
.
:
. , ,
, . : , .
Delphi.
, ,
. ,
.
. , , Buttonl, a
Button2. , , " ". .
.
. 13.10.
, , Button2. . " " "
..." (
). Caption.
- , :
. .
Delphi
295
Labell. Caption.
. , .
, , . , ,
, :
Labell.Caption:='
...'
'"'..'.:'::'.'.:.'.
::.:;';:':;
: : : : ' : : '
" : -
' . ' : :
: "
. : "
. 13.10.
,
Button2, Events
Onclick.
Button2. Click .
: Labell , ,
. - ,
. .
, . , . 13.1 ,
.
296
13
| 13.1. Delphi
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, -StdCtrls;
type
TForml = class(TForm)
Labell: TLabel;
Buttonl: TButton;
Button2: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
( Public declarations }
end;
Forml: TForml;
implementation
{$R *.dfm)
procedure TForml.ButtonlClick(Sender: TObject);
begin
close;
end;
procedure TForml.Button2Click(Sender: TObject);
begin
Labell.Caption:=' .. 1 ;
end;
end.
, , -
Delphi
297
.
.
. , Save all.
. 13.11. ,
, , .
, . File Exit.
,
,
, . Cancel, , .
. 13.11.
,
.
, , Delphi,
( Delphi ", ) -
298
13
.
.
13.3. ""
, Delphi, , , .
, . , .
, , . C:\Program Files\Borland\Delphi\Projects Redaktor ,
.
,
.
:
. ,
.
;
. ;
. .
;
, .
.
, ,
, .
, . Formi, . . .
Properties () Caption.
, . Caption
Formi . , .
Delphi
299
.
. , Properties ()
Formi Color. , .
. ciSkyBlue (-).
1,
, Color
(). .
, , .
Label, Label 1.
,
Caption : , . Font
. - ,
(, -)
14 .
. Label2.
.
.
, ,
, ,
. Caption .
( ), , Labeli (, 12 ).
Label2 ,
.
Edit,
, Label (
Edit , ). Edit
|.
Editl.
. caption,
Text.
Editl, . , . ,
300
13
. , " " Font , .
,
10.
,
,
. ,
, . , <Delete> <Backspace>. ,
< > < > <Shift> <Delete>.
<> <End>.
. Delphi.
, . Button.
Buttonl.
.
, .
Caption. Buttonl : . Font
Buttonl , 10 .
,
, .
,
"", .
-,
Button2. Caption .
10 . . 13.12.
,
.
Button2 Events () onclick
, close.
. -
Delphi
301
::: , :
. 13.12. ""
,
Buttoni, , .
, , . . caption.
Labeii. Caption , . , . Editi,
Text. :
Editl.Text. :
Labell.Caption:=Editl.Text;
,
Buttoni, , Events () onclick,
. Buttoniciick
:
procedure TForml.ButtonlClick(Sender: TObject);
begin
Labell.Caption:=Editl.Text;
end;
302
13
. 13.2 .
[ 13.2. ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForml = class(TForm)
Label1: TLabel;
Label2: TLabel;
Editl: TEdit;
Buttonl: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
begin
Labell.Caption:=Editl.Text;
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close;
end;
end.
303
Delphi
.
, .
, ,
(. 13.13).
"
Delphi
1 Delphi
. 13.13. ""
.
, .
,
.
13.4. ""
Delphi ,
.
, .
, ,
( ).
,
, -
304
13
. , , .
,
- , , . . ,
, "".
Formi ( ) caption
,
.
( Labell) :
. caption,
Labell.
, .
.
, .
Standard. RadioGroup [. ,
.
, . , ,
.
RadioGroupi.
. Caption RadioGroupi.
, , , caption , . .
.
,
.
Standard RadioButton. .
RadioGroupi.
RadioButtoni . 7 , , RadioButton2
Delphi
305
RadioButton8. , RadioGroupi .
RadioButton. RadioButtonl.
,
, . , , . RadioButtonl
Align ().
. taRightJustify,
, .
.
taLeftJustify, , . [*| , taLeftJustify. ,
.
, ,
.
Caption RadioButton.
RadioButtonl Caption RadioButtonl ,
RadioButton2 Caption ,
RadioButton3 , RadioButton4 , RadioButton5
, RadioButton6 , RadioButton7
RadioButton8 - .
, , . ,
. ,
, ,
.
Panel (), Standard . , Paneii, .
Panell. -,
. . , Panell .
306
13
Properties () caption
. , .
,
. , , .
( Bevelwidth) 1 . , . , .
, Beveiouter. .
BvNone BvLowered. , "" .
.
Additional image. image \wm.
, imagei.
,
.
, , , , . imagei Panel 1. imagei
( Properties).
( "").
,
. 2, . .
, .
Left ( ""), . Left , 2.
, "" , . ,
4 ,
, .
.
,
Delphi
307
,
. :
Size: 193*185
Size - "", , . ,
.
189, 181. imagei
width () 189, Height () 181.
, , , , . stretch ().
: false true.
true,
.
, ,
. :
, - , , Microsoft Office,
, Paint,
Windows. Clipart,
Microsoft Office 97.
Microsoft Office ,
Windows.
,
imagei Picture (). None (),
-.
, Picture Editor ( ).
, Load (), Load picture ( ). ()
. , . |23]
13
308
( ). ,
,
. , . , , , . ,
. ,
Microsoft Office (
:).
Program Files, Microsoft Office.
. 13.14.
Microsoft
Office, . Microsoft
Office 97 . Microsoft
Office Clipart. Clipart
Popular, .
,
wmf. ,
, . ( ). ,
1 /
11| ( ). ,
Delphi
309
.
.
Arrows4.wmf. , , . . (. 13.15).
.
wmf imagel.
:
[*) Agree
* ] Amproble
jAmviclor
UlMfjj'l
^Bandaid
Sj) Amconfus
jw] Arrows5
1*] Beaitrap
i]Anndisasl
] Amwin
1*1 Attows6
Bomb
^Amhappy
]Anows1
[]Arrows7
Brick
S]Amidea
] Airows2
Arrows8
Ijjj] Building
] Amotgani
]Arrows3
Anowsgn
@Car
i\
2J
" r. 1
JArrows4
Microsoft Office,
, , ,
. , Microsoft Office XP
Microsoft Office media, media cagcatlO, . .
.
. (Buttonl) , (Button2) .
Labei2.
,
. . 13.16.
,
13
310
"
..
. 13.16. ""
, ,
, . ,
, . - Delphi
RadioButtonClick. , . ,
, RadioButtoniciick.
.
, . . Form. Color.
Form. Color
, .
cl
( color). ,
, :
Forml.Color:=clRed;
:
procedure TForml.RadioButtoniciick(Sender: TObject);
begin
Forml.Color:=clRed;
end;
Delphi
311
- () ,
:
Forral.Color:=clime;
. ,
, ,
(Buttoni Button2).
. , Object Pascal, 13.3.
| 13.3. ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForral - class(TForm)
Label1: TLabel;
RadioGroupl: TRadioGroup;
RadioButtonl: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
Panell: TPanel;
Imagel: TImage;
Buttoni: TButton;
Button2: TButton;
Label2: TLabel;
procedure RadioButtonlClick(Sender:
TObject);
TObject);
procedure RadioButton3Click(Sender:
TObject);
procedure RadioButton4Click(Sender:
TObject);
312
13
procedure
procedure
procedure
procedure
procedure
RadioButton5Click(Sender: TObject);
RadioButton6Click(Sender: TObject);
RadioButton7Click(Sender: TObject);
RadioButton8Click(Sender: TObject);
Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.RadioButtonlClick(Sender: TObject);
begin
Forml.Color:-clRed;
end;
procedure TForml.RadioButton2Click(Sender: TObject);
begin
Forml.Color:=clLime;
end;
procedure TForml.RadioButton3Click(Sender: TObject);
begin
Forml.Color:=clBlue;
end;
procedure TForml.RadioButton4Click(Sender: TObject);
begin
Forml.Color:=clTeal;
end;
procedure TForml.RadioButton5Click(Sender: TObject);
begin
Forml.Color:=clYellow;
end;
Delphi
procedure TForml.RadioButton6Click(Sender: TObject);
begin
Forml.Color:=clFuchsia;
end;
procedure TForml.RadioButton7Click(Sender: TObject);
begin
Forml.Color:=clGreen;
end;
procedure TForml.RadioButton8Click(Sender: TObject);
begin
Forml.Color:=clAqua;
end;
procedure TForml.ButtonlClick(Sender: TObject);
begin
close;
end;
procedure TForml.Button2Click(Sender: TObject);
begin
Label2.Visible:=True;
end;
end.
. 13.17. ""
313
314
13
. Red ,
Lime , Blue , Teal , Fuchsia , Yellow , Green -, Aqua .
. 13.17.
"".
.
, .
,
.
(, ),
.
.
. shape,
. shape Additional . ,
, shape, , , , , .
. , Brush. :
Color , style . shape ,
. , color
( ), style ( ), width ( ).
shape stcircie
( shape ).
Pen.Color. shape
- , . Brush.color.
(. .
shape) (cisiiver). ,
.
1 4
Delphi
, Delphi,
( , First)
( "", Redaktor). ,
, , ( "" "").
.
14.1. ""
, ,
:
( )
. .
Object Pascal. Object Pascal ,
Turbo Pascal, . Turbo Pascal, . .
. Object Pascal , Turbo
Pascal.
, Turbo Pascal, , , ,
316
14
var. ,
. , , :
[Error] (Jnitl.pas (37) : Undeclared i d e n t i f i e r : 'x'
[Fatal Error] P r o j e c t l . d p r ( 5 ) : Could not compile used u n i t ' U n i t l . p a s '
, (
37), , ( ). ,
, . . - .
Turbo Pascal, , Object Pascal,
. ,
, ,
. ,
, . . , ,
,
. .
,
, .
, , Turbo Pascal, ,
, . .
. , ,
, , .
, , ,
Object Pascal. strtoint.
Str string (), a Int integer
(). ,
" ".
, .
Object Pascal ,
Delphi
317
, . :
x:=StrtoInt(t);
t ,
.
- , Text Edit. , , , .
Editi :
x:=StrtoInt(Editl.Text) ;
,
: , . m t t o s t r .
, ,
strtoint. .
. ,
inttostr, , , Caption Label Text Edit.
(, )
Edit2, , , :
Edit2.Text:=InttoStr(z) ;
, ,
,
. , .
. ( caption Formi).
.
, ,
, Color, , - ciMoneyGreen, . . . ,
( 5 , - -).
14
318
,
. -, ,
. -,
, , . . . Editi, Edit2 Edit3.
Text,
.
,
, .
Labe.ii, Labei2 Labei3.
, . .
.
10, .
caption.
,
.
. Buttonl
, Button2 . ,
caption ( ). , . . 14.1.
1 J
; ~-_-'
: : '
'.'..'..'..
J-
'.
. 14.1. ""
j:::::.:
.,..'.'.
Delphi
319
. , ,
. el, e2 (
Editi, Edit2 Edit3). Buttoni. TForml.Buttoniciick.
. , ,
, , Buttoni, Events ()
Onclick. :
var el,e2,e3:integer;
TForml.ButtonlClick.
el 2 ,
Editl Edit2. , , el 2,
Object Pascal inttostr. :
el:=StrtoInt(Editl.text);
e2:=StrtoInt(Edit2.text) ;
:
e3:=el+e2;
, ,
Edit3. :
Edit3.Text:=InttoStr(e3)
end, ,
(, ,
). , , :
procedure TForml.ButtonlClick(Sender: TObject);
var el,e2,e3:integer;
begin
el:=strtoint(Editl.text);
320
14
e2:=strtoint(Edit2.text) ;
e3:=el+e2;
Edit3.Text:=InttoStr (e3)
end;
, begin end . .
Button2Ciick,
Button2. , ,
close. . 14.1
.
14.1. ,
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForml = class(TForm)
Labell: TLabel;
Label2: TLabel;
Editl: TEdit;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Buttonl: TButton;
Button2: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
Delphi
321
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var el,e2,e3:integer;
begin
el:=strtoint(Editl.text);
e2:=strtoint(Edit2.text);
e3:=el+e2;
Edit3.Text:=InttoStr(e3)
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close
end;
end.
,
<>, .
,
,
.
. 14.2.
.J_n|x|
#f*
333
555
| |
888
. 14.2. ""
I 1068
322
14
14.2. ""
, Delphi,
,
, , .
, , . .
,
.
, , . .
.
,
.
, , ,
-. . . ,
, . Editl, Edit2 Edit3.
Edit4 , Edits
. , Text .
,
. , Labell Labels. ,
, , .
, Caption,
.
, : Buttonl Button2.
. .
.
, , . ,
, , , .
. , ,
,
Delphi
323
Panell ,
. - Panell imagei,
.
"" , .
.
Paint, . .
. ,
" 1". Paint
Windows, ,
, , , . , .
.
. ,
Paint.
imagei panel 1.
imagei , Panell 4 , (
). . imagei Picture, .
, . 14.3.
, .
,
OnClick Buttonl TForml.ButtonlClick.
, , ,
, , s
v . :
var a,b,,s,v:integer;
( begin) , ,
. ,
inttostr, :
324
14
a:=strtoint(Editl.Text) ;
b:=strtoint(Edit2.Text);
c:=strtoint(Edit3.Text);
_|]|
(Jfo
-7
..;:;:
'
'
'
_ _ _ _ _ _ _
"7
- j
. 14.3. ""
, v, , Edit4.
v:=a*b*c;
Edit4.Text:=inttostr(v);
, .
, ,
, , , .
, . s
, Edits. :
s:=2*a*b+2*a*c+2*b*c;
Edit5.Text:=inttostr(s)
Delphi
325
TFormi.Buttonlciick :
procedure TFormi.Buttonlciick(Sender:
var a,b,,s,v:integer;
begin
TObject);
a:=strtoint(Editl.Text);
b:=strtoint(Edit2.Text);
c:=strtoint(Edit3.Text);
v:=a*b*c;
Edit4.Text:=inttostr(v);
s:=2*a*b+2*a*c+2*b*c;
Edit5.Text:=inttostr(s)
end;
, , close, TFormi.Button2ciick,
Button2. 14.2
.
; " "
.........
| 14.2. ,
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForml = class(TForm)
Label1: TLabel;
Label2: TLabel;
Editl: TEdit;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Buttonl: TButton;
Button2: TButton;
Panell: TPanel;
Imagel: TImage;
326
14
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
( Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var a,b,c,s,v:integer;
begin
a:=StrtoInt(Editl.Text) ;
b:=StrtoInt(Edit2.Text);
c:=StrtoInt(Edit3.Text);
v:=a*b*c;
s:=2*(a*b+a*c+b*c);
Edit4.Text:=InttoStr(v);
Edit5.Text:=InttoStr(s);
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close
end;
end.
.
: .
. 14.4.
14.3. ""
, ,
. , , . ,
327
Delphi
|15
)2
1792
. 14.4. ""
. .
.
, , , Object
Pascal.
,
Turbo Pascal. , ,
div mod.
,
.
:
. ,
.
;
. , .
328
14
. ;
. . .
;
, , ( );
, .
.
. Caption
. .
color
- ciAqua.
.
Editi (
) Edit2 ( ).
,
, Font . -, 10 , .
Label 1, , . Labei2
Labei3, , . Labei2 , a Labei3
.
12 .
.
Edit3 Edit4 Label4, Labels Label6.
.
.
Edits Edit6, .
: .
, .
Delphi
329
:
. , , , Labei7
Labels. ,
: Labei9 Labeiio,
.
.
. panel 1, imagel. ( imagel) ( Paneii). ,
"". : , .
Clipart, Microsoft Office 97, Clock.wmf,
, imagel
.
,
, . Buttoni
.
Button2 .
.
,
: Label 11 Labell2,
. ,
Labein Labeil2,
, visible False.
.
Button3 , .
. 14.5.
.
, Buttoni.
,
, . , var. -,
330
14
. cl, ml.
2 2. , strtoint, . , ,
Editi, Edit2, Edit3 Edit4, , :
cl:=StrtoInt(Editl.Text);
ml:=StrtoInt(Edit2.Text);
c2:=StrtoInt(Edit3.Text);
m2:=StrtoInt(Edit4.Text);
B>
; ;
;
I :
;';..
..
:
I::
. 14.5. ""
. . 60
. , , t l .
, t2. :
tl:=cl*60+ml;
t2:=c2*60+m2;
Delphi
331
t3 , , :
t3:=t2-tl;
, . ,
. , , , . . t3
60 div. .
mod, , , .
60. , , ,
:
c3:=t3 div 60;
m3:=t3 mod 60;
, ,
Edits Edit6. ,
, ,
inttostr. , ,
:
Edit5.Text:=InttoStr(c3);
Edit6.Text:=InttoStr(m3);
TFormi.Buttonciick,
,
:
procedure TForml.ButtonlClick(Sender: TObject);
var cl,ml,c2,m2,c3fm3,tl,t2,t3:integer;
begin
cl:=StrtoInt(Editl.Text);
ml:=StrtoInt(Edit2.Text);
c2:=StrtoInt(Edit3.Text);
m2:=StrtoInt(Edit4.Text);
tl:=cl*60+ml;
t2:=c2*60+m2;
t3:=t2-tl;
c3:=t3 div 60;
m3:=t3 mod 60;
Edit5.Text:=InttoStr(c3);
Edit6.Text:=InttoStr(m3);
end;
332
14
, Button2
. , ,
,
. ,
Labeln Labeii2. , ,
visible True (
False). , , , :
procedure TForml.Button2Click(Sender: TObject);
begin
Labell1.Visible:=True;
Labell2.Visible:=True
end;
, , , . :
procedure TForml.Button3Click(Sender: TObject);
begin
Close
end;
14.3.
| 14.3. ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForml = class(TForm)
Editl: TEdit;
Edit2: TEdit;
Labell: TLabel;
Label2: TLabel;
Label3: TLabel;
Delphi
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit5: TEdit;
Edit6: TEdit;
Label9: TLabel;
LabellO: TLabel;
Buttonl: TButton;
Panell: TPanel;
Image1: T Image;
Button2: TButton;
Labelll: TLabel;
Label12: TLabel;
Button3: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
imp1ementation
($R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var cl,ml,c2,m2,c3,m3,tl,t2,t3:integer;
begin
cl:=StrtoInt(Editl.Text);
ml:=StrtoInt(Edit2.Text);
c2:=StrtoInt(Edit3.Text);
m2:=StrtoInt(Edit4.Text);
tl:=cl*60+ml;
t2:=c2*60+m2;
t3:=t2-tl;
c3:=t3 div 60;
333
334
14
,
, .
,
.
, , . 14.6.
i 11
I *{
.
'
' -
" (
|| j |
"*
|
. 14.6. ""
Delphi
335
14.4. ""
, . , . ,
.
. , ,
, . . , , , .
,
. :
( ) ;
( )
;
,
, ;
. .
.
;
, .
,
,
. , ,
.
,
caption Formi, . Editi Edit2, .
Label 1 Labei2 -
336
14
. Edit3 Edit4,
. Edit3 , Edit4 . Label3 Labei4
.
: Buttonl, Button2 Button3.
Buttonl
, Editl
Edit2, Edit3 Edlt4.
Button2 ,
. Button3
, .
Paneii,
imagei, . . ,
. , ,
Paint ,
"", .
(. 17.7).
, . ,
, , , ,
.
.
Real,
Turbo Pascal. .
Object Pascal
strtoFioat. Fioattostr. .
Buttonl. . h,
. : v, s.
Tfomi.Buttoniciick :
var h,r:integer; v,s:real;
Delphi
337
. . ,
.
,
( ) ,
Editi Edit2 .
:
h:=StrtoInt(Editl.Text);
:=StrtoInt(Edit2.Text);
j l '
-
. 14.7. ""
. , , . , , , .
sqr, Object Pascal.
pi, Object Pascal.
,
.
, :
pi*sqr(r). , Object Pascal :
v:=pi*sqr(r)*h;
14
338
, ,
. :
,
,
. , ,
pi*sqr(r), 2*pi*sqr(r).
-: 2*pi*r*r.
. 2*pi*r,
2*pi*r*h. ,
2*pi*r*r+2*pi*r*h. , : 2*pi*r* (h+r). s:
s:=2*pi*r*(h+r);
, Edit3 Edit4,
Fioattostr. :
Edit3.Text:=FloattoStr(v);
Edit4.Text:=FloattoStr(s)
, , Buttonl, :
procedure TForml.ButtonlClick(Sender:
var h,r:integer; v , s : r e a l ;
begin
TObject);
h:=StrtoInt(Editl.Text);
r:=StrtoInt(Edit2.Text);
v:=pi*sqr(r)*h;
s:=2*pi*r*(h+r);
Edit3.Text:=FloattoStr(v);
Edit4.Text:=FloattoStr(s)
end;
, , Button2.
, . ,
, .
Delphi
339
:
1. .
. File,
File New. , , ( 5
New ). Form.
. Form2.
2. . ( , , uniti) , , , :
FormN.Show;
N .
:
Form2.Show;
, ,
. , . show , .
, ,
:
procedure TForml.Button2Click(Sender: TObject);
begin
Form2.Show;
end;
3. .
, :
View. Forms.
, , .
, . . . ,
.
.
340
14
, , .
4. , ,
.
unit2. ,
View ,
Units. ,
( Unit2).
, , unit2
uniti. :
.
uses, . unit2.
:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, ExtCtrls, StdCtrls, Menus, Unit2;
.
Button3, , .
close, , ,
:
procedure TForml.Button3Click(Sender: TObject);
begin
Close
end;
uniti
.
14.4.
! 14.4. "" ( )
unit Uniti;
interface
Delphi
341
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Menus, Unit2;
type
TForml = class(TForm)
Label1: TLabel;
Editl: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Buttonl: TButton;
Button2: TButton;
Button3: TButton;
Panel1: TPanel;
Imagel: TImage;
procedure ButtonlClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender:
var h,r:integer; v,s:real;
begin
h:=StrtoInt(Editl.Text);
r:=StrtoInt(Edit2.Text);
v:=pi*sqr(r)*h;
s:=2*pi*r*(h+r);
Edit3.Text:=FloattoStr(v);
Edit4.Text:=FloattoStr(s)
end;
TObject);
342
14
. Form2, Caption
. ,
: Labeii Labei2 Buttoni. , Buttoni. ,
close. Unit2 14.5.
'
"
"
"
14.5. "" ( )
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Buttoni: TButton;
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
343
Delphi
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.ButtonlClick(Sender: TObject);
begin
Close
end;
end.
. . 14.8.
i f
V
||
1---
__
__
., 1
. 14.8. ""
Delphi "", Turbo Pascal, 3. : , , .
344
14
4
1000, 500, 100 50 ,
, .
. . Money.wmf
Clipart, Microsoft Office 97.
15
Delphi
, Delphi, , . ,
. . ,
. .
, , .
15.1. ""
Object Pascal, Turbo Pascal,
. if
Turbo Pascal. Object Pascal
, .
if Object Pascal. -, . 4 ,
(. 4.4). ,
Delphi.
""
: -, ,
, . -,
, . , , -
346
15
, . , . , .
,
,
.
: , , ,
.
, .
. .
-.
. Memol
.
Memo, Standard ().
,
Label , . ,
Memo Lines -.
String List
Editor, " ". , <Enter>. . ,
,
color Memo Color Form. Borderstyle ( ) Memo
bsNone ( ).
? , (
Font) 12.
Editl. . 12.
Editl 2, -
Delphi
347
, . . , 9. -.
Editi Buttoni.
, 12. Labeii, .
. ,
12.
, . . , .
visible False. . :
Caption Labeii .
, .
.
, paneii,
imagel, . . . , - , .
Web- JPEG. , , , , ,
.
Button2 Button3.
, Buttoni. : Button2 Button3.
Button2 Form2.
.
,
, , . .
.
,
Height width.
, -
15
348
, Memol, , Buttoni, .
, , 10,
, 12. , . 15.1.
""
. 15.1. ""
.
. , Buttoni.
. strtoint. Editi :
k:=StrtoInt(Editl.Text) ;
, ,
1957 (
). , , . if:
if k=1957
then Labell.Caption:='Bbi '
else Labell.Caption:='Bbi '
Delphi
349
, ,
, :
procedure TForml.ButtonlClickfSender: TObject);
var k:integer;:
begin
k:=StrtoInt(Editl.Text);
if k=1957
then Labell.Caption:='Bbi 1
else Labell.Caption:='Bbi '
end;
, ,
Button2. , ,
:
Form2.Show;
, uses,
, , Form2:
uses Unit2;
, Button3,
:
Close;
unitl, 15.1.
i 15.1. "" ( )
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForml =
Memol:
Memo2:
Editl:
class(TForm)
TMemo;
TMemo ;
TEdit;
350
15
Buttonl: TButton;
Labell: TLabel;
Panell: TPanel;
Image1: Tlmage;
Button2: TButton;
Button3: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
procedure TForml.Button2Click(Sender: TObject);
begin
Form2.Show
end;
procedure TForml.Button3Click(Sender: TObject);
begin
Close
end;
end.
, , Buttonl,
351
Delphi
Form2.
Unit2 TForm2.Buttoniciick close.
Unit2 , . .
(. 14.5). "" . 15.2.
J1957
I
""
. 15.2. ""
352
15
, ,
.
. ,
:
d=b2-4ac.
.
, \
2 (
). :
*1
;
2
.
2
2
, ,
. ,
if.
, .
, . , , . ,
. (, ,
). .
.
, .
. ,
,
. . -,
,
. , , . ,
, ,
.
.
Delphi
353
, ,
, , .
, .
.
. :
.
, , , ,
.
, -. , (
), . Delphi
.
,
. .
Forml .
, , -.
.
Editi, Edit2 Edit3.
Labell, Label2 Label3. Editl . Text ,
. . .
( Font) ,
10 .
Edit2 Edit3, .
Labell . -,
( Caption) :
. -, . 10 .
Label2 Label3. Label2 , Label3 .
12 3. 1068
354
15
Edit4 Edits, xi 2.
, . . Text, 10 .
, , , .
, , , .
- . : , ,
, ,
. , Edit4 Edits visible
False (), . .
Label4 ( , ).
, , visible False.
,
10 . , .
: Buttonl Button2. Buttoni ,
: .
, .
12 .
Button2.
: .
, , . ,
, Panel 1, imagel, . . . ,
Microsoft Office 97.
: ,
, Program Files\Clipart\Popular.
Amconfus wmf. -
Delphi
355
, , ,
.
, , .
, .
, . ,
.
, ( Object Tree View), , . ,
, , ,
MainMenui ( ). "",
, .
"" "". "", , "" "".
, ,
. . 15.3 ,
, .
fobiect TieeView
L-fl
Buttoni
: | Button2
Editi
Edit2
Edit3
Edi!4
Edit5
Labeli
Label2
Labels
Label4
MainMenui
Y *>** {1}
' $ {N3}
& 4: {N2}
$. {N4}
Panel!
3
a
\....ra
a
H
i-I
\
i :
km
. 15.3. , MainMenui P k n e l l
( MainMenui )
15
356
:
Standard MainMenu,
: _. ,
,
, . . . I "^ I
\ \
( ), Form I.MainMenu 1 (. 15.4). .
W Formi-MainMenui
I
. 15.4. : )
; 6)
,
caption, (, ) <Enter>.
Delphi
357
Forml.MainMenul, ,
. ,
, NI.
.
. , Caption,
( )
N2.
.
,
, . Caption, . ,
. , ,
.
.
N4. Forml.MainMenul, " " . , , ,
. . 15.5.
1 Jf
L
. 15.5.
358
15
( Buttonl). TForml.Buttonlciick.
, . , ,
d xl 2. , real:
var a,b,c,d,xl,x2:real;
.
StrtoFloat:
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
c:=StrtoFloat(Edit3.Text);
:
d:=sqr(b)-4*a*c;
. , :
1. .
2. Edit4 Edits, .
3.
Fioattostr , .
4. , ,
.
:
xl:=(-b-sqrt(d))/{2*a);
x2:=(-b+sqrt(d))/(2*);
Edit4.Text:= FloattoStr (xl);
Edit4.Visible:=True;
Delphi
359
Edit5.Text:=FloattoStr(x2);
Edit5.Visible:=True;
Label4.Visible:=True;
Label4.Caption:='KopHM
'
, , :
1. , ,
.
2. , . .
.
:
Label4.Visible:=True;
Label4.Caption:='ypaBHeHMe ';
Edit4.Visible:=False;
Edit5.Visible:=False
:
if d>=0
then
begin
xl:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
Edit4.Text:=FloattoStr(xl);
Edit4.Visible:=True;
Edit5.Text:=FloattoStr(x2);
Edit5.Visible:=True;
Label4.Visible:=True;
Label4.Caption:=' '
end
else
begin
Label4.Visible:=True;
Label4.Caption:=' ';
Edit4.Visible:=False;
Edit5.Visible:=False
end
:
procedure TForml.ButtonlClick(Sender:
var a,b,c,d,xl,x2:real;
TObject);
360
15
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
c:=StrtoFloat(Edit3.Text);
d:=sqr(b)-4*a*c;
if d>=0
then
begin
xl:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
Edit4.Text:=FloattoStr(xl);
Edit4.Visible:=True,
Edit5.Text:=FloattoStr(x2);
Edit5.Visible:=True;
Label4.Visible:=True;
Labe14.Capt i on: =' '
end
else
begin
Label4.Visible:=True;
Label4.Caption:='
';
Edit4.Visible:=False;
Edit5.Visible:=False
end
end;
, ,
( Button2).
TFormi.Button2ciick :
1. , .
2.
.
Text
, .
visible False. :
procedure TForml.Button2Click(Sender:
begin
Editl.Text:='';
Edit2.Text: = " ;
Edit3.Text:='';
TObject);
Delphi
361
Edit4.Visible:=False;
Edit5.Visible:=False;
Label4.Visible:=False
end;
,
. , , . . (, N3, ), Events ()
onclick.
,
, N3 TForml.N3ciick.
close, :
procedure TForml.N3Click(Sender: TObject);
begin
close
end;
, N4,
. , .
, . , , . . ,
, TForml.N4ciick :
procedure TForml.N4Click(Sender:
begin
Form2.Show
end;
TObject);
Unitl 15.2.
I 15.2. " " ( )
unit Unitl;
interface
362
15
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Menus;
type
TForml - class(TForm)
Label1: TLabel;
Editl: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Panel1: TPanel;
Image1: TImage;
Buttonl: TButton;
Label4: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Button2: TButton;
MainMenul: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
procedure ButtonlClick(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
uses Unit2;
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var a,b,c,d,xl,x2:real;
begin
a:=StrtoFloat(Editl.Text);
Delphi
b:=StrtoFloat(Edit2.Text) ;
c:=StrtoFloat(Edit3.Text);
d:=sqr(b)-4*a*c;
if d>=0
then
begin
xl:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
Edit4.Text:=FloattoStr(xl);
Edit4.Visible:=True;
Edit5.Text:=FloattoStr(x2);
Edit5.Visible:=True;
Labe14.Visible:=True;
Labe14.Capt ion: =' '
end
else
begin
Label4.Visible:=True;
Label4.Caption:=' 1;
Edit4.Visible:=False;
Edit5.Visible:=False
end
end;
procedure TForml.Button2Click(Sender: TObject);
begin
Editl.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Visible:=False;
Edit5.Visible:=False;
Label4.Visible:=False
end;
procedure TForml.N3Click(Sender: TObject);
begin
close
end;
procedure TForml.N4Click(Sender: TObject);
begin
Form2.Show
end;
end.
363
364
15
I if
I 1
I
. 15.6.
I {*
10
. 15.7.
Unit2, ,
, . ,
Delphi
365
.
.
. 15.615.7 , , ,
. . 15.6 , . 15.7 .
15.3. ""
, Delphi, , (, , )
. ,
.
.
Turbo Pascal. , Turbo Pascal, case.
, Delphi . , .
. , -, ,
-, , .
"" :
;
;
;
;
;
,
, (,
);
366
15
,
( , );
,
.
, :
, ;
,
( , "", , ).
. ( caption Formi) . -.
. . Editi Edit2 , Edit3 .
. Labell, Label2
Label3.
. Buttoni
, Button2 , Button3 , Button4 , Buttons
, Button6
. Button7,
, . . Buttons.
. Editi Labei4
Labels. (
visible False). , ( ,
Buttons ), . : " ".
Edit2 Label , . , -
Editi, Edit2
Button4 , ,
Label6 . Edit2
: " ".
Delphi
367
""
checkboxi. .
, ,
, .
,
.
, .
, .
, Edit3
. , Standard checkbox,
: .
, : 0 .
.
caption checkbox.
checkboxi : .
. checkbox,
Alignment . Alignment
.
taRightJustify, . . .
Alignment , taLeftJustify . , .
,
.
Tour98, Windows 98.
Panel.
imagel, . . .
imagel
. , chckbook,
GIF, Delphi . , - ,
.
Chckbook, Paint,
368
15
" ;;:.'
. 15.8. ""
Buttoni, ,
Editi Edit2. , Editl.Text Edit2.Text
. , . :
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
c:=a+b;
Delphi
369
, Edit3.Text,
.
, "
", . . checkboxl.
checked. , checked
True, , False. if .
, , then, ,
else.
, then, . -,
okr round, ,
. -, okr
inttostr Edit3.
:
okr:=round();
Edit3.Text:=InttoStr(okr)
, else, Edit3.Text
FloattoStr:
Edit3.Text:=FloattoStr()
, ,
, :
procedure TForml.ButtonlClick(Sender: TObject);
var a,b,c:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
c:=a+b;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
370
else
end;
15
Edit3.Text:=FloattoStr()
,
(Button2) (Button4).
(Button4)
. , , . , -
Edit2. ,
Button4 , Edit2.
Edit2.Text . . ,
, else.
Labei6, ,
. ,
then ,
, . ,
. , ,
. ,
. , , :
procedure TForml.Button4Click(Sender: TObject);
var a,b,c:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
if b<>0 then
begin
c:=a/b;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end
Delphi
371
else
begin
Label6.Visible:=True;
Edit3.Text: = "
end
end;
, ,
(Buttons),
,
Editl.
, Editl,
, .
, , . .
. :
a:=StrtoFloat(Editl.Text);
Edit2.Text:='';
, .
, ,
then, . . ,
Edit3.Text. ( ), Label4 Labels, .
:
procedure TForml.Button5Click(Sender: TObject);
var ,:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text);
Edit2.Text:='';
if a>=0 then
begin
c:=sqrt (a) ;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
372
15
else Edit3.Text:=FloattoStr()
end
else
begin
Edit3.Text: = ' ';
Label4.Visible:=True;
Label5.Visible:=True
end
end;
,
(Button6), , , . .
.
Button6 :
procedure TForml.Button6Click(Sender: TObject);
var ,:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text) ;
Edit2.Text:='
c:=sqr(a);
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end;
(Button7) , (Buttons)
, ,
, . . 15.3
"".
I 15.3. ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
Delphi
type
TForml = class(TForm)
Labell: TLabel;
Label2: TLabel;
Editl: TEdit;
Edit2: TEdit;
Buttonl: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Panel1: TPanel;
Button8: TButton;
Imagel: Tlmage;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
CheckBoxl: TCheckBox;
procedure ButtonlClick(Sender:
procedure Button2Click(Sender:
procedure Button3Click(Sender:
procedure Button4Click(Sender:
procedure Button5Click(Sender:
procedure Button6Click(Sender:
procedure Button7Click(Sender:
procedure Button8Click(Sender:
private
{ Private declarations }
public
{ Public declarations }
end;
373
TObject);
TObject);
TObject);
TObject);
TObject);
TObject);
TObject);
TObject);
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var a,b,:real; okr:integer;
374
15
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
c:=a+b;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else
Edit3.Text:=FloattoStr(c)
end;
procedure TForml.Button2Click(Sender: TObject);
var a,b,:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text) ;
b:=StrtoFloat(Edit2.Text) ;
:=a-b;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end;
procedure TForml.Button3Click(Sender: TObject);
var a,b,c:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
c:=a*b;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end;
procedure TForml.Button4Click(Sender: TObject);
var a,b,c:real; okr:integer;
Delphi
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text);
if boO then
begin
c:=a/b;
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:-InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end
else
begin
Label6.Visible:=True;
Edit3.Text:='
end
end;
procedure TForml.Button5Click(Sender: TObject);
var ,:real; okr:integer;
begin
a:=StrtoFloat(Editl.Text);
Edit2.Text:='';
if a>=0 then
begin
c:=sqrt(a);
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end
else
begin
Edit3.Text: = '' ;
Label4.Visible:=True;
Label5.Visible:=True
end
end;
375
376
15
okr:integer;
begin
a:=StrtoFloat(Edit1.Text);
Edit2.Text: = " ;
c:=sqr(a);
if Checkboxl.Checked
then
begin
okr:=round(c);
Edit3.Text:=InttoStr(okr)
end
else Edit3.Text:=FloattoStr(c)
end;
procedure TForml.Button7Click(Sender: TObject);
begin
close
end;
procedure TForml.Button8Click(Sender: TObject);
begin
Editl.Text: = "
Edit2.Text:='
Edit3.Text:='
Label4.Visible:=False;
Label5.Visible:=False;
Label6.Visible:=False
end;
end.
15.4.
""
Turbo Pascal, Object Pascal
if.. .then.. .else case. -
Delphi
377
"".
13 .
,
, . .
.
1105.08
{ ;
. 15.9. ""
33.5
0
[]
. 15.10. ""
378
15
*ff
. 15.11. ""
, , , ,
, . ,
. .
, , ,
. . -, Panei2,
imagei. , . , ,
, , . , , Clipart Office 97,
car.wmf.
. car.wmf Picture
imagei.
.
Delphi
379_
. , . . ,
.
.
, System, a
, :
. ,
Timerl.
, .
onTimer, . .
, .
, interval , .
, . . .
.
interval 3000 , 3 .
,
. Paneil, shape. shapel ,
shape2 , a shape3 .
Buttoni, .
Labell, : . .
. 15.12.
,
.
OnCreate.
:
, ,
, , ,
imagei 12 . FormCreate :
Shapel.Brush.Color:=clRed;
Panel2.Height:=64;
Imagei.Height:=60;
380
15
Panel2.Width:=233;
Imagel.Width:=229
, shape
Brush, , .
Brush.color,
ciRed ( ).
I
. 15.12. ""
Timeri. , TimeriTimer,
.
, :
if. 3 .
,
:
if Shapel.Brush.Color=clRed
then n:=l;
if Shape2.Brush.Color=clYellow
then n:=2;
if Shape3.Brush.Color=clLime
then n:=3;
Delphi
381
, (
, , ),
.
,
- .
, , .
, case:
Imagel.Picture.LoadFromFile('Stop.wmf');
Imagel.Height:=178;
Panel2.Height:=182;
Imagel ."Width.107;
Panel2.Width:=111;
Shapel.Brush.Color:=clSilver;
Shape2.Brush.Color:=clYellow;
, .
imagel Stop.wmf,
, .
.
Stop .
LoadFromFile ( ). ,
, . Panell imagel , .
- shapel ( ), Shape2 ( ) -
.
, , 3.
, Shape2 ,
( shape3) .
,
.
( ,
), ,
. , flag,
, .
382
15
,
flag , .
, flag , .
, . ,
.
Microsoft Office 2000 people.wmf, . ,
, Car.wmf. if
:
if
flag=l
then
begin
Shape2.Brush.Color:=clSilver;
Shapel.Brush.Color:=clRed;
Imagel.Picture.LoadFromFile('Car.wmf');
Panel2.Height:=64;
Imagel.Height:=60;
Panel2.Width:=233;
Imagel.Width:=229
end
else
begin
Imagel.Picture.LoadFromFile('People.wmf);
Panel2.Height:=137;
Imagel.Height:=133;
Panel2.Width:=152;
Imagel.Width:=148;
Shape2.Brush.Color:=clSilver ;
Shape 3. Brush. Color: =clHme
end;
,
imagel , ,
. , flag
,
interface. 15.4
"".
Delphi
383
! 154. ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForml = class(TForm)
Panell: TPanel;
Label1: TLabel;
Buttonl: TButton;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
Timerl: TTimer;
Panel2: TPanel;
Imagel: Tlmage;
Label2: TLabel;
procedure TimerlTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml; n:integer; flag:integer;
implementation
{$R
procedure TForml.FormCreate(Sender: TObject);
begin
Shapel.Brush.Color:=clRed;
Panel2.Height:=64;
Imagel.Height:=60;
Panel2.Width:=233;
Imagel.Width:=229
end;
384
15
Delphi
385
begin
Imagel.Picture.LoadFromFile('Stop.wmf']
Imagel.Height:=178;
Panel2.Height:=182;
Imagel.Width:=107;
Panel2.Width:=111;
Shape3.Brush.Color:=clSilver;
Shape2.Brush.Color:=clYellow;
flag:=l
end;
end;
end;
procedure TForml.ButtonlClick(Sender: TObject);
begin
close
end;
end.
. 15.13 , , . 15.14
. 15.15 , .
. 15.13. "" .
. 1068
386
15
. 15.14. "" .
. 15.15. "" .
"", ,
. .
100, -
Delphi
387
, 4 (, 2004-), ,
4 (, 2005-). 100, ,
400 (, 2000-), , 400 (, 1900-).
.
( ) : ,
. ,
: , , :
,
. Paint . Image.
.
100. ,
.
1 6
Delphi
Object Pascal, Turbo Pascal, ,
,
.
Delphi .
16.1. ""
Object Pascal
.
Turbo Pascal. ,
, , .
Delphi. , faktor. ,
. :
, ;
, , ;
,
;
, ;
, ,
, ;
390
16
, , ,
.
. , . .
. , . ( NI) ( ), (
N2) ( N4). ,
.
.
.
()
-. Editi. Memoi.
, ,
. -, , Borderstyle None, . .
.
( Buttonl), .
( Edit2), , ( Labeii). .
( Button2) ( Button3).
.
Paneii,
( imagei).
Clipart, Microsoft Office 97.
Amidea. ,
.
. (. 16.1).
. N3 ,
close.
N4 Form2.show,
.
Delphi
391
File | New ( | ), Unit2 unitl, uses.
.
,
.
:::;:::::;
. 16.1. ""
,
, . , , ( , ),
, , . :
procedure TForml.ButtonlClick(Sender: TObject);
var i,f,n:integer;
begin
n:=StrtoInt(Editl.Text);
f:=l;
for i:=l to n do
f:=f*i;
Edit2.Text:=InttoStr{f)
end;
, , , . -
392
16
-
, . . . 16.1 .
| 16.1.
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus,Unit2, StdCtrls, ExtCtrls;
type
TForml = class(TForm)
MainMenul: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Memol: TMemo;
Editl: TEdit;
Buttonl: TButton;
Label1: TLabel;
Edit2: TEdit;
Panel1: TPanel;
Image1: TImage;
Button2: TButton;
Button3: TButton;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
Delphi
393
Unit2, ,
. .
. 16.2. ,
15, . .
. , 12
479 001 600.
394
16
I if
.
,
.
720
. 16.2. ""
16.2. ""
, Delphi
, "". , , ,
,
, .
,
, (
, , , ) . , . ,
Delphi,
:
, ;
;
:
(), ();
Delphi
395
(
);
;
;
, .
, , . -
, .
Editl, Edit2 Edit3 .
,
Labell, Labei2 Labei3. : Buttonl Button2. , .
Edit4 Edits, . Edit4 , Edits . ,
Memol. ,
,
. Label4 Labels.
( Paneii imagei).
(Button3),
. (. 16.3).
(Buttonl). . :
srok , , rub
,
, ,
, i . : vki , pro , drob
drobl ,
.
(Editl) vki,
396
16
Edit2 srok,
Edit3
pro. :
vkl:=StrtoFloat(Editl.Text) ;
srok:=StrtoInt(Edit2.Text) ;
pro:=StrtoFloat(Edit3.Text);
: :.
'.'.'.'.'.'.'.'.. .......
;
:::;::::::::::::::::::::.:::::.::
' ] : : : : : : ;
:::::::::::::::;;
-
; : -
:".::::
.
16.3. ""
,
.
, , ,
100. . :
for i : = l to srok do
vkl:=vkl+vkl*pro/100 ;
.
trunc, ,
. -
Delphi
397
,
Edit:
rub:=trunc(vkl);
Edit4.Text:=InttoStr(rub);
drb, . drb ,
100 drbi. drbi, . , round,
. :
drb:=vkl-rub;
drbi:=drb*100;
kop:=round(drbi);
, Buttoni, :
procedure TForml.ButtonlClick(Sender:
var i,srok,rub,kop:integer;
vkl,pro,drb,drbi:real;
begin
vkl:=StrtoFloat(Editl.Text);
srok:=StrtoInt(Edit2.Text);
pro:=StrtoFloat(Edit3.Text);
for i:=l to srok do
vkl:=vkl+vkl*pro/100;
rub:=trune(vkl);
Edit4.Text:=InttoStr(rub);
drb:=vkl-rub;
drbl:=drb*100;
kop:=round(drbi);
Edit5.Text:=InttoStr(kop)
end;
TObject);
Button2,
, Button3, ,
, , .
16.2.
398
;
16
;:""'""
"
I 16.2. ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForml = class(TForm)
Panel1: TPanel;
Imagel: TImage;
Label1: TLabel;
Editl: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Memol: TMemo;
Buttonl: TButton;
Edit4: TEdit;
Button2: TButton;
Button3: TButton;
Label4: TLabel;
Edit5: TEdit;
Label5: TLabel;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var
i,srok,rub,kop:integer;
vkl,pro,drb,drbl:real;
Delphi
399
begin
vkl:=StrtoFloat(Editl.Text);
srok:=StrtoInt(Edit2.Text);
pro:=StrtoFloat(Edit3.Text);
for i:=l to srok do
vkl:=vkl+vkl*pro/100;
rub:=trunc(vkl);
Edit4.Text:=InttoStr(rub);
drb:=vkl-rub;
drbl:=drb*100;
kop:=round(drbl) ;
Edit5.Text:=InttoStr(kop)
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close
end;
procedure TForml.Button3Click(Sender: TObject);
begin
Editl.Text:-1';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:=''
end;
end.
, 5000
3 15%, . 16.4.
16.3.
" "
,
.
, 12 , ..
3 .
.
400
16
$:;&
5000
| _ jj
:
'604
^8
. 16.4. ""
.
. ,
"". , "". "", "".
.
, ,
. :
, ,
: , ,
;
, , . . ,
;
;
;
;
.
Labeii,
: ?, ?,
Delphi
401
? ?. -
16
402
, Paint
.
|
, , ,
Panell imagei . imagel , , Panel
4 . ,
. (. 16.5).
. ,
, ,
, , . .
Forml Events ()
onCreate ( ).
OnCreate, FormCreate.
. -,
. ,
Delphi
403
,
. Turbo Pascal, Object Pascal Randomize. -, -. - . - t
, ,
.
, . .
. .
, . .
. t
, . . .
. , Turbo
Pascal, Random.
inttostr .
?, Labeii. Label2 ,
"+".
. :
procedure TForml.FormCreate(Sender: TObject);
begin
randomize;
k:=l; t : = 0 ;
x:=random(9)+1;
:=random(9)+1;
a:=InttoStr(x) ;
b:=InttoStr(y) ;
Labell.Caption:=' ?';
Label2.Caption:=a+'+'+b;
end;
. ,
, .
Buttoni onclick,
Buttonlciick. , ,
.
404
16
, . , .
( , , . .
). strtoFloat
"" . ,
,
t .
,
.
, ,
.
, , , . .
( ) . . setFocus,
, . , Editi Editi.SetFocus.
:
z:=x+y;
c:=StrtoFloat(Editl.Text) ;
if c=z then t:=t+l;
x:=random(9)+1;
:=random(9)+1;
a:=InttoStr(x);
b:=InttoStr(y) ;
Labell.Caption:='4eMy ?';
Label2.Caption:=a+'+'+b;
Label3.Caption:='BBeflMTe ';
k:=k+l;
Editl.Text:='';
Editl.SetFocus
, . -
Delphi
405
, 1 2. :
. , 1,
, , 2, . 3, , ,
, , .
. , ,
. ,
.
. :
if
,
(
). ,
.
,
, , , . case, t -.
:
if c=z then t:=t+l;
Editl.Visible:=False;
406
16
Labell.Caption:='';
Label2.Caption:='';
Label3.Caption:='';
Buttonl.Visible:=False;
Label4.Visible:=True;
case t of
0..7: Label4.Caption:='
8,9:
Label4.Caption:='
10,11: Label4.Caption:='
12:
Label4.Caption: = 'Baiua
2';
3';
';
5';
end;
, ,
Buttonl.
, . ,
case . :
case k of
1..2:
begin
z:=+;
c:=StrtoFloat(Editl.Text);
if c=z then t:=t+l;
x:=random(9)+1;
:=random(9)+1;
a:=InttoStr(x);
b:=InttoStr(y);
Label1.Caption:=' ?';
Label2.Caption:=a+'+'+b,
Label3.Caption:='BBewiTe ';
k:=k+l;
Editl.Text:-1';
Editl.SetFocus
end;
3..5: begin
if k=3 then z:=x+y
else z:=x-y;
c:=StrtoFloat(Editl.Text);
if c=z then t:=t+l;
x:=random(9)+l;
:=random(9)+1;
a:=InttoStr(x);
b:=InttoStr(y);
Delphi
Label1.Caption:=' ?';
Label2.Caption:=a+'-'+b;
Label3.Caption:=' ';
k:=k+l;
Editl. Text:-";
Editl.S*tFocua
end;
6..8: begin
if k=6 then z:=x-y
else z:=x*y;
:=StrtoFloat(Editl.Text);
if c=z then t:=t+l;
x:=random(9)+1;
y:=random(9)+1;
a:=InttoStr(x);
b:=InttoStr(y);
Labell.Caption:='4eMy ?';
Label2.Caption:=a+'*'+b;
Label3.Caption:='BBeflMTe 1;
k:-k+l;
Editl.Text:='';
Editl.SetFocus
end;
9..11: begin
if k=9 then z:=x*y
else z:=(x+y)/2;
:=StrtoFloat(Editl.Text);
if c=z then t:=t+l;
x:=random(9)+l;
:=random(9)+1;
a:=InttoStr(x);
b:=InttoStr(y);
Labell.Caption:=' ?';
Label2.Caption:=a+' '+b;
Label3.Caption:=' ';
k:=k+l;
Editl.Text:='';
Editl.SetFocus
end;
12:
begin
if c=z then t:=t+l;
Editl.Visible:=False;
Labell.Caption:='';
407
16
408
Label2.Caption: = '' ;
Label3.Caption:='';
Buttonl.Visible:=False;
Label4.Visible:=True;
case t of
0..7:
8,9:
Label4.Caption:=' 3';
Label4.Caption:='Bama 5';
end;
end;
end;
, , , ,
. ,
, - ,
,
, , . 16.6.
Debuqqei Exception Notification
Project Ptoject1.exe raised exception class EConvertErroc with message "' i;
not a valid integer value'. Process stopped Use Step or Run to continue.
|~;;;"1|
. 16.6. ,
(, , )
- , , , . ,
.
.
.
, , .
Editi .
Delphi
409
, , 0 9. , ,
"".
, ,
.
:
flag:=true;
s:=Editl.Text;
f o r i : = l t o l e n g t h ( s ) do
i f ( s [ i ] < > ' 0 ' ) and ( s [ i ] o ' l ' ) and ( s [ i ] < > ' 2 ' )
and ( s [ i ] O ' 3 ' ) a n d ( s [ i ] < > ' 3 ' ) and ( s [ i ] < > ' 4 ' )
and ( s [ i ] < > ' 5 ' ) and ( s [ i ] < > ' 6 ' ) and ( s [ i ] < > ' 7 ' )
and ( s [ i ] < > ' 8 ' ) and ( s [ i ] < > ' 9 ' ) and ( s [ i ] < > ' - ' )
and ( s [ i ] < > \ ')
then flag:=false;
if flag=false
t h e n L a b e l 3 . C a p t i o n : = ' B '
else
flag,
.
true. s ,
. length
.
. , , , length(s), .
,
flag false. flag.
false, , Label3, . flag true, . . ,
, else. else , .
.
, , , ( )
. -
410
16
.
preobri,
Buttoniciick,
preobr2.
Buttoniciick, .
. 16.3 .
:
| "
; ! "
'
. . . . ,
Delphi
411
flag:boolean;
a,b,s:string;
implementation
{$R *.dfm}
procedure TForml.FormCreate(Sender:
TObject);
begin
randomize;
k:=l; t:=0;
x: random (9)+1 ;
y:=random(9)+l;
a:=InttoStr(x);
b:=InttoStr(y);
Labell.Caption:='4eMy ?';
Label2.Caption:=a+'+'+b;
end;
procedure TForml.ButtonlClick(Sender: TObject);
var i:integer;
procedure preobrl;
begin
c:=StrtoFloat(Editl.Text);
if c=z then t:=t+l;
x:=random(9)+1;
y:=random(9)+l;
a:=InttoStr(x);
b:=InttoStr(y) ;
end;
procedure preobr2;
begin
Label3.Caption:=' ';
k:=k+l;
Editl.Text:='';
Editl.SetFocus
end;
begin
randomize;
flag:=true;
s:=Editl.Text;
for i:=l to length(s) do
if (s[i]<>'0') and (s[i]o'l') and (s[i]<>'2')
412
and (s[i]o'3')and (s[i]<>'3') and (s[i]<>'4')
and (s[i]<>'5') and (s[i]<>'6') and (s[i]<>'7')
and (s[i]<>'8') and (s[i]<>'9') and (s[i]<>'-')
and (s[i]<>',')
then flag:=false;
if flag=false
then Label3.Caption:=' '
else
case k of
1. .2: begin
z:=x+y;
preobrl;
Label1.Caption:=' ?';
Label2.Caption:=a+'+'+b;
preobr2
end;
3..5: begin
if k=3 then z:=x+y
else z:=x-y;
preobrl;
Labell.Caption:='4eMy ?';
Label2.Caption:=a+'-'+b;
preobr2
end;
6..8: begin
if k=6 then z:=x-y
else z:=x*y;
preobrl;
Labell.Caption:=' ?';
Label2.Caption:=a+'*'+b;
preobr2
end;
9..11: begin
if k=9 then z:=x*y
else z:=(x+y)/2;
preobrl;
Labell.Caption:=' ?';
Label2.Caption:=a+' '+b;
preobr2;
end;
12:
begin
if c=z then t:=t+l;
Editl.Visible:=False;
16
Delphi
413
Labell.Caption:='';
Label2.Caption:='';
Label3.Caption: = " ;
Buttonl.Visible:=False;
Label4.Visible:=True;
case t of
0..7:
Label4.Caption:=' 2V
8,9:
Label4.Caption:=' 3',
Label4.Caption:='Bama 5',
end;
end;
end;
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close
end;
end.
1. f
?
7*6
:
'
.
.
'
'
. . . .
'..;:
Button2Click,
16
414
(Button2).
. . 16.7 , ,
. 16.8 , .
/
?
9*3
Delphi , ,
. 8.3. , 8.
.
( ), . :
,
, .
.
rabbit.wmf, Microsoft Office 97
Clipart\Popular.
1 7
Delphi
Delphi . . .
= , = -0,
-*0 ^
Ay =
f(xo+Ax)-f(xo).
: Ay/
. ,
8. .
Delphi,
" " = -*2 - 4-.
.
,
. .
.
416
17
, , . caption, . (cisiiver). ,
, .
, , :
3- 4- 2 .
Microsoft Word, Delphi, ,
. .
" y=3-jc2-4-x" MS Word. Word 2 ,
| . , , ,
2. |
. , Word, :
=3-2-4-
- , .
Word <Alt>+<PrintScrn>.
Paint,
Windows,
, . . . |
Paint . - () Paint ,
.
| . | Paint
| Paint
.
Paint |
funct . imagei.
Picture
funct, imagei.
, ,
.
Delphi
417
Editi ,
Edit2 Edit3 . , ,
. ,
Labell, Label2, Label3 Label4 ( Label2 Label3
Edit2). Edit2 Buttoni ().
.
. Button2 ()
, Button3 ()
,
.
, .
Paneii, imagei. , , StudyWorks.
, Clipart, Microsoft Office, . , "
" (. . 16.3). (. 17.1).
.
Buttoni. Buttoniciick.
, :
, ;
dx ;
dyi dy2 ;
;
ekon , .
, dy.
iks , diks
. 14 3. 1068
17
418
.
iks+diks iks. dy
:
function dy(iks,diks:real):real;
begin
dy:=((3*(iks+diks)*(iks+diks)-4*(iks+diks))-(3*iks*iks-4*iks))/diks
end;
I fc
=3-2-4-
ekon
,
Editl Edit2, . dx, 0,0001.
dy,
dyl, .
.
. 10.
dy dy2. dyl
Delphi
419
dy2. (
) .
, . dy2 .
Edit3. , ,
Floattostr. : . 34
. "" .
Object
Pascal.
, , .
, .
.
(Button3) (Button2). Button3Click , Button2ciick
, .
, . 17.1 .
| 17.1. " "
'|
.......;
...'.
;...
V...
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForml = class(TForm)
Imagel: TImage;
Label1: TLabel;
Editl: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
.......k.i
420
17
Buttonl: TButton;
Label4: TLabel;
Edit3: TEdit;
Button2: TButton;
Panel1: TPanel;
Image2: TImage;
Button3: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
( Private declarations }
public
{ Public declarations )
end;
var
Forral: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
const
k=10;
var
dx,dyl,dy2,e,ekon,x:real;
function dy(iks,diks:real):real;
begin
dy:=((3*(iks+diks)*(iks+diks)-4*(iks+diks))-(3*iks*iks-4*iks))/diks
end;
begin
x:=StrtoFloat(Edit1.Text);
ekon:=StrtoFloat(Edit2.Text);
dx:=0.0001;
dyl:=dy(x,dx);
repeat
dx:=dx/k;
dy2:=dy(x,dx);
e:=dy2-dyl;
dyl:=dy2
421
Delphi
until e<ekon;
Edit3.Text:=copy(FloattoStr(dy2) ,1, 6)
end;
procedure TForml.Button2Click(Sender: TObject);
begin
Editl.Text: = " ;
Edit2.Text:='' ;
Edit3.Text:=''
end;
procedure TForml.Button3Click(Sender: TObject);
begin
close
end;
end.
= 2 -4-
|o.ooi
iQEJoiOl
18.0000
17.2. ""
,
422
17
, ,
.
,
. ,
, . . .
,
.
J f(x)dx
a
:
. h = {b- a)ln. : XQ = a, X\=a + h, ...,
Xi = XQ + ih, ..., = b. J{x) ,
yt.
:
Delphi
423
var i,n:integer;
a,b,s,h,x,yp,yn,ykrreal;
Object Pascal
,
:
h:=(b-a)/n;
:=0;
:=;
for i : = l to n-1 do
begin
x:=x+h;
yp:=yp+sin(x)
end;
yn:=sin(a);
yk:=sin(b);
s:=((yk+yn)/2+yp)*h;
. :
, .
, .
;
,
, , ;
,
;
,
;
. ;
. , ;
;
, .
424
17
.
,
y=sin(x).
-.
, ( NI)
( N2).
( N3) ( N4). , .
. .
, . Editi 1, Edit2
2, Edit3 , ,
.
.
( Buttoni) ( Button2). sin(;c),
, . Edit4 Labeil.
. ( Paneil), ,
( imagel).
.
, , StudyWorks.
, , .
(. 17.3).
. , N3 N4,
. Buttoniciick, , , , ,
, ,
425
Delphi
. Button2ciick,
,
. 17.2 .
I If )>~sin(x)
jfr-
. 17.3. ""
! 17.2.
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls,Unit2;
type
TForml = class(TForm)
MainMenul: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
426
Memol: TMemo;
Editl: TEdit;
Memo2: TMemo;
Edit2: TEdit;
: TMemo;
Edit3: TEdit;
Buttonl: TButton;
Button2: TButton;
Label1: TLabel;
Edit4: TEdit;
Panel1: TPanel;
Image1: TImage;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.N3Click(Sender: TObject);
begin
close
end;
procedure TForml.N4Click(Sender: TObject);
begin
Form2.Show
end;
procedure TForml.ButtonlClick(Sender: TObject);
var a,b,s,h,x,yp,yn,yk:real; i,n:integer;
begin
a:=StrtoFloat(Editl.Text);
b:=StrtoFloat(Edit2.Text) ;
n:=StrtoInt(Edit3.Text);
h:=(b-a)/n;
17
Delphi
427
:=;
:=;
for i:=l to n-1 do
begin
x:=x+h;
yp:=yp+sin(x)
end;
yn:=sin(a);
yk:=sin(b);
s:=((yk+yn)/2+yp)*h;
Edit4.Text:=copy(FloattoStr(s) , 1, 6)
end;
procedure TForml.Button2Click(Sender: TObject);
begin
Editl.Text:- 1 ';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:=''
end;
end.
( )
v = A,)
**>
10000
{ !
1.9899
. 17.4. ""
428
17
, , . .
. 17.4. ,
( ) , .
1 8
Delphi
Delphi ,
, , , , ,
Delphi. ,
, , , . , Delphi. 2005
67 . ,
Delphi , (53 ),
Visual Basic (31 ) (. 18.1).
, .
, , Delphi,
.
, . ,
,
Delphi.
Borland
.
http://www.borland.com , (. 18.2).
.
430
18
-: > > - Microsoft Internet E
fivu.
';.;' .i
-. .
*.
" '
J"J ^ : **
npctyruiettifl1
!", * QfeiESd* ^!
:]
*"
| *~
-TQPAPfri:
-^0
I
< ?.|^
i ^
-'--
Mnwiw.Aitdi-cfub.ru
: :
SQkt)
Visual Basic (
1)
?| (28>
; ? (22)
? ^ " ? ^ f21)
Looad)
Pa&aJ(l8)
Bsd()
#f53)
: Delphi (67)
I Forth W
Fortran (
Prdoafl)
Python (1)
Slilkd)
0)
: ^, , ^^
(218)
23,27
**1
. 18.1. ,
1..,..-1-.,,.^1,.7.,-7..-.--^
) http://www.borland.com/
j"j
Borland'
^ |: :**
| Intttrillion JI Sit*
DELIVER
^ Purchase .
ft T1
(*)RrP!ll<tna
Menu 'eady tor use
. 18.2. Borland
Delphi
431
Downloads, Delphi.
, Delphi (. 18.3).
, .
^
."1
. . .
'
Borland
; Products i Downlead*
Service* I 5uaport
DelpN
^ ^
-DELPHI DOCUMENTATION
Additional Resources
v Partners
Commuriitv
Delphi S
ADO Express fProfessional upgraded
Professional edition
_
S] 1'
'
- : . - ..'.'.
zi
I " )
. 18.3. Borland,
Delphi
Borland .
.
http://www.borland.ru , Borland
(. 18.4).
"Development "
http://delphid.dax.ru. Delphi, Delphi,
(. 18.5).
Delphi (. 18.6).
Delphi, .
" Delphi " http://
www.delphi.dax.ru. Delphi, -
18
432
a lioil.mJ Rutsia
CSJBMC
.-..
; .
Borland
*\
UtpV/Ww. boiland.ru/
^ \'
| mitionjl Siti
TJ
, .
. 3 I \ * |
i 6*
DELIVER
quality software ON TIME
and ON BUDGET with
IT
Unenni
. 18.4. Borland
gna
> ,
Development
si
y-;;f- u
17 FTP
\ riS!
i ^ ;
| mySQL
'
. : 1 | |
_ Pascal
[ I [ ]
Subscribe.Ru
, . .. )
e^rnai!
j OK |
Development - Delphi
^ ,
Delphi Pascal.
.
, !
* :
?* ;
"*
^ ! (
). ( Flash HTML)
. !! 1--
^ e-mail "Dey.elppment
?? - !
.
1 000
"Development "
BJ - http://delphjd.daii.iu/
Delphi
433
Cjpeifc
EJ
. .
|:
Development
i*',',
.ru
20*
.cam...
.net , .10 i
. ; 5 | |
Paicai
:
[ ] [ ]
* Stibucriba.Ru
e-maii
[ JWj
Delphi
Delphi.
Delphi. , ,
(
).
.
, , !
, ,
^ ,
I n o r m
\ ^
Delphi -
FindFirst - 3000 "
1.
, FAQ ( )
(. 18.7).
,
Delphi, (. 18.8).
" Delphi "
http://www.delphikingdom.ru.
Delphi, ,
,
(. 18.9).
"Delphi - Delphi for Russian"
http://atrussk.ru/delphi. on-line ( )
Delphi (. 18.10).
" DELPHI" http://delphi.mastak.ru.
,
, ,
(. 18.11). .
15 3. 1068
18
434
' 3 Delphi I - Miciosoft Interne!
fina
' ' ';
;8ftS,'#fi*'\
- procedure
THyClass.ClliidisariEylti.'.lSui.
RText:
T S S k
30.06,03 [ 1'. ]
" Delphi (* ,
" I
r p ^ g f t f i
&1!
-
I
18.06.03 [ c$v& |
e-mail
.
'iW)iS,
15.07.03 1 fiHlhH )
:ftU
jrj
Kg. TKeytooardStttse;
-.*^
| ! ,
i Delphi , ,
, , .. -
, , !
| (, , Delphi, Pascal, .)
50 ,
iu
'
p r o c e d u r e THyClass1
!!!,
>
-
* *! 1 MI 1
. <$ "Delprti6 - " .
&9 Rpe&tta3tWSJitU dtlf> '?';.. '.,'? /'-'-
- [1 j np9ffodw9fn&& * &, .. *
> << j & 4$ 32-&* *&;
., f A Q
f O Q VVtfjdCTwo &/200 (s VHncfows 32J.
- **
: 2552
3307
^ Win32 API
i /
Wfokv
: 266
1028
0 }
Delphi
435
j j 1 I'll l i t I) I: T II I
j 5 '.
gt
: *
* | . ^ |i *
n^orpo
| | | <
BCQ
. 20 , :
^^ *
~*
'iii'
:..,,... . .
ylJ
.
.0<.
i-Jj. 1
.' ' " W '
i *
**'
-C_J
.'
'
> '. .
FAQ
WindowsAPI
DELPHI
Borland,
Delphi, .
Delphi
1- , -
,
.
, ,
Delphi.
,
-. help-,
?
. ,
[F1] ( - ).
Delphi
DO ( 25%
, ,
Delphi, " ".
! :)
...
On-line
WindowsAPI
DELPHI
ClipArt
ig) ..
436
18
| | | FAQ | | | VCL j | |
I I I I I Corba I DelphiGFX I KOL I
DELPHI
Windows.
, Delphi. ,
" Delphi",
, !
, ,
email
, ,
(, - ...
, , -, ),
Delphi .
.
, PBPrcviewDlalog u.4.30.00.00
- . (2)
BOpenPrftviewDiabQ
Delphi !
SSavePra'/iswDialog -
Open/Save
, * .
. - . ..'
internet,
CDelohi
:1
'
DelphiN http://delphinsworld.narod.ru.
, ,
Delphi, (. 18.12). ,
Delphi,
-.
"
Delphi-"
http://
www.delphiugolok.narod.ru.
Delphi (. 18.13).
, , : .
"Delphi32 " http://delphi32.narod.ru.
Delphi, (. 18.14).
Delphi.
"Borland X Portal" http://
borland.xportal.ru. -
Delphi
437
Qpawa
.-
.- -" v a
'.
id '.'a
www.DeIphiNsWorld.Narod.ru
| | | | FAQ | | | | |
| | | |
- Delphi, a
. !
, .
?!
, . ,
!
- ,
^] ..
" "
'
'. "-:'..
,;
> '
. 18.12. "DelphiN"
Delphi- - Mic
-"
CJPBMC
LJLJ
_JJ
/
irt
LJ
<5
'.,1*
Delphi-
,
Delphi
NISSAN ALMERA
Censer
788-58-58
; |
s I I I pAQN?! I FAQ 31
I !
| |
: ...( - !) - !
,,.
Dcwnloads
-! ,
. , .
, ,
Delphi.
.
Delphi-.
.
438
18
HEJOl
'
,:
'
;.
'
r _ ^ J .
_ j j
...
"
Delphi 32
'
] ];
belohiVOLFAQ
;RUS |j36,6 j
WIN API,
>
;ENG IjSOS ! !
1?_>1_ . ^ ,
I1
DirectDraw
| 1
Faq no (RTF)
***
RUS ;6,54 |
1|
jiRUS !49
15523
RUS ; 16,9 j
; 1
'
j RJS !7,40 !
|'
IjRus ;1,2!*
|!
ffliHasgnBirii
.;:;;, ; ; ; ; : : ; : ; , , : , ; , , . t;:,T^.'
|l}CicM<npeUiiVaFAa
: t f
I '
, '
20, 200
Borland X
Delphi
<?
: j
11
"
. '
I TBHY 1
i
"
. Delphi
. WindowSj DOS,
I
, ,
Delphi
439
1 9
, 3 10 13 16.
3
; 1
program z3_l;
Uses Crt;
begin
ClrScr;
Textcolor(Magenta);
TextBackground(LightGray);
writeln(' ');
writeln(' :');
writeln() ');
writeln('2) ');
writeln('3) ');
readln
end.
I 2
i...
program z3_2;
Uses Crt;
begin
ClrScr;
>
.;......
442
19
Textcolor(green);
writeln('
*');
writelnC
***');
writeln('
*****');
writeln ('
****,***!).
writelnC
*********<).
writelnC
***********.);
writelnC * * * * * * * * * * * * * ' ) ;
writeln(***************');
readln
end.
j 3
program z3_3;
Uses Crt;
var
cl,ml,c2,m2,c3,m3,r,tl,t2:integer;
begin
ClrScr;
writeln(' ');
writeln(' , Enter');
readln(cl);
writeln(' , Enter');
readln(ml);
writeln(' ');
writeln(' , Enter');
readln(c2);
writeln(' , Enter');
readln(m2);
tl:=cl*60+ml; t2:=c2*60+m2;
r:-t2-tl;
c3:=r div 60; m3:=r mod 60;
writeln(' ');
writeln(' ',,' ',,' ');
readln
end.
| 4
program z3_4;
Uses Crt;
const
p=3.1416;
var
r,l,s:real;
begin
ClrScr;
writeln(' ') ;
readln(r);
l:=2*p*r;
s:=p*r*r;
writeln(' ',1:7:2);
writeln(' ',s:7:2);
readln
end.
I 5
program z3_5;
Uses Crt;
var
kgl,kg2,kg3:integer;
rl, r2, r3, cl,c2,c3,stl,st2,st3,stoim:real;
begin
ClrScr;
writeln(' ( )');
readln(kgl);
writeln(' 1 ,');
writeln(' Enter,');
writeln(' Enter');
readln(rl); readln(cl);
writeln(' ( )');
readln(kg2);
1
writeln(' 1 , );
writeln(' Enter,');
writeln(' Enter');
readln(r2); readln(c2);
writeln(' ( )');
readln(kg3);
writeln(' 1 ,');
writeln(' Enter,');
writeln(' Enter');
readln(r3); readln(c3);
stl:=(rl+cl/100)*kgl;
st2:=(r2+c2/100)*kg2;
st3:=(r3+c3/100)*kg3;
stoim:=stl+st2+st3;
443
444
19
| 1
program z4_l;
Uses Crt;
var
n:integer;
begin
ClrScr;
writeln(' ');
readln(n);
if n mod 5 =0 then writeln(' 5')
else writeln(' 5');
readln
end.
2
program z4_2;
Uses Crt;
var
n:integer;
begin
ClrScr;
writeln(' ');
readln(n);
if (n>0) and (n mod 2 =0)
then writeln(' '
else writeln('
^ ');
readln
end.
| 3
program z4_3;
Uses Crt;
var
so,sk,n,:integer;
begin
ClrScr;
writeln(' ');
readln(so);
writeln(' ');
readln (sk);
if sk>so
then n:=sk-so
else n:=so-sk;
c:=n*3;
writeln(' ',,' ');
readln
end.
[ 4
program z4_4;
Uses Crt;
var
so, sk, n, c, k: integer;
begin
ClrScr;
writeln(' ');
writeln(' :');
writeln('l - ');
writeln('2 - ');
writeln('3 - ');
readln();
writeln(' ');
readln(so);
writeln(' ');
readln (sk);
if sk>so
then n:=sk-so
else n:=so-sk;
case k of
1: c:=n*3;
2: c:=(n*3)*2;
3: c:=(n*3)*15;
end;
writeln(' ',,' ');
readln
end.
445
446
19
5
"'"'"'"
',"
"""
'
'.
'
'
'
'.'"
::--"
'
'
| 1
program z5_l;
Uses Crt;
const
n=25;
var
i,k,r:integer;
begin
ClrScr;
k:=0; ( - ,
}
writeln('
> ') ;
for i:=l to n do
begin
writeln(' ',i,' ');
readln(r) ;
if r>=175 then k:=k+l
end;
writeln(' ');
writeln(' ',);
readln
end.
I 2
:.,
.,
,......
program z5_2;
Uses Crt;
const
n=5;
var
i:integer; d,s,p:real;
begin
ClrScr;
writeln(' ');
readln(s);
writeln(' ');
readln();
'
447
for
i:=l to n do
begin
d:=s*p/100;{ }
s:=s+d { }
end;
writeln(' ');
writeln(' ',8:8:2,' ');
readln
end.
m"""'",
"""
";
'
-:
>
...-".....:
I 3
program z5_3;
Uses Crt;
const
s=1000000;
var
i,k:longint;
begin
ClrScr;
i:=l; {i - }
k:=l; {k - }
repeat
k:=k*2;
i:=i+l
until k>s;
writeln(' ',i,' ');
writeln(' ');
readln
end.
I 4
program z5_4;
Uses Crt;
var
i,k,s:longint;
begin
ClrScr;
i:=1; {i - }
k:=l; {k - }
s:=l; { , i }
448
19
while s<=1000000000 do
begin
s:=s+k
end;
writeln(' , ');
writeln(' , ',i+l);
readln
end.
6
1
program z6_l;
Uses Crt;
var
i,l:integer; flag:boolean; c:char; s:string;
begin
ClrScr;
flag:=true;
writeln(' ');
readln(s);
l:=length(s);
for i:=l to 1 do
begin
c:=s[i] ;
1
if (co'O') and (co'l ) then flag:=false
end;
if flag=true
then writeln{' ')
else writeln(' '),
readln
end.
| 2
program z6_2;
Uses Crt;
var
i,k,ks,1:integer; :char; s:string;
449
begin
ClrScr;
writeln(' . Enter');
writeln;
readln(s) ;
l:=length(s);
k:=0;(k - }
for i:= 1 to 1 do
begin
c:=s[i];
if c=' ' then k:=k+l
end;
ks:=k+l;
writeln;
writeln(' ',ks);
readln
end.
| 3
program z6_3;
Uses Crt;
var
i,k,ks,l,n:integer; dl:real; :char; s:string;
begin
ClrScr;
writeln (' . Enter');
writeln;
readln(s);
1:-length(s)i
k:=0;(k - }
for i:= 1 to 1 do
begin
c:=s[i];
if c=' ' then k:=k+l
end;
ks:=k+l;
n:=l-k; {n - , }
dl:=n/ks;
writeln;
writeln(' ',dl:6:2, ' ');
readln
end.
450
f
19
'
-"-
...,,......,;
.........
,.,
,.,,..
| 4
program z6_4;
Uses Crt;
var
i,l,:integer; s:string; c,x:char;
begin
ClrScr;
writeln(' ');
readln(s);
l:=length(s);
writeln;
writeln(' :');
writeln;
for i:=l to 1 do
begin
c:=s[i];
o:=ord(c)-10;
x:=chr(o);
write(x)
end;
writeln;
readln
end.
7
| 1
program z7_l;
Uses Crt;
var
i,k,n:integer; m:array[1..20] of integer;
begin
ClrScr;
writeln(' ');
readln(n);
k:=0;
writeln;
for i:= 1 to n do
begin
writeln(' ',i,' ');
,........;
'".]
451
readln(m[i]);
if m[i]>0 then k:=k+l
end;
writeln;
writeln(' ',);
readln
end.
I 2
i.u:
:...:..;
:..
program z7_2;
Uses Crt;
var
a,b,i,k,n:integer; m:array[l..25] of integer;
begin
ClrScr;
Randomize;
k:=0;
writeln(' ');
readln(n);
writeln(' a');
readln(a);
writeln(' b ' ) ;
readln(b);
for i:=l to n do
begin
m[i]:=random(50)+l;
write(m[i],' ' ) ;
if (m[i]>=a) and (m[i]<=b) then k:=k+l
end;
writeln;
writeln(' , ');
writeln(' ',,' ',,' ',);
readln
end.
| 3
program z7_3;
Uses Crt;
var
i,k,n:integer; a:array[1..20] of integer;
452
begin
ClrScr;
k:=0;
writeln(' ');
readln(n);
writeln;
for i:=1 to n do
begin
writeln(' ',i,' ');
readln(a[i]);
if a[i]<0 then k:=i
end;
for i:=l to n do
write(a[i],' ' ) ;
writeln;
writeln(' ');
writeln(' ',);
readln
end.
j 4
program z7_4;
Uses Crt;
var
a,k:char; i,g:integer; mas:array[0..255] of integer;
begin
ClrScr;
writeln(' ');
writeln(' "0"');
writeln;
repeat
read(a);
i:=ord(a);
mas[i]:=mas[i]+1;
until a='0'; { }
readln;
g:=0;
writeln;
writeln(' ' ) ;
writeln(' :');
for i:=0 to 255 do
begin
19
if (mas[i]<>0) and (i<>48) then
{48 - ASCII}
begin
g:=g+l;
k:=chr(i);
if i<>32 (32 - ASCII}
then write <"",k,'" - \mas[i],' I ')
else write('"" - ',mas[i],' | ')
end;
if g mod 5 = 0 then
begin
g:=l;
writeln
end;
end;
readln
end.
1
program z8_l;
Uses Crt;
var
a,b,:integer; s,p:real;
begin
ClrScr;
writeln(' ');
readln();
writeln;
writeln(' ');
readln(b);
writeln;
writeln(' ');
readln();
writeln;
p:=(a+b+c)/2;
s:=sqrt (p*(p-a) *(p-b)*(p-c)) ;
writeln(' ',s:8:2);
readln
end.
453
454
19
! 2
/',;;
,..,:,........,...... .,...;.......
,.,......,,,.,...,,,,........
.',..
'
;.
program z8_2;
Uses Crt;
var
n,x,rl,r2:integer; r3:real;
begin
ClrScr;
writeln(' ');
readln(n);
writeln;
writeln(' , ');
writeln(' ');
writeln;
writeln (' :');
writeln;
writeln('1 - ');
writeln('2 - ');
writeln('3 - ');
readln(x);
writeln;
case x of
1: begin
rl:=abs(n);
writeln(' ',rl)
end;
2: begin
r2:=sqr(n);
writeln(' ',2)
end;
3: begin
if n>=0 then
begin
r3:=sqrt(n);
writeln(' ',:8:3)
end
else
begin
writeln(' ');
writeln(' ');
end;
end;
end;
'.
455
readln
end.
I 3
program z8_3;
Uses Crt;
label 10;
var
flag,n,x,rl,r2:integer; r3:real; t:string;
function (s:string):boolean;
{ ,
.
,
, ,
0 9}
var
i,k:integer;
begin
c:=true;
k:=length(s);
for i:=l to k do
if (s[i]<>'0') and (s[i]o'l') and (s[i]<>'2') and (s[i]<>'3')
and (s[i]<>'4') and (s[i]<>'5'] and (s[i]<>'6') and (s[i]<>'7')
and (s[i]<>'8') and (s[i]<>'9')
then c:=false
end;
begin
ClrScr;
10: writeln(' ');
readln(t); { }
writeln;
if c(t)=true then val(t,n,flag)
{ ,
,
}
else
begin
writeln(' ');
goto 10
end;
writeln(' , ');
writeln(' ');
writeln;
456
19
writeln(' :');
writeln;
writeln(' 1 - ');
writeln(' 2 - ');
writeln('3 - ');
readln(x) ;
writeln;
case x of
1: begin
rl:=abs(n);
writeln(' ',rl)
end;
2: begin
r2:=sqr(n);
writeln(' ',r2)
end;
3: begin
if n>=0 then
begin
r3:=sqrt(n);
writeln(' ',:8:3)
end
else
begin
writeln(' ');
writeln(' ');
end;
end;
end;
readln
end.
( 4
program z8_4;
Uses Crt;
var
i,k,x:integer; mas:array[1..20] of integer; flag:boolean;
procedure prost(x:integer; var f:boolean);
var
j:integer;
begin
f:=true;
if
(x=l)
or
(x=2)
then exit;
{ 1 2 }
for j:=2 to x-1 do
{ }
if rood j =0 then
{ }
begin f:=false; exit end { }
end;
begin
ClrScr;
Randomize;
k:=0; {k - }
writeln(' :');
for i:=l to 20 do
begin
masfi]:=random(99)+l;
write(mas[i],' ' ) ;
x:=mas[i];
prost(x,flag); { ,}
{ }
if flag=true then k:=k+l
end;
writeln;
writeln;
writeln(' , ');
writeln(' ',);
readln
end.
i 5
program z8_5;
Uses Crt;
var
i:integer; flag:boolean;
procedure sov(k:integer; var f:boolean);
var
s, j .-integer;
begin
f:=false;
s:=0;{s - }
for j:=l to k-1 do
if mod j =0 then s:=s+j;
{
}
457
455
19
9
;
"
v-r---;
1
program z9_l;
Uses Crt;
var
k,l:integer; t:text; ln:string[80];
begin
Clrscr;
k:=0;
assign(t,'A:\tekst.txt');
rewrite(t);
writeln(' .
Enter');
writeln;
writeln(' ');
writeln(' * ' ) ;
writeln;
repeat
readln(In);
writeln (t, In) ;
k:=k+l;
l:=length(ln)
until ln[l]='*';
writeln;
writeln(' ');
writeln(' ',);
459
close(t);
readln
end.
p.,,,........,..,.....
,..
.;
| 2
program z9_2;
Uses Crt;
var
k,l:integer; t:text; In,kol:string[80];
begin
Clrscr;
k:=0;
assign(t,'A:\tekst.txt');
rewrite(t) ;
writeln(' .
Enter')i
writeln;
writeln(' ');
writeln(' * ' ) ;
writeln;
repeat
readln(In);
writeln(t,In);
k:=k+l;
l:=length(ln)
until ln[l]='*';
str(k+l,kol);
kol:=' '+kol;
writeln(t,kol);
writeln;
writeln(' ');
writeln(' ',+1);
close(t);
readln
end.
..(iii
.I,,,,...............,,...
1.,.,.....>.....
..,,....,...,
,.,,.
j 3
program z9_3;
Uses Crt;
var
i,n,s,x:integer; f:file of integer;
460
begin
ClrScr;
assign(f,'A:\number');
rewrite(f);
s:=0;
writeln(' , ');
readln(n);
writeln;
for i:=l to n do
begin
writeln(' ',i/' ');
readln(x);
s:=s+x;
write(f,x)
end;
write (f,s) ;
writeln;
writeln(' ');
writeln;
writeln(' ');
reset(f);
for i:=0 to n do
begin
read(f,x) ;
write(x,' ')
end;
close(f);
readln
end.
4
program z9_4;
Uses Crt;
var
i,n,x:integer; g:string; u:file;
begin
ClrScr;
assign(u,'A:\contents') ;
rewrite(u);
writeln(' ');
readln(n);
writeln;
19
for
461
i:=l to n do
begin
writeln(' ');
readln(x);
blockwrite(u,x,1);
writeln(' ');
readln(g);
blockwrite(u,g,1);
end;
close(u);
writeln(' ');
writeln;
reset(u);
writeln(' "contents" ');
for i:=l to n do
begin
blockread(u,x,1);
write (' ',, ' ' ) ;
blockread(u,g,1);
write(g);
writeln
end;
close(u);
readln
end.
10
i !
"
program zlO_l;
Uses Crt;
type month=(error,jan,feb,mar,apr,may,jun,jul,aug, sep, oct,nov, dec);
var i:integer; name:string; mes:month;
begin
ClrScr;
writeln(' ');
readln(name);
if name='' then mes:=jan;
if name='' then mes:=feb;
if ='' then mes:=mar;
if name='' then mes:=apr;
462
if ='' then mes:=may;
i f name='' then mes:=j un;
if name='' then mes:=jul;
if name='' then mes:=aug;
if name='' then mes:=sep;
if name='' then mes:=oct;
if name=' ' then mes:=nov;
if name='' then mes:=dec;
case mes of
jan,feb,dec: writeln('Ha ');
mar,apr,may: writeln(' ');
jun,jul,aug: writeln(' ');
sep,oct,nov: writeln('3a ');
else writeln(' ');
end;
readln
end.
program zlO_2;
Uses Crt;
label 10;
type
god=1600..2100;
var
n:god;
begin
ClrScr;
writeln;
10: writeln(' ( 1600 2100)');
readln(n);
if (n<1600) or (n>2100) then goto 10;
writeln;
if n mod 100=0
then
if n mod 400=0 then writeln(' ')
else writeln(' 1;
else
if n mod 4 =0 then writeln(' ')
else writeln(' '),
readln
end.
19
463
i
program zlO_3;
Uses Crt;
label 10;
type uchenik=record
fam, name:string;
mat,f iz,lit,ist,inos:integer
end;
var
i,k:integer; s,otvet:string;
zap:uchenik; ved:file of uchenik;
begin
ClrScr;
assign(ved,'A:\vedomost');
rewrite(ved);
k:=0;
repeat
writeln(' ');
readln(zap.fam);
writeln(' ');
readln(zap.name);
writeln(' ');
readln(zap.mat);
writeln(' ');
readln(zap.fiz);
writeln(' ');
readln(zap.lit);
writeln(' ');
readln(zap.ist);
write(ved,zap);
k:=k+l;
ClrScr;
writeln(' ');
10: writeln(' "" ""');
readln(otvet);
if (otveto'fla1) and (otveto'HeT') then goto 10
until otvet='';
ClrScr;
writeln(' ',k);
writeln;
writeln(' ');
writeln;
464
19
write('
|
| |
|
I');
writeln(' I ') ;
write('
|
I
|
I
);
writeln('
I');
reset(ved);
for i:=0 to k-1 do
begin
read(ved,zap);
write(zap.fam:11,'|',zap.name:11,'I',zap.mat:11,'|',zap.fiz:11,'I');
writeln(zap.lit:11,'|',zap.ist:11,'I');
end;
close(ved);
readln
end.
| 4
program zlO_4;
Uses Crt;
var
k:integer; c:char;
eng: set of 'A'..'Z'; rus: set of ''..''; cifra: set of '0'..'9';
leng: set of 'a'..'z';
lrusl: set of 'a'.-'n'; Irus2: set of ''.-'';
{
, . . ASCII
, , ,
}
begin
ClrScr;
cifra: = ['0\. 9' ] ;
rus:=['A'..''];
leng:=['a'..'z'];
lrusl:=['a'..'n'];
Irus2:=['p'..''];
writeln(' ');
readln();
writeln;
if in cifra then k:=l;
if in eng then k:=2;
if in rus then k:=3;
465
if in leng then : =4;
if
( in lrusl)
case of
1: writeln(' ');
2: writeln(' -
> ') ;
3: writeln('
^ ') ;
4: writeln('
> ') ;
5: writeln('
> ') ;
else writeln(' ,
> ')
end;
readln
end.
13
. 19.1 "".
;
<
. 19.1. ""
16 3. 1068
466
19
\ ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, ExtCtrls, StdCtrls;
type
TForml = class(TForm)
RadioGroupl: TRadioGroup;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
RadioButtonl: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Buttonl: TButton;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
procedure RadioButtonlClick(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.RadioButtonlClick(Sender: TObject);
begin
Shapel.Brush.Color:=clRed;
Shape2.Brush.Color:=clSilver;
Shape3.Brush.Color:=clSilver;
end;
467
14
. 19.2 "".
I
, 5 0 .
:::::::
""::::::::;:;:
- ;
1000 ;.; I
5 0 0 ; ''{
100 ; ; I
50
. 19.2. ""
468
19
""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForml = class(TForm)
Labell: TLabel;
Editl: TEdit;
Label2: TLabel;
Label3: TLabel;
Panel1: TPanel;
Image1: TImage;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Buttonl: TButton;
Button2: TButton;
Label8: TLabel;
Label9: TLabel;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
469
end;
procedure TForml.Button2Click(Sender: TObject);
var sum, klOOO, k500, , k50,
ostlOOO,ost500,ostlOO:integer;
begin
sum:=StrtoInt(Editl.Text);
kl000:=sum div 1000;
ostl000:=sum mod 1000;
k500:=ostl000 div 500;
ost500:=ostl000 mod 500;
kl00:=ost500 div 100;
ostl00:=ost500 mod 100;
k50:=ostl00 div 50;
Edit2.Text:=InttoStr(kl000);
Edit3.Text:=InttoStr(k500);
Edit4.Text:=InttoStr(klOO);
Edit5.Text:=InttoStr(k50)
end;
end.
15
. 19.3
"".
! ""
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, ExtCtrls, StdCtrls;
type
TForml = class(TForm)
Label1: TLabel;
Editl: TEdit;
470
19
Buttonl: TButton;
Label2: TLabel;
Label3: TLabel;
Panel1: TPanel;
Image1: TImage;
Button2: TButton;
Button3: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var :integer;
begin
Label2.Visible:=True;
Label2.Caption: = 'flaHHbiii ';
Label3.Vis ible:=True;
k:=StrtoInt(Editl.Text);
if mod 100 <>0
then
if mod 4 =0
then Label3.Caption:=' '
else Label3.Caption:='He '
else
if k mod 400 =0
then Label3.Caption:=' '
else Label3.Caption:=' '
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close
end;
471
: : : : : : : , : :;::
.;
i
id
2004
ZJ
:. .
5 e 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24. 25 2E 27 28
2 3 4
I
:
1:
. 19.3. ""
16
. 19.4
" ".
! " "
<
...ill. ,,,>..>.>....
,...>...
...........i
unit Unitl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls;
472
. 19
type
TForml = class(TForm)
Label1: TLabel;
Editl: TEdit;
Label2: TLabel;
Label3: TLabel;
Panel1: TPanel;
Image1: TImage;
Buttonl: TButton;
Button2: TButton;
Button3: TButton;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
( Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R
procedure TForml.ButtonlClick(Sender: TObject)
var k,n:integer;
function rab(m:integer):integer;
begin
if m=0
then rab:=l
else
if m=l
then rab:=2
else rab:=rab(m-2)+rab(m-1)
end;
begin
n:=StrtoInt(Editl.Text) ;
k:=rab(n)*2;
Label2.Visible:=True;
Label2.Width:=200;
Label2.Caption:='no
> ' + I n t t o S t r ( ) ;
end;
procedure TForml.Button2Click(Sender: TObject);
begin
close
end;
procedure TForml.Button3Click(Sender: TObject);
begin
Editl.Text:-1';
Label2.Visible:=False;
Label2.Caption:='';
end.
473
Turbo Pascal
Turbo Pascal , , .
, ,
, , , ^ .
1.1.
,
Turbo Pascal.
(, Norton Commander) ,
, , .
Norton Commander, : pas <Enter> Turbo Pascal.
Norton Commander (
), <F9>.
<Enter>. , <Enter>.
476
<Enter> ,
(. 1.1). , ( , , ).
<F6>.
, .
:1
4372ansi
8502ansi
8632ansi
8652ansi
8662ansi
ansi2437
ansi2850
ansi2863i (
ansi2865i (
ansi2866 i
arcoiew
(
bitnap
bug
bungee I
clp2dib j
dbvieu
mm
:-.
.exit doc
clean exe
clean ini
exe
nsg
edit
exe
edit
nsg
ff
hip
ff
nsg
label exe
in
exe
net
exe
net
nsg
pscrip hdr
sf
exe
sf
nsg
) :
.1,|;|)1> !.! ]
) (!)
)
(!:)
)
CSV)
)
exit
exe
nc exit
51
conlncsi
. 1.1.
()
pas ( ).
, .
, , , (), , .
"\" (backslash ).
, D:
7, : d: \TP7\turbo.
.
<Esc>.
, ,
. -
Turbo Pascal
477
1.2.
. Edit.
,
, .
. 1.2.
, .
, .
, ,
<1>+< >, <1>+< >. , <>,
<End>.
<Page Up> ,
<Page Down> . . , ,
<Ctrl>+<Page Up>, , , <Ctrl>+<Page Down>.
.
, ,
. ,
. (
Turbo Pascal ),
.
, .
,
,
.
478
IHTuibo Pascal
earch
Hun
Compile
Debug
foolsUptions
Window
n2:=o
n3:=ost nil (I ii),
sun:=n1+n2+n3;
. !
, , . .
, . , , .
.
- , , <Shift>
< > < >. . , .
, , < >
< >,
. .
""
, , ,
.
, ,
Edit Clear ()
<Ctrl>-KDel>.
Turbo Pascal
479
,
<Ctrl>-KY>.
<Ctrl>+<N>.
, . , . : - ,
( ).
, , .
Cut, Edit ( ,
<Shift>-KDel>).
, .
( <Ctrl>+<Ins>). , , ,
,
, ,
. Paste (
<Shift>+<Ins>) ,
.
Turbo Pascal ,
- ,
, ,
. , , , - , Show
clipboard ( ).
.
Clear.
"", 3. ,
"" , writeln, , .
, , .
. , . , Edit. ,
.
<Enter> . -
480
Edit Paste, , .
Paste. , ,
.
, Undo.
, Redo.
, .
: . , - , , ,
.
<Ins>, , . , , .
, . , . .
. , <Ins>.
1.3.
, , ,
, , ,
.
, , , , .
, (
). , , - : .
Turbo Pascal
481
, ,
. -,
, Help.
, Contents Index. Contents
, ,
How to Use Help ( ), Menus and Hot Keys (
), Editor Commands ( ), Functions and Procedures ( ), Error messages ( ), Reserved
Words ( ) . .
. 1.3.
Turbo Pascal
Search
Hun Compile
DebugToolsOptions
WindowHelp
(program peruprog;
begin
How to Use Hel
Menus and Hot leys
Editor Comnands
functions and Procedures
Built-in ftssembler
Cowiand 1 ine
"bugging
ii*eeti<es
Lfror Messages
ObjectBrewser
Beserwed Words
Sample Programs
Start-Up Options
Turbo Vision
Units
Glossary
Windows DPI
. 1.3.
Index , .
, ,
. -,
, ,
. -, . , . , -
482
<Enter>,
Help . , , , , .
, read,
Help Index,
re,
Read <Enter>. ,
read ( ,
, r e a d ,
; , , 8 ), ""
(ReadKey, Readln, Write, Writeln) ,
(- Sample
code), read. read Eof.pas. , .
(
) . "" " , ".
|r
Tuibo Pascal
elp on help
. 1.4.
Turbo Pascal
483
<F1>,
( , , ),
. , , ,
, <F1>,
(. 1.4).
1.4.
, , . ,
.
, , , , .
. (
, ).
Turbo Pascal
.
, .
. , (
), (
). , ,
. , .
. , ,
.
, , Window.
:
( Cascade) ( Tile) (. 1.5). () , . . ,
,
484
, ,
.
Turbo Pascal
i l e Edit Search Run Compile Debug Tools Options Window Help
WJlill " * M J - H *~7\
anilitil IKE
program denocolor;
rogran bankomat;
Uses Crt;
war sun,k100,kSD,k10,vspon:integer;
begin
begin
ClrScr;
ritelnC' cyrny, 10');
TextBackground(LightGray);
readln(sun);
TextColor(Red);
1U0:=sum diu 100;
uriteln('3Ta nporparna
spon:=sun nod 100;
&0:=Mspon div 50;
TextColor(Green);
iwriteln(' vspon:=vspom nod 50;
\...\PR0G1.PHS
program surma;
Uses Crt;
,,:integer;
begin
ClrScr;
writeln (' 2 ');
uriteln ('
readln(a);
readln(b);
c:=a+b;
;rogran flight;
nses Crt;
ar i:integer;
* eg in
i.lrscr;
uriteln ('
writeln (' "Ent
ceadln(i);
f i=1961
then uriteln ('
Bun Compile
Debug
program denocolor;
Uses Crt;
begin
ClrScr;
TextBackground(LightGray);
TextColor(Red);
writeln(' nporpama
TextColor(Green);
writeln('
lools
Options
Window
Help
rogran bankonat;
ar sun,k100,k5D,k10,vspon:integer;
egin
ritelnC' cymy, 1 0 ' ) ;
eadln(sun);
I100:-sun div 100;
spon:=sun nod 100;
50:=vspon div 50;
spom:=vspon nod 5 0 ;
readln(a);
readln(b);
c:=a+b;
1:15
L
pile
eadln(i);
f i=1961
hen writeln ('
1) Make
A l t + Local menu
. 1.5. [) ()
,
Previous,
, Next (
Turbo Pascal
485
).
, Close. , List
(. 1.6). ,
, ,
. - ,
Delete,
.
Pascal
Hie
tdit Search
NONfiMfDI.PAS
\TP7\PR0G\MATH
\TP7\PR0C\C0UHT.PftS
TP7\PB06\MeTHEM.P(lS:?
,
, . ,
. , ,
.
,
, Tile (-.5, ). , . .
.
486
( ),
.
,
Zoom. , , Size/Move.
( ).
< >, < >, < >,
< >. ,
<8>+< >,
<8>+< >, <8>+< >, <8>+< >.
<Enter>. <Esc>.
,
Close all.
Delphi
Delphi .
File
New . ( : Application
, Form , Unit .).
Open project .
Open , (
).
Save ,
.
.
Save as .
.
Save Project as .
Save All , .
Exit .
Edit
Undo .
Redo .
Cut .
488
Copy .
Paste , .
Delete .
Select all (
).
Search
Find .
Replace
.
View
Forms , .
Units , .
Toolbars .
Run
Run .
Program Reset .
Delphi
Undeclared identifier .
,
.
, .
.
Not enough actual parameters .
- . .
Too many actual parameters . .
.
Unterminated string .
.
.
Unexpected end of file .
.
.
Incompatible types .
(, ).
, .
490
1. Borland Delphi 6 for Windows. Developers Guide. Borland Software Corporation. Scotts Valley, CA, 2001.
2. Borland Delphi 6 for Windows. Object Pascal Language Guide. Borland Software Corporation. Scotts Valley, CA, 2001.
3. Borland Delphi 6 for Windows. Quick Start. Borland Software Corporation.
Scotts Valley, A, 2001.
4. Kent Reisdorph. Teach Yourself Borland Delphi 4 in 21 Days. Macmillan Publishing, Indianapolis, IN, 1999.
5. . ., . ., . . . : , 1988.
6. . ., . ., . ., . . Turbo Pascal. : , 1998.
7. . . .: , 1988.
8. . ., . . .
. .: . ., 1991.
9. . . . : "", 1997.
10. . . .: , 1987.
11. . . . .: , 1997.
12. . ., . . Turbo
Pascal 7.0. : -, 1995.
13. . Delphi. .: , 2000.
14. . . Turbo Pascal . .: , 2000.
492
D
Delphi:
0 276
0 279
0 487
0 259
0 258
0 257
0 281
0 276
0 489
11
0 13
0 13
14
36
479
67, 335
166, 223, 389
0 261
0 258, 282
Turbo Pascal:
0 475
0 30
0 33, 483
0 481
0 24
0 2
117
3
, 228
18
ASCII 128
37, 65
494
18, 47, 186
37
129
227
150
0 145
0 145
0 145
0 154
101
233
0 235
0 234
50, 340
0 184
0 186
0 340
0 183
0 185
0 186
0 183
258
0 , MainMenu 355, 361
0 , RadioGroup
303
289
0 288
0 295
0 290
0 , Button 291
0 339, 381
0 , Memo 346
0 , Label 288
0 259
0 , Panel 305
0 , ,
RadioButton 304
0 288
0 , Image 306
0 258, 283, 290, 294
259, 283, 293
0 355
0 , Timer] 379
0 , , Edit 299
0 404
0 , Shape 379
, Checkbox 367, 369
, Form 258, 282, 298, 339, 402
36
0 101
94, 376
0 56, 295, 315
0 84, 351
0 76, 345
0 , 84
0 , 80
:
0 59, 327
0 89
235
0 60, 90, 237
37, 54
0 172, 316, 382
0 37, 315
0 87
0 172, 316
0 227
0 233
0 222
0 218
130
0 138
0 37
227
0 , 210
0 , 196
0 , 203
:
0 168, 170
161
16
0 43, 287, 293, 477
0 75, 345
0 38
0 47, 287, 294,
297
224
0 57, 315, 345
0 71
0 48
52
408
0 38
0 286
0 41
0 19
0 44, 285
16
0 259
0 21
0 - 258
0 - 259
0 19
0 16
281
0 339
0 340
0 286
0 285
:
0 170
0 171
0 170
0 168
495
221
217
217
0 222
316, 336
70
130
0 138
18
95
21, 23
:
0 154
0 154
0 156
44
:
0
206
0 198, 204
0 200, 204, 210
0 196
196
210
196
0 198, 204, 210
0 229
0 195
197, 203,
210
0 196
203, 227
198, 204, 211
:
0 165
164, 165
163
0 163
Object Pascal 316,
336, 337, 369, 396, 397, 403, 409, 419
0 161
0 164
91
37
0 67, 335, 336
0 226
0 , 87
50
108, 389
0 114
0 123
0 109
178
-
'
190005, -, ., 29
.
10.00 20.00
-
.: (812)251-41-10, e-mail: trade@techkniga.com