Франка П. c++
DESCRIPTION
lissen coursTRANSCRIPT
-
>
-
Paulo Franca
No experience required
SYBEX
-
-
--
-
2003
-
.
C++: .
.
.
.
.
.
.
32.973.2-018.1 681.3.04 .
83 C++: . .: , 2003. 521 .: .ISBN 5-314-00136-5 C++ ,
. C++: , C++. ,
, , -
, . ,
26- , . .
, C++.
Sybex, 1997 , , 2003 , , , 2003
Published by arrangement with the original publisher, Sybex Inc., U.S.A. Sybex Inc., .
ISBN 5-314-00136-5ISBN 0252-112111- (.)
.
, , , .
, ,
, '
. 196105, -, . , . 67. 05784 07.09.01.
04.04.03. 70'/ |6. . . . 42,9. . 4500 . 2728. - 005-93, 2; 953005 - .
. . .
, .
197110, -, ., 15.
-
0. 22 0. 23
I. 82 1. 83 2. 94 3. 107
II. 117 4. 118 5. 136 6. iso
III. 170 7. 171 8. 195 9. 212
IV. 221 10. 222 11. 248 12. 258
-
V. 266 13. 267 14. 281 15.
VI. 328 16. 329 17. 350 18. 366
VII. 381 19. 382 20. 407 21. 424
VIII. 436 22. franca.h 437 23. 458 24. 484
IX. 491 25. -
492 26. 509
516
-
0. 22 0. 23
C++ 25 25 ? 25
C++? 26Turbo C++ Visual C++ 26Windows 3.1 Windows 95? 27 -? 27 ? 27 ? 27
28 28
33 34 34
35 36
37Borland Turbo C++ 4.5 37Borland C++ 4 44Borland C++ 5 50Microsoft Visual C++ 1,5 56Microsoft Visual C++ 4 64Microsoft Visual C++5 73
80 ? 81
-
8
I. 82 1. 83
84 86
87 athlete 89
89
C++ 90 91 92 92
93 ? 93
2. 94 Clock 95
Clock 95 Clock 96 ? 97 ,....98
Box 99 100
Robot 100 101 102 103 103 104 104
? 106 3. 107
108 108 109 109
.... ..
-
9
111 111 112 112 112 113 113
, 114 114 114 114 115 115 116
? 116
II. 117 4. 118
119 121
123 124 127 129
130 131
131 132
134 ? 135
5. 136
137-
139 141
142
143 143
-
10
144 ask{) 145 On 145
146 Cout 146
? 149 6. 150
152 153 157
157 159
162 165 166 167
168 ? 169
III. 170 7. 171
173 while 173
177 do...while 177 for 178
181 181 182 yesnof) 184
186 Tracer 188
189 193 ? 194
-
1_1
8. 195 196
197 199 200
201 201
201 203
206 206 206 207 207
210 ? 211
9. 212 213
214 217
219 219 220
220 ? 220
IV. 221 10. 222
if 223 226
227 228
if..else 229 230
230
-
12 _
231 231 233
234 234 235 235 236
238 break 239 continue 240
242 243
245 ? 247
11. 248 249
250 253
255 ? 257
12. 258 259
259 260 262
263 264 ? 265
V. 266 13. 267
268 268 274 278 mafh.h 279
? 280
-
j_3
14. 281 282
282 283
290 290
, 293 293
293 294 294
296 296
297 297
? 299 15.
301 302 305
306 307
307 312 313
314 315
318
318 319 Stage 321
322 323 325
327 ? 327
-
14
VI. 328 16. 329
331 332 335, 338 339 340
341 342 Stage 343
345 346 348 - 348
348 ? 349
17. 350 351
352 353 355 356 358 361
364 ? 365
18. 366 367
367 368 369 372
374 satellite 375 377 378
? 380
-
^ _ jj
VII. 381 19. 382
383 385 390
392 392 395
396 397
398 401
403 404 405
? 406 20. 407
C++ 408 char 408
410 410 413 , 416
417 418
419 421 423 ? 423
21. 424 425
425 431
431 433 ? 435
-
.16
VIII. 436 22. franca.h 437
C++ 439 440
/ C++ 440 iostream.h 441 442 443/ 444
445 446 446 / 447 451 454 askfl, askwordsf) yesnof) 454
457 ? 457
23. 458 459
460 468
471 textfile 471
473- 473- 473 474 475
476 476 477
479 479
479 480 payfile , 481
-
]_7
483 ? 483
24. 484 485
485 489
? 490
IX. 491 25. -
492- 493
493.
496 496- 498
? 508 26. 509
C++ 510 510 511 511 512 513 514 514 , 514
514 515
? 515 516
-
? , ! .
-
.
! , 80 . - (Ramamoorthy-Ram) . (Daniel Lewis) . , -
, .
-
(Brazilian Research Council, CNPq) -- (Federal University of Rio de Janeiro, UFRJ). , (NCE-UFRJ) .
(Adriano Cruz), . - ,
.
, Sybex, (Kristine Plachy) : (Peter Kuhns), (Ronn Jost), (Kim Wimpsett) (Dale Wright), : (Amy Eoff), (Robin Kibby) - (Andrew Benzie). (Andrea Franca) (Frederico Arentz). , , ,
.
(Eunhee Kim) . - , .
,
. ,
.
(Santa Clara) , .
, , -
(Coffee Society in Cupertino), . -
, .
.
, 24 1997 .
-
- ...
, C++ - (Object Oriented Programming, OOP) . -
C++ , .
- ,
, -
, ,
OOP. , , - C++ C++ .
, , -
.
C++ - ?
, ,
. , -
, .
, .
. /- , , . -
,
.
Windows , . , , , -
, . . ,
,
. , -
, , -
. -
,
.
-
20
, ,
, . ,
. -
IBM- , - ( -), Microsoft Windows, -, PC.
, . -
Borland Turbo C++, - Borland C++ Microsoft Visual C++.
-
, . -
Windows. , Windows!
, , , .
.
?
. 10 , 0 IX. - 0? , C++ - . , 0 - . - -
, , (Turbo C++, Borland C++,Visual C++) .
, ,
0.
IIII , . -
.
.
,
.
. , -
, ,
-
_ ._ _ ._ ._ _ __ ._,..- , -- '
. -
.
,
. -
III. ( ) ,
, ,
. .
IV . - , .
V. , ,
- . V . , ,
, .
. -
VI.
VII . - ( , . .) .
, , / . -
(), , . / Windows -, /, , - VIII.
IX - .
, .
,
. -
,
.
.
,
Web- Sybex http://www.sybex.com.- (Paulo Bianchi Franca, Ph.D.),
: http://www.franca.com.
-
0
0 C++ . -
, C++ , , -
C++. , -
. -
.
Web-, , .
-
, .
, C++, , .
-
Q Q
-
,
, -
. , -
, , -
. , , ,
. , , .
. ,
, ! .
.
, , -
, , , . ., ,
, - !
! ! ( ) - , -
, .
: ! - , , -
. , , -
! , - , , .
. , -
!
0 , , . . , -
.
, -
. , , -
, , -
-
, , -
.
, -
, .
1/ , , .
-
__++ 25
C++ . -
, .
, ! ,
, .
, , -
! . , ,
,
.
, ,
( ) - . , -
, .
:
1. , C++.
2. ( - .OB J).
3. . 2.
4. , .
( .). - .
5. . - - . -
, 1-5,
? , , -
. , -
-
26 (X ^
, ,
. , -
.
, , -
. ,
, , -
.
C++? . ( -) , . C++ - ,
.
C++ ! -, , .
, C++ (- ), ( ). - , C++! - , -
, 1.
Turbo C++ Visual C++Turbo C++ , BorlandInternational, C++. Borland - Borland C++, ( -) .Visual C++ , - Microsoft2.
C++.
--_ ^^ ^^ ^^ ^^ ^ ^1^ ^.^) C++ .
.
1 C++, . -
-*+: ( ). .
2 Visual C++ . Visual C++ 6:
( ).
-
C++? _ 27
__ ___ ___
Web- . , - .
-
:
Turbo C++ Windows 4,5 (Borland). Borland C++ 4 5 Windows.
Microsoft Visual C++ 1.56, 4 5 Windows.
Windows 3.1 Windows 95? .
Windows 3.1, Windows 95.
, ,
, .
, .
-? ! -. .
- .
, -
-.
? , ? , . ,
. -
.
? -
. ,
. -
-
.
-
28 0.
. . -
, -
.
.
, , , -
( ), . . , ,
C++, ..
,
. ,
, . ,
, -
.
,
,
,
.
, ,
. ,
.
. , ,
.
, -
, ! ,
.
, ,
- .
. -
.
-
29
, FRANCA( ). :
, -
: C:\FRANCA,
) -. ,
C:\FRANCA.
-
(*) . - . -
-. , *. -
., *.* .
, -
MYDIR, . , -, , .
, -
, . -
, MYDIR COMPUT, PHISICS,PERSONAL.
. ,
, ; , . 0.1 - . , :. -
: .
, FRANCA TCWIN. FRANCA OBJ FILES. , .
, . -
, OHBOY.CPP FRANCA, TCWIN. ? . - ( - ). , - , . ,
.
, . -
.
-
30 0.
. 0,1.
:
C:\FRANCA\OHBOY.CPPC:\TCWIN\OHBOY.CPP
, PERSONAL. , MYDIR. ; Turbo ++4.5, . 0.2, Windows 95, - . 0.3.
() ( :)
:
,
:
. 0.2. : (Turbo C++ 4.5)
,
' ,
-
: ( :)
,
,
,
. 0.3> : (Borland C++ 5)
mremmoniloi
L3 mpf Cj mtdevstd
miotficemvc
3
,
. 0.4. MYDIR (Turbo C++ 4.5)
, MYDIR, (, , ). - . ? , - , .
, . 0.4 . 0.5.
-
32 0.
,
Puc. 0.5. MYDIR (Borland C++ 5)
, , MYDIR. , . 0.6, . 0.7.
. , -
MYDIR PERSONAL.
MYDIR ()
( )
(MYDIR)I (:)
. 0.6. MYDIR (Turbo C++ 4.5)
-
33
( :\), (MYDIR)
. 0.7. MYDIR (Borland C++ 5)
,
, , -
.
.
,
( ); . - , -
, .
.
, .
. ,
. -
,
.
-
34 0.
(Borland Microsoft) - . , , -
.
:
.
.
.
. FRANCA :.
Windows (Windows Explorer) - (File Manager) Windows 3.1. Windows :, (File) (New) (Folder), FRANCA .
CPPNER.EXE FRANCA.
,
. CPPNER.EXE , -
.
Windows, - CPPNER.EXE , C:\FRANCA - sounds (). . CCPNER.EXE , , .
-
35
Ha , - FRANCA :. , , .
|^ , ,
, , .
-
, , .
,
. .
.
) . - , -
.
, :
.
, .
, .
, -
.
C:\FRANCA.
, , -
. , , -
. .
, : PAULO.RC,FRAN * * * .OB J (, , -) ( C_SAL.CPP).
, -
.
, -
.
-
36 0.
, .
. , -
.
.
.
.
, . -
. -
.
C_SAL,CPP, - , . 0.8.
I Paulo France's C+
Hi!
. 0.8. C^SAL.CPP
1 , , - .
. ,
. - . -
-
37
, .
. , .
. PAULO.RC . Windows . - .OBJ . , ( .), *. , , :
, ,
.
, .
, , , -
, , .
:
Turbo C++ 4.5 Windows.
Borland C++4 Windows.
Borland C++ 5 Windows.
Microsoft Visual C++ 1.56 Windows.
Microsoft Visual C++4 Windows.
Microsoft Visual C++ 5 Windows.
, Web- http://www.sybex.com -
.
Borland Turbo C++ 4.5 Borland Turbo C++ 4.5, .
Turbo C++ 4.5. , . 0.9.
-
38 0,
. 0.9- Turbo C++ 4.5
.
Project Open Project ( - Project > Open Project). OpenProject File, . 0.10.
FRANCA ( )
,
,
I , :
.IDE. 0.10. Turbo C++ 4.5
-
39
,
(C:\FRANCA). , File Name , -
.
FRANCA45 . - , ( , ).s^ -^ ^^ ^^ ^^ _*^ -^ ^^ _^ ^^ -^^ -^
^
^^ _
J . .
, .
:
PAULO,RC
FRANCA45.0BJ
(LSALCPP (PAULO.RC FRANCA45.0BJ) . (C_SAL.CPP) , . , ,
.
!, , .
1. .2. , .3. .4. , . , -
?5. .
..
C++, . .
. , . -
,
.
-
40 0.
. -
, Delete node.
) , , FRANCA.EXE, .
,
(FRANCA45.IDE) Add node. Add to Project List, . 0.11. , .
,
,
. 0.11.
, . ,
( ) .. - Debug >- Run.
C_SALCPP. , - . 0.8. , . -
Windows 3.1,
-
41
. Windows 95 .
! C_SAL.CPP.1. , .2. .
, . 0.8?3. .4. .
C_SALCPP. C_SOUND.CPP.
5. . , - -.
6. .7. C_SOUND.CPP C_SALCPP.8. .
.
, File > New. , (. 0.12).
. 0.12.
-
42 0.
NONAME.CPP -. File > Save As, Save File As, . 0.13. , NONAME.CPP . File Name , , , -
.
. 0.13.
, -
, File > Open. FileOpen. , . , . -
. ( ). , .
,
, (, C_SALCPP). , . ,
, ,
. 0.14. . , -
, . ,
.
J , . , File > Save As .
-
43
''-, Turbo C++ - tianca45.-. jj . : _ o r . ' . - 1 ':'".'. - :,';
. .
! C_SALCPP.
1. , .2. , CJsALCPP
.. , -
. C_SALCPP.3. C_SAL.CPP.4. : Sal say (Hi!) ( (!*)); -
! Hello! ( . Hello Delete - , Hi).
5. C_SALNEW.CPP. , ,
( C:\FRANCA). , , ? Hi Hello? - Hi, C_SALNEW,CPP . , .
6. C_SAL.CPP C^SALNEW.CPP.7. . Hello?8. C_SALNEW.CPP C_SALCPP .
-
44 .
Borland C++ 4 Borland C++ 4, .
Borland C++ 4. , . 0.15.
. 0,15. Borland C++ 4
.
Project > Open Project. Open ProjectFile, . 0.16.,
(C:\FRANCA). , File Name , -
.
-
45
Borland C++ 4 FRANCA40 ,
.IDE ( ). 0.16. Borland C++ 4
FRANCA40 . - , ( , ). ,
, . 0.17.
:
PAULO.RC
FRANCA40.QBJ
C_SALCPP
(PAULO.RC FRANCA40.0BO) . (C^SALCPP) , . , ,
.
"
!, , .
1. .2. , .3. .
-
46 0.
Q fianca40 [.objj c_l I.cpp]D paulnl.u:]
. 0.17. FRANCA40 Borland C++4
4. , . , - ?
5. .
-.
C++, . .
. , . -
,
.
. -
, Delete node.
) , , FRANCA40.EXE, .
-
47
,
(FRANCA40.EXE) Add node. , .
, . ,
( ) .. - Debug v Run.
C_SAL.CP , , . 0.8.
, . -
Windows 3.1, . Windows 95 .
!
C_SALCPP:
1. , .2. .
, . 0.8?3. ,4. .
C_SALCPP. C_SOUND.CPP.
5. . , - -.
6. .7. C_SOUND.CPP C_SAL.CPP.8. .
-
.
-
48 0.
, File > New. , (. 0.18). , File > Save As, .
. 0.18. (NONAMEOO.CPP)
, -
, File > Open. FileOpen. , . , . -
. ( ). - , .
,
, . , -
. , ,
, . 0.19.
.
, , -
. ,
.
-
49
. . 9.
J , . , File > Save As .
! C_SAL.CPP.1. , .2. , C_SAL.CPP
,. , -
. CJsAL.CPP.3. C_SALCPP.4. : Sal say (Hi!) ( (!)); -
Hi! HeLLo! ( . Hello Delete - , Hi).
5. C_SALNEW.GPP. , ,
( C:\FRANCA). , , ? Hi Hello? - Hi, C_SALNEW.CPP . , .
-
50 0.
6. C_SAL.CPP C_SALNEW.CPP.7. . Hello?8. C_SALNEW.CPP C_SAL.CPP .
Borland C++ 5 Borland C++ 5, .
Borland C++ 4. , . 0.20.
. 0.20. Borland C++ 5
.
Project >- Open Project. Open ProjectFile, . 0.21.
.
, (C:\FRANCA). , File Name , .
FRANCA50 Borland C++ 5. , ( - , ), , . 0.22.
-
51
Borland C++ 5 FRANCA50 ,
,
,
.IDE PRJ
. 0,21. Borland C++ 5
. 0.22, FRANCA50 Borland C++ 5
:
PAULO.RC
FRANCA50.0BJ
CJ5AL.CPP
(PAULO.RC FRANCA50.0B3) . (C^SALCPP) ,
-
52 0.
. , ,
.
!, , .
1. .2. , .3. .4. , . , -
?5. .
-.
C++, . .
. , . -
,
.
. -
, Delete node.
,
, FRANCA50.EXE, .
,
(FRANCA50.EXE) Add node. , .
Add to Project List, . 0.23. .
, . ,
( ) .. - Debug > R u n .
-
53
Add to !'i,i|.-i 1 I isl
C2ckcpj!clock |fC2input
i?C2jmpbd1
ffC2squa[2JSf CSasklor
|f C3doli
. 0,23.
C_SAL.CPP, , . 0.8.
, . -
Windows , . Windows 95 .
! C_SAL.CPP.
1. , .2. .
, . 0.8?3. .4. .
C^SAL.CPP. C_SOUND.CPP.
5. . , - -.
6. .7. C_SOUND.CPP
C_SAL.CPP.8. .
-
.
-
54 0.
, Fi le > N ew. , (. 0.24). , File >- Save As, . (,: \ FRANCA) , File name, - . 0,25.
. 0.24.
1
1
j_i___rrv,r-^=r - . jga&jjnf / .j iii Franca
P'c.somd|F Cl clock|ff C1 boll^C1iobot2
4\ ,
f:>e n- ;, |rSch-iS isj.^ .i ]'-
?C2change
IfCZnput
|f C2jmpbdy
J
... *.. . . IN .> . t
'^-^-^'"* "
|! C2jmpick Id'CSfll ?;^fC25t:ope |fC3saIe ,|
j^1 C3dotiffe ^C3stwe2 ;|
M|'ff!f;fffiJ-^ -3
narncOO | . Save 1++ source (",cpp;".c]
, , -"
,
. 0.25.
, -
, File > Open. FileOpen. , . , . -
- ( ). - , .
-
55
,
, . , -
. , ,
, . 0.26.
.
, , -
. ,
.
, .
, File > Save As .
Borland C++ - Iranca50 PIP! ITt ?- -^
Puc. 0.26. C_SAL.CPP Borland C++ 5
! C_SALCPP.1. , .2. , C_SALCPP
.. , -
. C_SAL.CPP.3. C_SAL.CPP.4. : Sal say (Hi!) ( (!)); -
Hi! Hello! ( . Hello Delete - , Hi).
-
56 0.
5. C_SALNEW.CPP. , ,
( C:\FRANCA). , , ? Hi Hello? - Hi, C_SALNEW.CPP . , .
6. C_SALCPP C_SALNEW.CPP.7. . Helios-?8. C_SALNEW.CPP C_SALCPP .
Microsoft Visual C++ 1.5 Microsoft: Visual C++ 1.5, - .
Microsoft Visual C++ 1.5. , . 0.27.
. 0,27. Microsoft, Visual
.
Projects Open Project, Open Project, . 0.28.
-
57
,
(C:\FRANCA). , File name .
FRANCAM1 Visual C++ 1.5. , ( - , ). ,
Projects Edit. Edit, . 0.29). ,
,
File Name
.
,
, :
,
. 0.28. Open Project Visual C++ 1.5
, .
,
Edit-FRANCAM1.
XliSI |;]cj al.cpp
c_i pund.cppcl i lock cppclmbotl.cppc1iobot2 cpp 2 change, cppc2clnout.cppc2clkcpy.cpp
',;j fiancaffij debug
,
) JrJ
;! c:\franca\c_sal.cpp; cAFiancaUrancamt .def' c:\francaMiancam1 .obj
ranca\paul .
: *haip_v1 1
: ,
. 0.29.
-
58 0.
:
PAULO.RC
FRANCAM1.0BJ
FRANCA.DEF
C_SAL.CPP
(PAULO.RC, FRANCAM1.0BJ FRANCAM1.DEF) . (C_SAL.CPP) -, . , -
, .
!, , .
1. .2. , .3. .4. , . , -
?5. .
..
C++, . .
. , . -
,
. ,
, .
Project^ Edit.
Project >- Edit. , -
. . ,
. 0.30 C_SAL.CPP.
,^ ^^^ ^^ ^^ ^*^ ^^ ^^ ^^ ^^ .^ ^^^ _^ ^^ _^ ^^) . FRANCAM1.0BJ PAULO.RC .
-
59
c_*al.cppc_ound cppcl lock, cppcliobotl.cppcl iobot2.cppc2change.cppc2cnoul.cppc2cfccpf,cpp
Source (*.;*.;*.}
c:\franca\fiancaml. delc:\franca\fiancam1 .objc:\lranca
Puc. 0.30. C_SALCPP
C_SALCPP Edit , . 0.31.
_ sound, cpp1 clock.cppcliobotl.cppcl robot2.cppc2change.cppcZcinout.cpp
cpp
c:\tranca\ri ancaml .ob|c: \f ranc a\pau lo. ic
Puc. 0.31. C_SALCPP
, .
Projects Edit. Edit, . 0.31. . - , , -
. , C_SOUND.CPP, , ( . 0.32), Add. , - . 0.33.
-
60_ 0.
c1 clock, clioboH.cppdiobot2cppc2change.cppc2cinoul.cppc2dkcpu.cpp
: \fianca\fiancam1. obj: \franca\paulo ic
. 0.32. C_SOUND.CPP
Edit -FRANCAMI MAC
cl clock, diobatl.cppc1iobot2.cppc2change.cppc2cinout.cppc2cbcpji.cpp
Source (-.c;".cppj'.ci)
cAfrancaVe round, cpp: MrancaViancaml .delc: VfrancaUiancaml .obj: \ I anca\ paolo ic
. 0.33. C_SOUND,CPP
, . , -
( ) ..Visual C++ ( ), - . ,
Project > Build, - Debug > Go. C_SALCPP, , - , . 0.8. . -!
-
61
, . -
Windows 3.1, . Windows 95 .
) Debug > Go. Visual C++ , ( , , ), , Debug > Go.
! C_SAL.CPP.
1. , .2. .
, . 0.8?3. .4. .
C_SALCPP. C_SOUND.CPP.
5. . , - -.
6. .7. C_SOUND.CPP C_SALCPP.8. .
.
, File> New. , (. 0.34). , File > Save As, . -
, File Name, . 0.35.
-
62 0.
. 0.34.
,
-4.-..-.
:1!^
. 0.55.
, -
, File > Open. Open File. , . , . -
. ( ). - , .
-
63
Open File
c_*al.cppc_tound.cppcl clock cppdtobotl.cppc1robol2.cppc2charige.cppc2cinout.cpp
. 0.36.
,
, . , -
. , - ,
, . 0.37.
trenca.hathlete Sal;void nainprogt )
Sal.ready() ;Sal.say("Hi! "
PMC. 0.37. C_SAL.CPP Visual C++ 1.5
.
, , -
. ,
.
, . , -
File > Save As. Save As, . 0.38. File Name
-
64 0.
(C_SALCPP) , (, NEWSAL.CPP), .
. 0.38.
! C_SAL.CPP.
1. , .
2. , C_SALCPP .. , -
. C_SALCPP.
3. C_SAL.CPP.
4. : Sal say (Hi!) ( (!)); - Hi! Hello! ( . Hello Delete - , Hi).
5. C_SALNEW.CPP. , ,
( C:\FRANCA). , , ? Hi Hello? - Hi, CJJALNEW.CPP . , .
6. C__SALCPP C_SALNEW.CPP.7. . Hello?
8. C_SALNEW.CPP C_SAL.CPP .
Microsoft Visual C++ 4 Microsoft Visual C++ 4, .
-
65
Microsoft Visual C++ 4. , . 0.39.
. 0.39. Microsoft Developer Studio
Microsoft Developer Studio :
.
.
.
, . -
, -
Hide. ,
Docking View. - , View > Project Workspace View > Output, , .
-
66 0.
.
File > Open Workspace. Open ProjectWorkspace, . 0.40.
,
,.._
: -^ Debug
-,
^^^, ,.,
Visual C++ 4
FRANMS4 | Project Wofk*pace*(".mdp] ,
.MDP
, 0.40, Open Project Workspace Visual C++4
, Look in (C:\FRANCA). , .
FRANMS4 Visual C++ 4. , ( - , ). , -
, . 0.41.
-
. .
, -
. , . 0.42.
, .
, -
. , . 0.43.
:
PAULO.RC FRANCMS4.0BJ
SALCPP
-
67
. 0.41. FRANMS4
,
. 0.42.
-
68 0.
Ipi r;f5s - / i i
Puc. 0.43.
(PAULO.RC FRANCMS4.0BJ) . (C_SAL.CPP) , . ,
.
.
!, , .
1. .2. , .3. .4. , . , -
?5. .
..
C++, .
-
69
.
. , . -
,
. ,
, .
, -
( ) Edit > Delete.
.
.
) . FRANMS4.0BJ PAULO.RC .
-
Inserts Files into Project, Insert Files into Project, . 0.44. .
_
Iribetl Files into Picm
jj l] j3JC2change
cinout
^ C2npul,f C2irnpbd1
C2|mpjckjj$ C2scopeJlf3 C2squ2
avgrd
|JC3sale2
Ja C3store1Jf QstoreZ
1C MUM
* .^::{:|Source Files [*.;".;*.)
,
. 0.44.
,
-
70 0.
, . , -
( ) .. , Build > Debug > Go. C__SAL.CPP, , , - . 0.8.
, . -
Windows 3.1, . Windows 95 .
!
C_SAL.CPP.
1. , .
2. . , . 0.8?
3. .
4. .
C_SALCPP.
C_SOUND.CPP.
5. . , - -.
6. .
7. C_SOUND.CPP C_SALCPP.
8. .
.
, File v New. - New, . 0.45.
-
71
. 0.45.
, , 0.46. File > Save As, . , , , -
, FileName.
. 0.46.
, -
, File>0pen. OpenFile. , . , . -
. ( ). - , .
,
, . , -
-
72 0.
. , ,
, . 0.47.
Elude tranceathlete Sal:
d nainprog()Sal.reedyO;Sal.sayfHi I " ) ;
-
. 0.47. C_SAL. CPP Visual C++ 4
.
, , -
. ,
.
, . , -
File >- Save As. Save As, . 0.48. File Name (C_SALCPP) , (, NEWSALCPP), .
|f C1robo(2f?C2changeif C2cinout
;T:F|e |* Jovial cpp) . :,..i... j
?.. .-; ,-v., !
Puc. 0.48.
-
73
! C_SALCPP.
1. , .2. , C_SAL.CPP
.. , -
. C_SAL.CPP.3. C_SALCPP.4. : Sal say (Hi!} ( (!)); -
Hi! Hello! ( . Hello Delete - , Hi),
5. C_SALNEW.CPP. , ,
( C:\FRANCA). , , ? Hi Hello? - Hi, C_SALNEW.CPP . , .
6. C_SAL.CPP C_SALN EW.CPP.7. . Hello?8. C_SALNEW.CPP C_SAL.CPP .
Microsoft Visual C++ 5 Microsoft Visual C++ 5,
1.
Microsoft Visual C++ 4. , . 0.49.
, . -
, -
Hide. ,
Docking View. - , View > Project Workspace View> Output, , .
Visual C++ 5 . Visual C++ 5 , -, Visual C++ 6: ( ),
-
74 0.
,
. 0.49. Microsoft Developer Studio Visual C++ 5
.
File> Open Workspace. Open Workspace, . 0.50.
Open Woikspace
'i . ." '
3 franmsS.dsw
. 0.50. Open Workspace Visual C++ 5
, Look In (C:\FRANCA). , .
-
75
FRANMS5 Visual C++ 4. , ( - , ). , -
, . 0.51.
. 0.51. FRANMS5
.
, -
, .
:
PAULO.RC FRANMS5.0BJ C_SAL.CPP (PAUU). RC FRANCMS4.0BJ) -. (C_SAL.CPP) , . , , .
!, , .
1. .2. , .3. .4. , . , -
?5. .
-
76 0.
..
C++, . .
. , . -
,
. ,
, .
, -
( -) Edit >- Delete.
.
.
J ^ . FRANMS5.0BJ PAULO.RC .
-
Project > Add To Project > Files, Insert Files intoProject, . 0.52. . - ,
(FRANMS5) Add Files To Project.,
,
. 0.52.
,
,
-
77
, . , -
( ) .. , Build > Execute Build v Start Debug >Go. C_SAL.CPP, , - , . 0.8.
(.). , . Yes, Build> Execute Build Start DebugvGo. , . -
Windows 3.1, . Windows 95 .
! C_SALCPP.1. , .2. .
, . 0.8?3. .4. .
C_SALCPP. C_SOUND.CPP.
5. . , - -.
6. .7. C_SOUND.CPP C_SALCPP.8. .
.
, File > New. New, . 0.53. , , 0.54. File > Save As, .
-
78 0.
, , ,
, File Name.
Server PageBinary FileBitmap FileC/C++ Headei FileC++ Source FileCursor FieHTML PageIcon FileMacro FileResource ScriptResource Tempi ale
_J
J
Puc. 0.53-
CLsal.obj - 0 eccar(s). U vaxni&gfs)
. 0,54.
, -
, File > Open. FileOpen. , . , . -
-
79
. ( ). - , .
,
, . , -
. , ,
, . 0.55.
, , . -
, File> Save As. Save As, . 0.56. FileName (C_SAL.CPP) , (-, NEW5AL.CPP), .
. 0.55. C_SAL.CPP, Microsoft Visual C++ 5
I DebugI C_saLcppIC_sound.cpp
FrancaplrarrnsS.dsp
j^ franrntS.ncbfranmsS.ctii
. 0.56.
-
80 0.
! C_SALCPP.
1. , .
2. , C_SALCPP .. , -
. C_SALCPP.
3. (LSAL.CPP.4. : SaL say (Hi!) ( (!)); -
Hi! Hello! ( . Hello Delete - , Hi).
5. C_SALNEW.CPP. , ,
( C:\FRANCA). , , ? Hi Hello? - Hi, C_SALNEW.CPP . , .
6. C_SALCPP C_SALNEW.CPP.
7. . Hello?
8. C_SALN EW.CPP C_SALCPP .
, ,
, , FRANCA. H .
,
( C:\FRANCA).
.
. , -
! .
.WAV. .
,
:
-
_ ? 81
(/include "franca.h"athIete SaI; //c_sound.cppvoid mainprogO{
Sal.readyf);sound("hel lo.way");
?
0 .
0 .
0 .
0 .
0 .
0 - .
-
I
I - . -
C++, 0. ,
, . -
-
. -
, (-). I.
, , -
, -
.
-
U
G
-
, .
,
0. , - - .
,
. , , -
. , -
.
,
, 0.
C_SAL.CPP . -:
include "franca.h"ath I ete Sa IvoidmainprogO{
Sa1. ready();Sal .sayC'Hir);
} .
tfincLude , , , , -
. ,
.
franca.h. C++. - ( , ) - .
-
85
, -
, - . -
! , , - (, , , ). - tfinclude.
athlete Sal - . franca.h , athlete (). (Sal). , - - , Sal athlete. athlete , .
void mainprogO - , . -
, -
({}), .
C++ -.
C++ - mainQ winmain(). mainprogQ . -
.
mainprogQ , -
. winmain()
mainprog(). winmainQ , - Windows. , VIII, - main prog ().
Sal.ready () . ready Sal. (Sal) (ready), , ((}).Sal.say("Hi!") , . , - Hi (). ? , , - , ! ,
-
86 1.
, .
.
, . -
.
! . 1.1.
Hi!
. 1.1. C_SAL.CPP
0, . -, -
. 0 - C++.
, , , -
.
(objects). , -
. Sal, , . :
-
87
ready()up ( )left ( )right ( ) Sal - . , ,
ready, up, left right , - .
1 , , ,
- . C++, - (memberfunction) . . (message) , , -
, ,
, -.
-
Hi. , - ,
.
(statements) . - .
. ( ) - . -
, , -
.
, .
ready, up, Left right. , , ( to go down), , , - !
J athlete - ( , -}.
-
1,
. 1.2 .
ready up left right
. i.2. , Sal ()
, .
. ,
: . up, , , ? ? ? ? , ,
:
Sal . readyO; ,
.
C++ . Sal , sal, - ,
) , - . SaL, sal .
( , include void main()). , ,
, (- - ). :S a l . readyO; .
, ( - , . .) - ( , , ). - , ,
.
-
89
- , ,
! , , - , . -
(bugs).
athlete athlete -. ,
1 1 . i.i.
.
,
.
:
readyupleftright . ,
say ( ).
(arguments) . , -, , , , -
. say - , , .
.
,
. , 5 - , 8 :
Sal.left(5);Sal.up(8);, ready, up, left right, -. ,
Sal.left(0.5); , -
. , -
. (, ')
-
90 1.
ready, up, Left right , -, , ,
say , , , ,
.
J , ! , File > Save As .
, - , -
? , hello:
Sai.say(hello); , hello - , :
hello* hello. , , -
, .
C++, . C++ - hello "hello".
C++ , -
. , -
. - -
. ,
, - ! , ,
.
, , -
. -
, . ( , .), ,
, , ,
! . !
-
C++ 91
C++ (//), - .
, -
:
//**-// C_Sal.CPP
// // Paulo Franca, 21.08.94// 21.08.94
#i nclude "franca, h" // ath lete Sal; // vo i d ma i nprog() // {
Sal. readyO; // .
// Sal.sayC'Hi!") ; // " H i ! "
} // . -
, , -
SaLreadyQ. , . , !
,
,
, .
, . , -
.
( , ).
1
, .
, .
,
. , -
.
-
92 1.
,
, .
.
,
, -
, . :
, . , -
, . , ,
, , , .
.
. ,
.
, . ,
:
readyupready
, ?, , .
. -
! :
.
.
, , ,
. , SaLrightQ, Sal.leftQ . . , ,
, .
? -:
readyupleft
-
? 93
upreadyuprightupready
, , .
, .
, , -
.
,
. , 5, - ready, up, left, right.
, .
0.
C_SAL.CPP , Sab Hils>. Sal , Sally (),
.
, : ready, up,left, up, right, up, ready.
,
(ready, up, left, up, right, up, ready).
?
0 C++.
0 , (,Hello!) .
0 .
0 athlete.
0 .
-
Clock () Box ()Q Robot ()
-
, ,
. -
Clock.
,
. -
, . -
Box, -- (label), - .
, -
, Robot. . ( , .)
Clock Clock ( Clock, ), - .
Clock, , :
Clock mywatch; // mywatch - Clock
, :
, .
.
.
Clock Clock :
wait(4noio );tirneO;reset(); wait ( ) -, . .
-
96 2.
timeQ Clock ( ), - ( , ). resetQ Clock . - 0, - Clock .
Clock, :Hello!, 3 : How are you?. :
1. "Hello!".2. Clock 3 .3. "How are you?". athlete ( Sal) Clock. , , - (, ready), ! C1CLOCK.CPP mywatch.
// // 19.10.94.// C1CLOCK.CPP^include "franca.h"v o i d mainprogO{
Clock mywatch;athlete Sal;Sa I . ready(); // Sal say("Hel lo!") ; // "Hel l o ! "mywatch. wait(3); // ,
// 3 Sal .say("How are you?"); // "How are you?"mywatch. wa i t{ 1); // 1
i
Clock , ., time(), - . ,
, , :
mywatch.waitfO.5);
-
Clock 97
mywatch ., ,
. :
Sal.say(mywatch.time()); , -
, mywatch.timeQ Clock , -
.
?
. , , -
. -
.
. -
.
.
, , : Sally!Where are you? (! ?), 5 : Here I am! ( !). , , -
( Box) - . -
, . ,
: Sally! Where are you?, - . -
,
:
// ( athlete)// // "Sal ly! Where are you?",// 2 // 5 // // " I !",// 2
-
98 2,
.
, , , -
. , ,
.
, ,
. , .
:
// "Sal ly!"// 2 // "Where"// 2 // "are you?"
, :
// ( athlete)// // "Sal ly !"// 2 // "Where"// 2 // "are you?"// 5 // // "Here I am!",// 2
, -
( -). .
, , -
C++. , :
// ( athlete)
-
Box 99
:
athlete Sal , S a l l y ; .
,
. , , ,
.
Box, -
, . -
Clock, ?
, , -
. -
- , .
Box athlete. Box, , , , athlete. Box athlete:
.
Box .
( Box) .
, , -
:
Box d isp lay ( " T i m e : " ) ;
, (my watch):d i spI ay.say(mywatch.t i me()); , Time: , .
Box, . 14 ( Box).
-
100 2.
Robot , , , .
Robot Robot , , .
Robot . , -
. . 2.1.
! Paulo France's C-
. 2.1. Robot
Robot, ( ) . Robot Tracer.
, . 2.1, - clrobotl.cpp.
-
_ 101
include "franca. h"//1 robot! . Robot Tracer;void rnainprogO{
Tracer. face(3);Tracer. step();
Tracer, Robot, :
Step() . . .
, timescale (. ), .
left() 90 .right() 90 .seewallQ ( ). ,
. ( 8.)seenowalL() ( ). - , -
. ( 8.)() . (0, 1, 2 3), , , . -
4.
mark() . - , , -
( ). . 2.1.5(") . - ( ), ( ). - 12.
-
1 02 2.
2.1. markQ
0
1
2
3
4
5
6
7
51() . , , , ,
0,1 . , , 0,5 , -:
Trace .t i mescaIe(0.5); C++ : , . -
, , .
, cl robotl. cpp, Tracer , :
Tracer. stepO;f*w Tracer , -. Tracer , , . -
, .
clrobotl.cpp . .
:
Tracer, stepO;Tracer.stepO;
-
1 03
Tracer.step();Tracer.step(); :
Tracer.step(4); .
.
, ,
. ,
.
, -
:
Tracer, ma rk();Tracer.step();Tracer.mark();Tracer.step();Tracer. mark();Tracer.step();Tracer.rnark();Tracer.stepC); Tracer . .
, -
. ,
. 2.2.
, , -
.
? . - . ? ( leftQ right()), - ( face()). , , :
Tracer.face(1);
-
104 2.
2.2. face()
( ) ( ) ( ) ( )
0
1
2 i3
, -
. , . :
Tracer. sayC'Done!");, , ? - ? ...
, , -
, going () . -, coming back () .
, , -
. . -
3 3. , , , . .
:
-
:
#IIude "f .h" //drobot2.Robot Tracer;voidmainprogO
Tracer.face(3);Tracer.mark();Tracer.step();Tracer.mark();Tracer.step();Tracer.mark();Tracer.step();Tracer, rightQ;Tracer. mark();Tracer.step();Tracer. markO;Tracer.step();Tracer.mark();Tracer. stepO;Tracer.right();Tracer.mark();Tracer.stepC);Tracer.mark();Tracer.stepO;Tracer. markO;Tracer.stepO;Tracer,right();Tracer. markO;Tracer.stepO;
//
//
//
-
1 06 _ 2.
Tracer. ma rk();Tracer. stepO;Tracer. markO;Tracer. stepO; // Tracer. rlght();
, , , . -
! . 2.2.
. 2.2.
? 4, 3 ? , ?! , 3 , , 4 . 3 , .
?
0 , Clock.
0 , Box.
0 Robot.
-
-
. -
, , , . ,
. ,
, , .
. -
,
: ,
. . ,
.
. .
, . , -
, . ,
, .
( - ). . , -
. ? ?, :
3 .
, 3!
-
)9
,
, .
, , .
. -
, , . -
,
:
, , .
. :
.
, . ,
. -
? , , , .
, . , ,
?
. -
,
. , -
, ( , ) -, - .
-
110 3.
? - . ,
. ,
-
.
c_sat.cpp -:
Sal.readyQ, SaL.ready);. .
tfindude.
5("1!");. , , -
, , . , -
. , ,
, -
, , ,
, ,
:
Sal.readyO Sal ,say("Hi !") ; , , -
, , .
, . -
, ; . .
.
, , Hi! . .
. ,
, .
, , . -
, , , . , ,
,
. -
.
-
111
.
, -
, -
. , .
, ,
, .
() , , - , , ,
. , -
:
(_). , ( 0 )
.
32 (, , , 32).
.
( -, ).
, -
.
*^ ^^ ^^ ^V^
^ .
:
2waystop ( ). my number ( ). this-number ( ). "Sal" ( ). :
twowaystop mynumber thisnumber Sal
-
112 3.
. -
, void, , , . .
, .
( ).
( ), . -
.
.
,
. int () , . int - . ,
( athlete). , .
. , , athlete - .
,
-
.
. , athlete , . ,
(, athlete), .
(declaration) , . :
_ _;
_ , -
(, athlete clock franca,h), _ - . ,
, , , :
athlete Sal, Sal I;
-
^ 113
, .
. ;
Clock mywatch; // mywatch Clock. int number_of_tirnes; // nu(nber_of_tinies
.
.
, .
(), , . . -
:
_.(); SaL ():Sal.upO; Sal () 2:Sal.up(2); ,
2 .
C++ --. - 16.
, -
. . C++ :
(//). (/*) (*/)
.
:
/* $
*/
:
int/* */ iapcount;
-
114 3.
,
c_salcpp:
include "franca.h"athlete Sal;voidmainprogO
sal. readyf);Saf.say(Hi);} . . -
.
, -
. ( ) -, .
, ,
. 3.1 ( ). - .
t fready up left right
. 3.1.
-
c_sal.cpp:
^include "franca.h"voidmainprogO
-
115
ready;Sal.sayC'Hi!");I . , ,
.
:
2nd! imeapol 1-13apol 13 i gT i memy friendmy. friendmy_friendvoid
, ,
. 3.2.
. 3.2. -
:
, -
.
.
. , -
? , , , , - ?
-
116 _ 3.
. ? ?
voidmainprogC){
athlete bi 1 1 , John doe, ann3;Clocks days, my-clock, O'Hara, other;Box show;show.say(thetime);bi 1 1 .say(other.timeO);Marie. readyO;Robert.upO;
?
0 .
0 .
-
II
. II . ,
,
. -
.
II .
-
Q
Q U
-
-
. ,
. , ,
. , ,
, , .
, . -
, -
.
.
, , -
,
. ,
. , -
, .
. -
, -
.
:
S a l . u p C ) ;Sal.leftO;Sal.upQ;S a l . r i g h t C ) ;S a l . u p f ) ;Sal. readyO;
, .
, -
, , -,
. ,
,
', . -
.
C++ (function), -- (procedure).
-
1 20 4.
, -
.
.
. -
, -
. , ! , - .
, -
.
/ .
, , ,
. , ,
:
. -
, , -
.
, , --
, :
-
, .
, -
.
-
. ,
, ,
.
. ,
.
-
1 2 1
. ,
( ), , , .
:
.
C++ ;
void JumpJackO{
Sal.up();S a l . r e a d y C ) ;
}
, -, , -, .
- : . -
, -
.
-
?
. -
,
{}. . -
. ,
.
"^ ^ ^ "^^ ^^ ^^ ^^ ^^ ^^ ^^ -^^ ^^ ^^ ^^ ^^ ^^ ^) { , ).
, , -
( ).
-
1 22 4.
void, , {). .
c2jmpjck.cpp:// c2jmpjck.cpp// Paulo Franca// 05.01.96// // JumpJack^include "franca.h" //
// athIete S a I ; // SaI athIetevoid JumpJack() // JumpJack{
Sal .up(); // Sa I. ready(); //
} // JumpJackvoid mainprogO // {
SaI.ready() ; // JumpJackO; // !
} // JumpJackQ mainprog(). , mainprog , , . ,
, . -
mainprogf) . - JumpJackO.
-
.
, ,
.
mainprogO :
void mainprogO // {
SaI.ready(); // JumpJackO; // !
-
1 23
JumpJack(); // !JumpJackO; // !
} // , , , , -
. , -
. ,
.
, , .
, -
:
athlete S a l , Sal I; ,
athlete , , ;
S a l . readyO;Sal I. readyO;
, . , ,
? JumpJackQ, . ? :
JumpJack(). , .
. , ,
, . ( - , , -
, ?)
, -
. -
, , .
- . ,
. , , ,
. ,
,
.
-
1 24 4.
, ,
. ,
, (parameters). - . , -
, (argu-ments). ., , JumpJackQ c2jmpjck.cpp - , ( , ). , - , athlete.
1. , -. - , (- somebody). - . ,
. , - .
2. , ( ) - . , -
( , ), .
, c2jmpbdy.cpp:// c2jmpbdy.cpp//^ inc lude "franca.h"athlete S a l , S a l l y ;v o i d JnpJack(athlete somebody){
somebody.up();somebody. readyC);
>v o i d mainprogO{
S a l . readyO;JmpJack(Sal) ;S a l l y readyC);JmpJack(Sal ly) ;
} 3mpJack() sombody, , , . ,
-
1 25
, . -
, , JumpJackQ :JmpJack(Sal) ;J m p J a c k f S a l l y ) ;
Sal. ?
JumpJackQ, somebody SaL - , - .
Sally. - , . 4.1.
; Paulo France's C
. 4.1. c2jmpbdy.cpp
,
:
. -
JmpJack() . .
, JmpJackQ , .
JmpJackQ : , - . .
, JmpJack(SalLy);, JmpJack(Sal);.
. -
, -
( )., , ,
.
, . , -
-
1 26 4.
JmpJackf) , ,
( ):void JmpJack(athlete sombody=Sal) ,
JmpJack(); ,
JmpJack(Sal);
. -
. , ,
, ;
JmpJack(Sally);
, -
(. - ).
. , -
,
. C++ - , () . JmpJackQ, - . ,
JmpJackQ :void JmpJack(athlete first, athlete second)
JfnpJack(fiKst);JmpJack(second);
} . , ,
, ? - ,
. ,
.
, -
0 , - .
-
1 27
. ,
. ,
( ), . .
JmpJackQ :
.
.
.
.
.
.
? :
void JmpJackfathlete first, athlete second)
.
, -
. , -
, Sally JmpJack():
Sally , , - . C++ . , .
.
, -
. , , -
.
, ,
Clock (). Clock, - timer (), . ,
.
,
, .
Before:, D u r i n g : After:. - c2clkcpy.cpp:
-
128 ^4.
#include "franca.h" // c2clkcpy.cpp// Box before ("Before:"), during ( " D u r i n g : " ) , after ("After:");v o i d zerofClock clone)t
clone.reset(); // dur ing.sayfc lone.t imeO); //
}void mainprogOI
Clock timer;timer.wait(1); // 1 before.say(timer.timeO); // zero(timer); // after. say(tImer. timeO); //
, .
, . - -
wait(l) 1. , , -
zeroQ. 0. , ,
. , , ,
, , , timer . ! , , 1 . , timer, -. . 4.2.
3efore:1.00During:.
After:1.01
. 4.2. c2clkcpy.cpp
-
, , .
-
1 29
C++ , , . ,
(value), (reference). . , ( - ). C++ - &. :
v o i d zero(Clock &cione){
clone.reset(); // during.say(clone.t imeO); //
! . (&) , . .
, & , -
.
, ,
. , .
. -
. , -
. , athlete - . , -
, ,
.
, -
. -
. , ,
. -. -
- 16 17.
athletes, ready, up, Left right. -
-
130 4.
. ,
.
- --
-
. , athlets :
ready()up()left()rightf)say()
. , -
athlets. - - . . -
, JmpJackf) , . ,
, --.
,
. , ,
. ,
.
( ) . , - ,
tfindude. , , .
franca.h. - , franca.h :
include "franca.h"
.
JumpJackQ , jumpjack.cpp, :
^include "jumpjack.cpp"
-
131
JumpJackQ ( franca.h). , , -
, ^include.
, ,
, (, C:\franca). , : include "c:\franca\jumpjack.cpp" , ,
. -
, (- , ). - . :
#inc!ude;jf include ;
(directive) . , - , .
C++, .
(#) . ,
tfinclude.
, ,
, (header file) - .h ( .). ., , -
.h. File >- Store As File > Save As .
.h (. ).
JmpJackQ. , -
jump] ack.h.
-
132 4.
: , , ,
. -
, , , , .
- ,
(scope). , - , , -
, .
C++ - ,
.
, ,
. ,
, .
.
cZjmpjck.cpp Sal. JmpJackQ - .
c2jmpbdy.cpp Sal Sally. JmpJackQ somebody - . Sal Sally - -, mainprogO Sal Sally.
, .
c2jmbdl.cpp, c2jmpbdy.cpp.// c2jmbd1.cpp//// // JumpJackO athlete ^include "franca.h"void JrnpJackfathlete somebody){
somebody.up( );somebody. ready( );
}void mainprogO{
athlete Sal, Saily;S a l . readyO;JmpJack(Sal);
-
133
Sal ly . ready() ;JmpJack(Sal ly) ;
, Sal Sally - mainprogQ. , .
. -
Jmp3ack(). somebody - Sal.
Sal:
void JmpJack(athlete Sal){
S a l , u p ( ) ;S a l . readyO;
; Sal Sally:
void mainprogO
* athlete S a l , S a l l y ;S a l . readyO;JmpJack(Sal);S a l l y . r e a d y ( ) ;JmpJack(Sally);
1
-
. , .
JmpJackQ Sal , - . Sal, - mainprogO,a Sally.
. -
. -
.
( ). SaL . - JmpJackQ , ,
. , , -
, , -
.
-
134 4.
Sal ():athlete S a l ; Sal :
void JmpJack(athlete S a l }{
S a l . u p C ) ;Sal.readyO;
} Sal Sally:
void mainprogO
athlete Sal I;S a l . readyO;JmpJack(Sal);Sal ly. readyO;JmpJack{Sal ly) ;
, -
, , -
.
.
,
. , somebody . :
v o i d JmpJack(athlete sombody){
athlete sombody; // ! somebody !
-
. Sal mainprogQ. . Sal .
void mainprogO
athlete Sal;
-
? 1 35
jmpjack(Sal);athlete Sal; // ! Sal
// ; , C++ .
.
. Sal -. -,
. SaL - . Sal .
void mainprogO1
athlete Sal;Sa I . ready() // SaI{ //
athlete Sal;athlete S a l l y ;Sal . upO; // SalSally.left( );
; // Sa I . i ght(); // I
}
Sally. Salty (, ). Sally - .
?
0 .
0 .
0 .
0 .
0 .
-
,
-
Q U
-
. -
, , ,
.
I, . .
, -
-
.
. -
, . ( -) , . , , , , . C++ .
. .
int long. int , -
32768 +32767. Long , -
-2147483648 +2147483647.
. . -
float double.
float , -
3.4x10"38 38. . double
,
l.TxlO"308 UxlO308, .
-
138 5.
. char , - - .
char .
) int Long .
,
. . -
, , .
:
athlete S a l ;Clock my t ime; , , . -
:
int count, howmanytimes;float elapsedtime; , unsigned int . -
. . -
, lapcount, 0 65 535:
unsined int lapcount;
J , , . -
.
? - . -
-
.
, . ,
( ), , -, .
-
.
-
1 39
, ;
(). , .
.
, -
.
) , - - .
, .
, int, -
, , -
.
:
.
.
0 .
:
Sinclude "franca.h"void mainprogO1 II ", , "
Athlete Sal;int one, two, three;Sal ready(5);Sal .sayC'one");Sal.say(one);Sal,say("two");Sal.say(two);Sal,say("three");Sal.say(three);
-
140 5.
one, two three? -, , , - ,
. ,
.
S^ *-^ ^^ ^^ ^^ ^ !-*.-^ ^^ ^^ ^^ ^^ ^ ^^ ^^ ^^^ ^^ ^^ ^^ ^ ^^ -^ ^*-1^ ^ ^^ ) - , - (, , - }. , - , ,
( ) .
=.
,
. - ,
, -
. , howmany 21, :
howmany=21;
, howmany :int howmany;
, C++ = , ,
,
. ! , - C++ , - howmany 21:21=howmany; // !
, 21 - 21!
. , new old. , new 15, old 13, , 13, - -
, :
new=old;
:
old=new;
-
141
, - -
13, , new 13.
new old, , ,
new old, - new :
new=old;old=new;
, -
, . :
temp=new;new=old;old=temp;
, ,
. , -
maybe, 21:
int maybe=21;
, , , :
int =1, two=2, three=3;
.
, -
(+) (-), -. , ( *) (/), .
,
= . -
:
intrnaybe, hisage, difference; //
-
142 5.
maybe=21; // 21// maybe
difference=5; // 5// difference
hisage=maybe+difference; // maybe// d ifference// // hi sage
hisage 26.
( -). :maybe=maybe-i-1; maybe, . (, - ?) :
maybe=maybe-1;
++
C++ -.
(--) (-). :maybe++;
: - :
maybe=25;hisage=maybe++;
maybe, . -
:
maybe 26, -.
hisage 25, - maybe.
-
143
,
maybe, hisage:
rnaybe=25;hisage=++maybe; , (maybe hisage) 26. :
maybe=25;hisage=++maybe++; , hisage maybe? maybe , .
~ .
++ ~ , -
.
(), ,
, :
int 1=1, j=2, k=3; , k - . , -
. , .
k=++k+j;
k= i - j ;i+j=k;k++=j ;
. ,
, , :
-
144 5._
== .
!= . < .
.
>= .
, -
( ).
.
- .
. -
.
.
, , -
. ,
, .
, , -
.
.
(input) , - (-, ). .
, , . -
, -
.
.
23. , -
.
j C++ - VIII.
, -
, . , , -
-
145
,
. -
.
:
ask .
Ci n -, C++.
ask() ask() , . -
, . ask() - :
ask{3anpoc); ,
. ,
(. 5.1), :
Price=ask("Please enter the pr ice:"); ( Enter), - Price.
Paulo France's Please enter the price:
. 5.1. ask()
Cancel .
Cin Cin, C++. - ask();C i n _;
-
146 5.
_ , -
. , -
.
(. - ). Gin , ask(). , - , (. 5.2).
Paulo Franca's *+Input a number
. 5-2. Cin
, -
, -
. , -
, (output). ,
, , , -
, . . -
. .
, -
. ,
. C++ ( ) , - , , -
.
Cout, Cin. Cout - -
C++.
Cout Cout . ,
-
147
. ,
(. 5.3).Paulo France's '
!
Output:12.00
. 5.3. Cout
Cout Cin, . ,
Cout Cin e .
Cout ^; Price:
Cout Price;
ask(), say():# include "franca. h"athlete Jul ia;v o i d mainprogO
// c2input.cpp
float Price;Jul ia. ready();Price=ask("Please enter the price: ");JuJ ia.say(Price);
-
148 _ 5.
C++ cin cout ( ), VIII.
Cin Cout
ft include "franca, h" // c2inout.cppvoid mainprogO
p
float Price;Cout"Enter the p r i c e : " ;CinPrice;CoutPrice;
} Cout , - ( ), Cin -.
.
, .
:
^include "franca. h"void rnainprogf){
float Price, tax=8.25; // Cout"Enter the price: ";CinPrice;Price=Price+(Price*tax/10Q); // CoutPrice;
tax, 8.25, . -
Price - Price.
-
? 149
?
0 .
0 .
0 .
-
Q G CJ
-
, , ,
. -
,
. , -
.
- -
.
, , ,
. , , -
, !
, ( - ). - , .
. -
:
.
, .
, , -
.
, , -
.
, ,
. -
. , , .
, .
:
.
.
.
, .
.
.
.
-
152 6.
, , -
. -
( ).
.
( JmpJackQ), ( Clock) . . -
:
( JmpJackQ). (
).
. ,
. -
:
, theprice (). , theamount (). , thechange ( ). . -
, -
. , .
,
.
.
theprice theamount - , thechange - .
mainprog().
Ha C++ :
void dif(float theprice, f loat theamount, float &thechange){
thechange=theamout-theprice;
-
1 53
amount price, - , :
dif(price, amount, &change);Coutchange;
:
Coutdif(price, amount, change); , -
, . , -
, , . -
, , , -
.
, ? , , :
Number=JumpJack(Sal); :
Price=ask("Please enter the pr ice"); ?
C++ , - . , -
:
v o i d dlff(float theprice, float theamount, f loat &thechange) .
void - ? , -.
, :
. -
void, . , C++ int.
return, -, .
, , dif() - ,
-
154 6.
. -
, :
float dif(f loat valuel, float value2) . ,
dif valuel valueZ ( -) , -. .
, -
. return, - - :
return ;
. :
float dif(f loat valuel, float value2){
return value1-value2;
return ! , return, .
c2change.cpp. , .
, -
.
.
:
price, amount change.
.
.
( dif()). .
c2change.cpp ( . 6.1):
-
155
tfinclude "franca. h" //c2change.cppfloat d iff (float valuel, float value2){
return value1-value2;
void mainprogf){
float price, amount, change;Box given("Amount: "), thechange("Change: ")price=ask("What is the price to pay?"};amount=ask("How much are you g i v i n g me?");change=d if (amount, price);given. say(amount);thechange. say(change) ;
, 6.1. c2change.cpp
, price amount :
change=dif(amount, price);
-
156 _ 6.
dif(). , .
change.
price amount. dif () valuel value2 . dif(), valuel - amount, value2 price. , - .
,
. -
:
change=dif (price, amount);
( ), . dif(), :
float d i f (float valuel, f loat value2)
value1=value1-value2;Coutvalue1;return valuel;
valuel, . Cout. , valuel .
valuel - ( amount), , . amount- .
-
. -
dif() mainprogQ, - .
, -
.
-
157
, , -
, ,
. , -
, .
. , ,
,
.
C++ , -, . -
(inline functions). , , - , .
, ,
.
. -
, ,
, ( 7.)
inline. , C++ .
,
,
2. .
. , -
, , !
:
-
158 6.
, ,
.
( Tracer). , .
.
3 :
,
, , , .
. ,
.
3 , :
// //
//
-
:
Robot Tracer;v o i d I ine3(){
Tracer mark();Tracer step();Tracer mark();Tracer stepC);
-
1J9
, , -
. .
, -
. , .
,
:
void I ine3(int color)
Tracer mark(color);Tracer step();Tracer mark(color);Tracer step();
}, , -
? ! - :
void I ine3(int color=2) -
. -
. - -
.
:
void square3(int color=2)
I ineS(color);Tracer. rlghtC);I ine3(color);Tracer. r ightC);I ine3(color);Tracer.r ightC);I ineS(color);Tracer.right();
-
:
-
Tj50 6.
() square3(). squareBQ Iine3(), .
pointQ, Line3() squareSQ. pointQ ,
Iine3 (). Line3(). square3()
.
. -
mainprogQ.
, , .
. ,
.
,
. , ,
, . -
:
.
.
, ,
. , . -
. , , -
.
, ,
, , -
.
-
. , ,
. , .
, , -
. -
.
? ! ,
. ?
, ,
, . -
-
_ 1 6 \
, -
. : -
.
,
C++. ?
, ,
.
c2squar2.cpp . mainprog() , . .
include "franca.h" //c2square2.cppRobot Tracer;inl ine void paint(int color=2)
Tracer.mark(color);Tracer. step();
,
void I ine3(int color=2);paint(color)paint(color)
void square3(int color=2);i
I ine3(color);Tracer. right();Iine3(color);
Tracer.right();I ine3(color);Tracer. rightO;Iine3(color);Tracer.right;
void mainprogO(
Tracer.face(3);Tracer.step(5);Tracer.right();Tracer,step(7);Tracer. leftO;square3();Tracer.step(5);square3(3);
-
]62. ^^
-
.
(function definition) , , . -
. -
:
{
}
(function header) : ( -
void). ( ) , , -
( , - ).
' void . , float time (void) , , float time().
,
( ). -.
,
void Jrnp Jack (athlete somebody), :
(void). JmpJack. somebody athlete (, -
somebody athlete).
-
1jS3
(function body) , -. , -
, .
, 3mpJack() :somebody. up();somebody. readyO; :
void JmpJack(athlete somebody){
somebody.up();somebody. readyO;
} :
, -
.
, !
(type matching) . , -
, Clock, athlete:
void jumps(Clock timekeeper, athlete somebody) ,
.
, C++
. (function overloading)., JmpJackQ, , . 3mpJack() athlete .
:
JmpJack(Sal);JmpJack(Sal, Sal ly);
-
]64 6.
. ,
( ), - . ,
.
-
&, , .
, -
. ,
. -
( ). , :float d i f ( f l o a t &value1, f loat Svalue) ;
change=dif(100.00, pr ice); valuel, 100.00 . ( - ) .
, -
, (function call). :
_ (_); .
,
.
. -
, ,
. -
, , -
. , -
(function prototype).
) - , ,
.
.
-
, -
:
:
float change (f I oat price, float amount); , :
float change(f loat, float); , -
, . -
.
^include, - . ,
tfincLude , , ^include, , -, .
, gymnasth, , , QmpJack.h. , , gymnast.h tfinclude 3mp3ack.h.
:
ftinclude "gymnast. h"tt include "JmpJack.h" gymnast. h:
-
include "JmpJack.h" , -
OmpJack.h. . :
ffifndef JUMPJACK_Hdefine JUMPJACK H
.
:
ttendif OUMPJACK^H .
, #, C++. , .
.
-
6 .
#include, JmpJack.h. - JumpJack.h .
, , -
-. -
athlete. fitness. h .
, -
fitness.h . - .
-32 768 +32 767. int - . -
float, , , float. . :
int number, alpha, count;float x, , z;
.
;
intone=1, two=2, three=3, other;float x=3.45, y, z;
: one, two, three other, 1, 2 3, . ,
3.45, z , -.
,
, (=) -. -
. :
=54;two=one+three;
. :
one+two=three;
-
1 67
float int, . ,
( , -). , , .
(expressions) , ,
, (). , - .
:
+
-
*
/
%
, -
.
+, -,*,/,% =.
(), .
.
, -
.
. -
*, / %, + -. -, , -
( ). -.
. ( , , -)
-
68 6.
.
.
, ,
.
(++) (--) - .
.
( ) - (=). ,
.
, -
, .
. ,--
howmany=times=times-fl . - times+1, times, howmany. howmany=times+l=5, times+1, , .
semmetry (athlete he, athlete she), .
* he :
-
? 169
she :
, -
.
?
0 .
0 .
0 .
.
-
III
/ ,
,
.
,
,
, ,
.
.
-
, .
-
.
-
Q while do...whileQ forQ a
-
-
. , , .
-
. , -
15 . , . -
, , .
, , -
. , ,
15 . - , ,
, , .
, :
! ! !... . 7,1.
Count
JumpJack
Count =Count-
!. 7.1.
, ,
. ( count). , -
.
-
173
(loops), . :
while
do...while
for
while . 7.1 :
( count) 15, :
( Jump3ack())
!
,
. ,
.
, .., , ( ) ,
15 .
? .
. 7.1 . - (flowchart). (count=0) , - 15 ( count
-
7. 1
, .
.
15 ( 0 14 ). 14, - JumpJackQ 15. , 15 ( count
-
V75
(compound statement) ( ), . - ( ) - , , .
, C++, , - .
, mainprog(), - ( - ).
while ! -.
,
, Count 15, ... :
whi le(Count
-
1176 7. ]11
C++ :
count=0; // while(count=
<
-
17/
, ,
15. < () (relational operator) (conditional operator), . , -
.
. 10 - .
,
-.
, ,
-.
, , -
.
,
.
3mpJack() :void JmpJack(athlete somebody, int howmany) somebody athlete
, howmany.
do...while do...while while. while . , -
, !
do.. .while , . 7.2., ,
. -
.
do.. .while do , while, , . , - !
, -
:
count=0do -&
-
178 7.
JmpJack(Sal);count++;Iwhi le(count
-
, , -
for , , , -
:
(count=0) , - . ,
.
(count
-
1 80 \^7 ^
void mainprogO
{athlete Kim;
int howmany, done;// : " ?"howmany=Kim.ask("How many jumping Jacks?");// for(done=1; done
-
181
,
.
,
. ,
- ,
.
.
> - . ,
.
-
. , ,
, .
:
float value;// value=ask{"Enter a posit ive value;");while(value
-
182 ^ _. _. _. _7._^
float pr ice, change, amount, tax=8.25;// price=ask("Input the pr ice:");price=price+price*tax/lOO;Coutprice;// amount=ask{"Enter the amount:");whi le(arnount
( amount) while , . ,
( ) . -, ,
. , -
, , -
!
do.. .while. - , -
. while do...while:
do{
// amount=ask("Enter the amount:");
}whi le(amount
-
183
. -
, .
,
while, do.. .while for.
, , , -
12 . -, , 12 (, , ). .
, -
cSdotime.cpp:
// . . .// 08.08.1994((include "franca. h"void JumpJackC athlete she) // JumpJackO
c3dotime.cpp
she ready();she up();she readyO;
void mainprogO //
athlete Kim; // Kim athleteint howmany=1; // Clock timex; // whi le(timex.time(}
-
184 VpjjK^.
, Kim . , -
ready up, . , , 12 -. . , -
, . -
, .
yesnoQ ,
.
c3st.orel.cpp. - .
, ,
, -
. -
. ? : Do you want to continue?Yes or No? ( ? ?). Yes, .
?
franca.h, -, Yes No. ( Do you want tocontinue ?), . . 7.3 , yesnoQ.
. 7.3. yesno()
yesno():yesnof'Do you want to continue?"}; yesnoQ , . Yes,
-
_ 1 85
, No . , c3store2.cpp.
,
do.. .while. yesnoQ .
include "franca. h"void malnprogC) //c3store2,cpp
float pr ice, change, amount, tax=8.25;do{// price=ask(" Input the price:");price=price+price*tax/1GO;Countprice;// amount=ask("Enter the amount: ");wh i le(amount
-
1 86 7.
, -
. ,
10 . 10 , . , -
:
10 :
2 :
20 .
, .
, . . 7.4 (inner loop), , (nested loop), - , . 7.5 , (outer loop), .
. 7.4. ,
. -
, :
5 :
10 :
5 :
-
3 :
-
187
. I I; I
I]
. 7.5.
10 , -, 5 ( 50 25 ) , 3 .
, , -
. C++ :
^include "franca, h"void mainprogO
athlete Sal;int bigcount, smal Icount; // -for(bigcount=1; bigcount
-
7.
leftr ight(Sal);
} I/ for(smallcount=1; smallcount
-
Tracer _ 89
, ,
.
. cBsquare.cpp, - .
I no I ude "franca, h" //cSsquare. cppRobot Tracer;// 1 ine void I ine( int size, int color=2)(
for (int howmany=1; howmany
-
1_90 _ 7.
Tracer. seewal l(); , :
Tracer.seenowal l(); , , -
, -
. Tracer.seenowallQ , - . :
for(; Tracer.seenowal l(); ){
// Tracer. mark();Tracer. stepC);
} for? ! . , -
.
,
, :
for(lnt howrnany=0; Tracer.seenowal I; howmany++){
// Tracer, markf);Tracer, step();
, ( . 7.6), , , ( Tracer). , ? -, , :
, .
, ,
. ! ?
? ! .
-
Tracer 191
. 7.6. ,
1. . -
, , ,
. .
:
,
,
,
,
, .
. ,
.
-
7.
j !
2. .
:
:
,
. , , 3.
3. , :
void f i n d w a l l ( ) ; , ,
. ,
:
:
findwallQ
4. ,
. , -
, .
:
int f i n d w a l l ( ){
int steps=Q;whi le(Tracer.seenowal!()){
Tracer.step();step++;
}tracer. right();return steps;
-
193
. , -
. , -
:
int howfar;howfar=findwalI (); , , -
, :
for(int=1; i
-
194 7.
. 7.8.
, . 7.9.
. 73.
, -
(. . 7.77.9)?
?
0 .
0 while, do...while for.
0 .
0 .
-
Q
Q
-
-
, , ,
- .
, ,
.
! , -, . . :
.
.
, , -
.
. 8.1 8.2 .
. 8.1.
-
197
. 8.2.
, , -
, ,
, ,
.
,
. , ,
12 , 8 4. :
. 8.2. , 12,8 4! , - 12 , 4 .
, .
;
12
8 4
, .
! , .
-
198 _ 8.
:
^include "franca. h"Robot Tracer;void mairtprogO{
square(12);square(8);s q u a r e ( 4 ) ;
} , .
I !
, ? ! - , : 3, 15 100, - . .
() :
# include "franca. h"Robot Tracer;void malnprogO
int many, size;size=12;for(many=1; many
-
_ 199
:
include "franca. h" //cSsqS.cppRobot Tracer;void mainprogC){
int many, size;size=12;for(many=1; many
-
200 8.
, -
.
.
.
total, :
for(many=1; many
-
201
.
squareQ. , , - .
, .
. 8.2.
. 8.2.
, -
.
.
, , -
.
-
10.
,
, . -
, ,
, .
, :
?
?
?
?
, -
. , -
-
202 8,
, . ,
. -
,
.
,
, (loop invariant).
, c3sq3.cpp:
square(12); , .
. ,
, . -
, :
, .
.
4 . , for. -, ,
, (, - ). 10 , . ,
, , .
. ,
, .
, -
. . -
.
. -
12, - 1.
-
203
,
. ?
, -
. :
?
, :
,
:
+ () - () , :
,
:
, -
, -
.
, :
C++ :
// grade=ask("Please enter next grade:");tota!=total+grade; ,
.
. .
-
204 8.
.
. , 26, - :
for(int which=0; which
-
205
, -
which :
for(intwhich=1; which
-
206 8.
, .
, { - }, -. :
for(int times=1; times
-
207
-
. .
, -
.
( ), , - ( ). (), , . :int i , j;for( i=0; i
-
208 8.
, , C++ - . , .
, -
. :
i f (a=b) . . . ; C++ , - . -
b