Академический Документы
Профессиональный Документы
Культура Документы
17
004.43(075)
93
93
. , .
. 2- . .: , 2011. 320 .:
.
ISBN 978-5-4237-0170-3
, , .
,
. , , , .
,
.
, .
, , , , . .
32.973.2-018.17
004.43(075)
.
.
, , , . , , , .
ISBN 978-5-4237-0170-3
, 2011
. . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1. . . . . . . . . . . . . . . . . .
1.2. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
1.3. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
19
20
28
34
34
2. . . . . 36
2.1. : . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integer. . . . . . .
Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integer . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. . . . . . . . . . . . . . . .
(real) . . . . . . . . . . . . .
. . . . . . . . . . . . .
37
38
38
40
42
43
45
45
46
6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
real . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
2.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. ? . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
47
48
50
51
51
52
53
56
57
57
61
62
64
64
3. . . . . . . . . . . . . 66
3.1. . . . . . . . . . . . . . . . . . . . .
ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Char . . . . . . . . . . . . .
3.2. Char ! . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
67
68
70
71
72
4. . . . . . . . . . . . . . . . 73
4.1. ! . . . . . . . . . . . . . . .
(Boolean) . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . . . . . . . .
4.2. () . . . . . . . . . . . . . . . . . . . . .
() . . . . . . . . . . . . . . . . . . .
() . . . . . . . . . . . . . . . . . . . . .
( 2) . . . . . . . . . . . .
() . . . . . . . . . . . . . . . . . . . . . . .
74
75
75
76
76
76
77
77
78
7
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
80
81
81
5.
. . . . . . . . . . . . . . . . . . . . . . . . . 82
5.1. . . . . . . . . . . . .
if . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. ( case) . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
84
86
88
92
96
96
6. . . . . . 98
6.1. for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
for 100
for 101
6.2. . . . . . . . . . . . . . . . . . . . . 101
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7. . . . . . . . . . . . . . . . . . . . . . 110
7.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . .
. . . . . . . . . . .
7.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
repeat while . . . . . . . . . . . . . . . . . . .
while repeat . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
111
111
112
115
119
120
120
123
129
129
8.
8.1. . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
8.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . .
. .
8.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
131
132
133
133
134
137
140
144
148
148
149
150
154
156
157
9. .
.
. . . . . . . . . . . . . . . . . . . . . . . . 158
9.1. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
9.2. :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
159
160
167
168
169
10. . . . 170
10.1. : String . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
10.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
171
171
172
173
9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11. . . . . 176
11.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
11.2. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
177
177
179
179
181
183
184
12. :
. . . . . . . . . . . . . . . . . . . . . . . . 185
12.1. . . . . . . . . . . . . . . . . . . . 186
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
. . . . . . . . 192
. . . . . . . . . . . 192
. . . . . . . . . . . . . . . 196
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
13. . Graph
13.1. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
13.2. Graph . . . .
Graph . . . . . . . . . . . . .
Graph . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
199
200
200
201
203
203
205
206
207
10
14. ,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
14.1.
goto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2., . . . . .
break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
210
213
213
214
215
215
15. : . . . . . . . . . . . . . 216
15.1. record . . . . . . . . . . . . . . . . . . . . . . .
15.2. . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
with . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
218
220
220
220
221
223
224
225
225
16. . . . . . . . . . . . . . 226
16.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
16.4. . . . . . . . . . . . . . . . . . . .
New Dispose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
GetMem FreeMem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
227
229
230
230
232
232
233
235
236
237
238
241
242
11
17. . . . . . 244
17.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.2. . . . . .
(Push) . . . . . . . . . . . . . . . . . . . . .
(Pop) . . . . . . . . . . . . . . . . . . . .
(StackIsEmpty) . . . . . . . . . . . . . .
17.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
245
247
248
251
252
253
255
256
256
18. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
18.1. . . . . . . . . . . .
18.2. . . . . . . . . . . . . . . . . . . . . .
(EnQueue) . . . . . . . . . . . . . .
(DeQueue) . . . . . . . . . . . . .
(QueueIsEmpty) . . . . . . . . . .
18.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
259
261
261
263
264
264
267
269
269
19. .
. . . . . . . . . . . . . . . . . . 270
19.1. . . . . . . . . . . .
19.2. . . .
. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
19.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
271
272
272
273
275
276
278
280
280
12
20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
20.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.3. . . . . . . . . . . . . .
20.4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
282
285
287
288
289
291
291
1. - . . . . . . . . . . . . . 292
2. . . . . . . . . . . . . . . . . . . . . . . . . 295
Integer. . . . . . . . . . . . . . . . . . . . . . . . .
Real. . . . . . . . . . . . . . . .
Real. . . . . . . . . . . . . . . . . . . . . . . . . .
Char. . . . . . . . . . . . . . . . . . . . . . . . . . .
Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
If. . Min/max/ . . . . . . . . . . . . . . . . . . . . . .
If. . . . . . . . . . . . . . . . . . . . .
For. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
For. . . . . . . . . . . . . . . . . . . . . . . . . . .
For. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
While-Repeat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
While-Repeat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. , , / . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
296
296
297
298
298
299
300
300
300
301
302
302
303
303
304
305
305
306
307
307
307
308
309
13
. I . . . . . . . . . . . . . . . . . . . . . . . . .
. II . . . . . . . . . . . . . . . . . . . . . . . .
. III . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
309
310
310
311
312
313
. ,
, , , .
.
.
, 58 .
.
( ).
, , ...
,
.
? , , .
. ,
, , . .
. .
,
, , , .
. 1979
.
, .
, . .
. ,
!
,
.
!
, ,
comp@piter.com ( , ).
!
, ,
http:/www.piter.com/download.
http:/www.piter.com
,
. . , ,
: , ,
!
1.1.
-.
.
.
,
{}.
1.1.
program First; { .
program ;
First ,
.
.
";".
.
begin }
begin
{
1.2. 19
.
, ,
;
;
.}
write (', '); {
}
{
!
,
"ln" writeln
"line" - "" }
writeln ('!');
writeln (' ') {
,
.
, end
}
end.
{ end
;
}
, ,
.
. ,
program ,
.
writeln ,
.
1.2.
, Turbo Pascal.
7. ,
. ,
.
20 1.
, 7
. !
,
() ,
.
1. ( Edit).
.
2. ( Compile).
.
1.
3. ( Build).
1,
.
1.
4. ( Run).
1.
Turbo Pascal.
(), - .
, . 9-
.
,
- . ,
(, write writeln)
Turbo
Pascal
. - .
() .
, , . .
1.2. 21
Edit ()
Compile ()
Build ()
Run ()
. 1.1.
22 1.
.
1. Turbo Pascal
Turbo Pascal,
, turbo.exe bp.exe ( Turbo Pascal)
Windows (4).
Turbo Pascal
:
( );
( );
( ).
!
F10 (
).
Esc
.
1.2. 23
: Turbo Pascal
Ctrl+Shift, Ctrl+Shift.
.
MS-DOS .
-, MS-DOS
Windows. Turbo Pascal ,
, . Turbo Pascal
Turbo Pascal Exit File
Alt+X .
2. Edit
( F10).
File
(, ).
Enter.
File:
New
Open
Save
Save as
Save all
-------------------Change dir
Print
Printer setup
DOS shell
Exit
F3
F2
------
Alt+X
, ,
.
New
(, ')
Enter.
, NONAME00.PAS.
,
(, , ). ,
24 1.
, NONAME01.PAS.
.
, Alt,
, .
F6.
, . , .
Enter. :
1.2.
program First;
begin
write(', ');
writeln('!');
writeln(' ')
end.
Turbo Pascal ,
: .
.
. , !
(.1.1).
1.1. Turbo Pascal
Enter
Home
End
1.2. 25
Ctrl+Home
Ctrl+End
Insert (Ins)
Insert (Ins)
Delete (Del)
Backspace (Bs)
, , ,
Page Up (PgUp)
Page Dn (PgDn)
1. 1-
2. Delete
Ctrl+Y
26 1.
1.2.
Turbo Pascal
Ctrl+Delete
(Cut)
Shift+Delete
(Copy)
Ctrl+Insert
(Paste)
Shift+Insert
, .
(writeln).
19. begin end !
3.
File ( Alt+F).
File Save as.... (Turbo
Pascal Save File As.)
Tab ( ).
Save file as ,
, MY.PAS, Enter (
.pas ).
1.2. 27
F2 (Save).
MS
-
DOS
, MS-DOS.
8- , .
4.
Compile (Alt+C).
Compile Compile.
Enter.
,
Ctrl+F1.
Alt+F9.
5.
( Build)
.
Run (Alt+R).
Run Run,
Enter.
28 1.
Ctrl+F9.
, Run .
6.
Alt+F5
.
.
Turbo Pascal .
, .
7. Turbo Pascal
Alt+X.
Turbo
Pascal
Alt+X.
, , ,
. Turbo Pascal
File Exit. ,
Turbo Pascal
Windows , .
, , .
1.2. ,
:
Write
Writeln!
1.3.
, ,
. ,
?
1.3. 29
Turbo Pascal
. Crt (
, -
,
).
,
IBM- (
). (), ,
,
.
Crt
.
, Turbo Pascal . ,
, , .
25 80 (. 1.2).
2 x y,
x , y .
, 25, , 1-
80. (1,1), (80,1), (1,25).
C 16 ,
0 15. . ,
, , red Turbo Pascal
Ctrl+F1 .
1
1
25
80
(1,1)
(80,1)
(1,25)
y
. 1.2. CRT
30 1.
:
1.3. Crt
program Second;
{ Crt
.
( CRT),
.
uses.
.
";"}
uses Crt;
{ Crt - .
";" }
{ }
begin
TextBackGround (3);
{
.
"3"
- .
: black, red,
green, blue, magenta, cyan, }
ClrScr;
{ .
ClrScr,
- }
TextColor (14);
{
.
.
.
:
TextColor
,
!
,
}
1.3. 31
GoToXY (40,10);
{
X=40, Y=10 }
Writeln(' !!!');
{ 10 ,
40 }
Delay (1000)
end.
{
1000 }
{
Delay(1)
, 1/1000 .
}
{ }
1.3. , .
.
,
.
- (. 1.3).
, , . 1.
, , ,
.
, .
.
() 1.3.
1.4. ,
red, green, blue, yellow
( 4 , ):
32 1.
+-----------------+-------------------+
|
|
+
|
green
|
blue
+
|
|
+
+-----------------+-------------------+
|
|
+
|
yellow
|
red
+
|
|
+
+-----------------+-------------------+
1.5. , .
.
.
1.
A. Crt;
2. B. TextBackGround(red);
ClrScr;
3.
4.
D. GoToXY(78,1);
5. E. TextColor(red);
Happy New Year c
6. F. TextColor(12); Write
(Hello);
7.
G. GoToXY(1,23);
8. H. W r i t e l n ( H a p p y
Happy New Year Year);
New
J. TextBackGround(red);
11. Hello
K. ClrScr;
12. Hello 12
L. GotoXY(35,12); Write
(Hello);
: 1K, 2G, 3J, 4B, 5H, 6D, 7E, 8C, 9A, 10I, 11L,
12F.
1.3. 33
. 1.3.
34 1.
, , , Trubo Pascal.
Turbo Pascal.
1.
. ,
.
2.
.
Begin End. Begin End
.
3. write
writeln.
4. Turbo-
. uses.
5. Crt.
(ClrScr),
(GotoXY), (TextColor) (TextBack
Ground).
1. ?
2. ?
3. Turbo Pascal? Turbo Pascal?
Turbo Pascal?
4. write writeln?
?
35
5. ,
?
?
6. ?
7. ?
.
8. ?
?
9. ?
, .
, (
). :
.
.
2.1. :
, , - . , , .
(), ,
(.2.1). .
A
C
Sum
00153
00154
00155
00156
00158
15
8
7
. 2.1.
38 2.
.
, , , ,
.
(), ,
. . , ,
. , , , ,
, . - ,
. ,
.
!
() ,
,
(). ,
. Turbo Pascal7.1
63.
Integer. .
. .
Integer.
!
2.1.
Program Product;
{ .
var ( variable ) }
var
A,B,C: integer;
{ ;
2.1. : 39
:
integer }
Begin
{ }
A:=5;
{ .
,
() A
5.
A=5 !!! }
writeln(A);
{
A.
A ! }
writeln('A');
{ A }
A:=A+1;
{ A ,
,
1 }
B:=7;
C:=A*B;
{ * }
writeln('Product=',C)
end.
{ C
}
{ }
:
5
A
Product=42
!
. .
. .
,
.
40 2.
,
:=.
Integer
, .
2.2.
Program Action;
var
A,B,C: integer;
begin
A:=17;
B:=3;
{ : }
C:=A*B;
writeln('17 * 3=',C);
{ : }
C:=A div B; writeln('17 div 3=',C);
{ : }
C:=A mod B; writeln('17 mod 3=',C);
{ : }
C:=A+B;
writeln('17 + 3=',C);
{ : }
C:=A-B;
writeln('17 - 3=',C)
end.
:
17
17
17
17
17
* 3=51
div 3=5
mod 3=2
+ 3=20
3=14
2.1. : 41
div mod.
2- (.2.2).
. 2.2.
: ,
! ,
( , ) (
, ). , ,
. mod. , ,
. div.
, 2- :
5
6
40
3
div
div
div
div
2=2;
2=3;
6=5;
5=0;
5
6
40
3
mod
mod
mod
mod
2=1;
2=0;
6=4;
5=3.
div mod
, ( ). . ,
, :
(10) div 3=3; (10) mod 3=1;
(3) div 5=0; (3) mod 5=3.
2.1. 3 A, B, C.
.
(.2.3).
.
2.2. ( ). .
42 2.
. 2.3. - 2.1
Integer
.
.
2.3.
Program Infunct;
var
A,B,C: integer;
begin
A:=-2;
2.1. : 43
{ Abs (X)
X, X }
B:=Abs(A); writeln('Abs(-2)=',B);
{ Sqr (X) X }
C:=Sqr(B); writeln('Sqr(B)=',C);
C:=Sqr(B+B); writeln('Sqr(B+B)=',C)
end.
:
Abs(2)=2
Sqr(B)=4
Sqr(B+B)=16
2.3. |3954842|.
2.4. A B ( , , :=20; :=13).
.
! :=, 20
13!
(.2.4).
. 2.4.
.
2.5. 4
. .
. , -
44 2.
: 0 1, .
(
). , , (. .2.1).
8, 1.
8.
integer
2=16.
, , .
:
0 ;
1 .
15
(.2.5).
. 2.5. ()
integer
15 215 .
15 , 15
. , (2151)
. (+)
, integer
215+2151, 32768 +32767.
integer
(.2.1).
2.6.,
,
:
)x5;
)x6;
)x8;
)x9;
)x10.
2.2. 45
2.1. Turbo Pascal
()
byte
0 281
0255
word
0 2 1
065535
2 2 1
128127
integer
2 2 1 32768 32767
longint
shortint
16
15
15
2.2.
, , ?
(real)
.
real .
2.4. real
Program Optel;
var
A,B,C: real;
begin
A:=3.5;
B:=7.6;
C:=A+B;
writeln('=',C)
end.
:
=1.1100000000E+01
46 2.
2.4
, .
:
1. .
:
0,7 0.7 .7
2,1 2.1
2. : ,
, 10
.
:
2700=2,7103. 10 E,
: 2.7E3;
0,002=2103 2E3.
2.5.
program Operation;
var
A,B,C: real;
begin
A:=17.3;
B:=3.4;
C:=A*B; writeln('A*B=',C);
{ / }
C:=A/B; writeln('A/B=',C);
C:=A+B; writeln('A+B=',C);
C:=A-B; writeln('A-B=',C)
end.
:
A*B= 5.8820000000E+01
A/B= 5.0882352941E+00
2.2. 47
A+B= 2.0700000000E+01
A-B= 1.3900000000E+01
,
. / .
2.7. :
7.478937 - 89.2456
# 76.2833 .
883.5995 + 618.332
real
2.6.
Program AllFunc;
var
A,B: real;
begin
A:=2.0;
B:=Sqr(A); writeln('Sqr(2.0)=',B);
B:=Abs(-A); writeln('Abs(-2.0)=',B);
B:=Sqrt (A);
{ }
writeln('Sqrt(2)=',B);
B:=Sin (A);
{ }
{
, .
"B" 6 .
3
}
writeln('Sin(2)=',B:6:3);
B:=Cos (A);
{ }
writeln('Cos(2)=',B:6:3);
B:=Arctan (A);
{ }
writeln('Arctan(2)=',B);
B:=Ln (A);
{ }
48 2.
writeln('Ln(2)=',B);
B:=Exp (A);
{ e A }
writeln('Exp(2)=',B);
B:=Pi;
{ }
writeln('Pi=',B)
end.
:
Sqr(2.0)= 4.0000000000E+00
Abs(2.0)= 2.0000000000E+00
Sqrt(2)= 1.4142135624E+00
Sin(2)= 0.909
Cos(2)=0.416
Arctan(2)= 1.1071487178E+00
Ln(2)= 6.9314718056E01
Exp(2)= 7.3890560989E+00
Pi= 3.1415926536E+00
, , , .
,
! ,
! : (,
, ), .
, . :
tg x =
sin x
,
cos x
ctg x =
cos x
,
sin x
log y x =
ln x
,
ln y
x y = e y ln x .
, (2 x + 3)1+ cos x ,
:
exp( (1+cos(x)) * ln(2*x+3) )
2.2. 49
,
.
x +1
,
, x+1/2x,
2x
. -, ,
, ,
: (x+1). -, ,
2x. ,
. ,
: (x+1)/2*x.
. ,
. ,
,
x.
(x+1)/(2*x), , , : (x+1)/2/x.
, . :
2 , 2,
x!
!
.
( Pi, ),
. ,
,
. , sin2x sin(2*x).
2.8. . .
(.2.6.).
.
2.9. :
3, 15
2
m + 53, 7 .
arctg c sin
6, 1
50 2.
A, B, C
. 2.6. 2.8
. : , , (
,
). , , :
, ,
, (.2.7)
. 2.7. ()
real
8 , , . .
.
2.3. 51
2.2. Turbo Pascal
()
(single)
1045 1038
7 8
(real)
10
(double)
10
(extended)
10
10
39
10
324
38
10
4932
308
10
4932
11 12
15 16
19 20
2.3.
. ?
2.7.
Program Mix;
var
N,K: integer;
A,B: real;
begin
N:=4;
A:=3.6;
B:=N;
{ real
}
writeln('B=',B);
{ integer
! -
real integer,
52 2.
, .
: }
N:=Trunc(A);
{ Trunc(X)
X,
, }
writeln('Trunc(3.6)=',N);
{ Round(X)
}
K:=Round(A);
writeln('Round(3.6)=',K)
end.
:
B:= 4.0000000000E+00
Trunc(3.6)=3
Round(3.6)=4
:
integer 2, real
6. , integer real ( ,
). real integer
. - ,
, . 2: trunc round.
integer.
, ?
?
1. , ,
.
2.
.
3. . .
2.3. 53
4. .
5. .
.
2.3. integer real
/
1-
2-
+, , *
Integer
Integer
Integer
Integer
Real
Real
Real
Integer
Real
Real
Real
Real
Real
/
Div, mod
Abs, Sqr
Integer
Integer
Integer
Integer
Real
Real
Real
Trunc, Round
Integer
. /
6 .
1. +, * .
real,
real. , real
, integer .
, , . ,
,
.
(real).
54 2.
2.
.
3.
. .
4. Abs Sqr .
.
, .
5. Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi
. (
. .
. ,
.)
6. Trunc Round . ,
.
.
,
,
, .
2.10. :
Abs(12 mod 7*4/2-350 div 15)+2
(.2.4).
2.4. 2.8
12 mod 7
.
Abs. -,
-.
mod div . ,
* /. .
.
mod, *, /
2.3. 55
(12 mod 7) * 4
350 div 15
Abs()
Abs() + 2
-.
div
,
(.2.8). , .
4
. 2.8. 2.10
(.2.5).
2.5.
2.10
12 mod 7
5
Integer
12 7 5.
mod
5 * 4
20
Integer
56 2.
2.5 ()
20 / 2
10.0
Real
350 div 15 23
Integer
.
div
10.0 - 23
. ,
. ,
Real
Abs(-13.0) 13.0
Real
Abs -
13.0 + 2
, 5- .
-13.0
Real
15.0
Real
. 20
2, .0 , ,
.
,
,
: 15.0. Real
2.11. X.
:
X;
X, ;
X .
2.4.
, -
2.4. 57
. ,
, .
2.8. N
program Inp;
uses Crt;
var
N: integer;
begin
ClrScr;
write(' :');
readln(N);
{
.
,
153,
Enter}
{ .
Enter.
.
,
Alt+F5
}
end.
: (), ,
.
(.2.9).
58 2.
. 2.9. 2.9
2.4. 59
2.9.
program Inp_Color;
uses
Crt;
{ Crt }
var
{ ,
Cl1 Cl2 }
Cl1,Cl2: 0..15;
{ 0..15
.
0 15.
()
integer.
}
X,Y: integer;
{ }
begin
{ 1: }
ClrScr;
{ Window(X1,Y1,X2,Y2)
Crt,
. (X1,Y1)
, (X2,Y2) }
Window(20,5,60,20);
{ 2: }
write(' :');
readln(Cl1);
{
Cl1.
Enter }
{ 3: }
write(' :');
60 2.
readln(Cl2);
{
Cl2.
Enter }
{ 4: }
TextBackGround(Cl1);
{ }
{ 5: }
TextColor(Cl2); { }
{ 6: }
writeln(' X Y');
readln(X,Y);
{
.
()
Enter.
,
.
16 41 }
{ 7: }
ClrScr;
{
,
}
{ 8: }
GoToXY(X,Y);{
X,Y }
{ 9: }
writeln(' !');
readln
end.
{ "" readln
.
Turbo Pascal
Enter }
2.4. 61
,
.
.
Random(X).
, :
Randomize;
{
}
Cl1:=Random(16);{ Cl1
0..15.
Random(N)
0..N-1 }
. Random .
, , ,
. , ,
.
randomize,
. randomize
.
.
Random.
,
10 99. : 90 ( ). ,
Random,
90, Random(90). 0..89, 10..99! , 10. +10.
: Random(90)+10.
62 2.
2.12. ,
.
.
.
2.13. ,
( ). ,
.
!
: TextBackGround(),
ClrScr.
2.5.
?
,
.
.
:
2.10.
Program Piza;
var
G,V,H: real;
begin
G:=9.8; {
}
write(' :');
readln(H); V:=Sqrt(2*G*H);
writeln(' ':20,V:7:3);
{ 20 }
readln
end.
2.5. ? 63
G, , ,
. : , , , .
, G , , (.
). ,
,
.
.
2.11.
Program Piza2;
const
G=9.8;
{ .
var }
{ ,
.
-
real }
. , , , .
(, , :
! , .)
64 2.
-,
. 8.
2.14. .
.
1. , , .
.
, .
2. , ,
const var.
3. integer,
real.
4. .
integer, div mod.
5. real integer trunc round.
6. , .
7.
.
1. , ?
2. , ?
3. ?
?
4. , ,
?
5. mod, div /?
65
6. trunc round? ?
7.
integer? ,
, 10 ?
8. 2,5 16,7?
9. 1E5, 3E-4, .2E7?
10. , ?
11.
trunc(sqrt(2+52 div 8))-sqr(15 mod 4/3)?
,
. , , . ,
.
.
3.1.
,
. Char.
.
.
ASCII
,
ASCII ( ).
, , , . . 8,
1. 28=256 . ASCII
256 : 00000000,
11111111 (255 ).
683.
3.1. ASCII ( )
48
00110000
65
01000001
49
00110001
66
01000010
50
00110010
67
01000011
57
00111001
89
01011001
90
01011010
Char
3.1.
Char
Program Letter1;
var
N: Integer;
X: Char;
begin
X:='L';
{ X
'L' }
writeln(X);
N:=Ord (X); { Ord ,
X,
'L' }
writeln(N);
X:='A';
writeln(X);
X:=Chr (N); { Chr
. X
'L'
N }
writeln(X);
readln
end.
3.1. 69
:
L
76
A
L
3.2.
Program Letter2;
var
X,Y:Char;
begin
writeln(' :');
readln(X);
writeln(X);
writeln(' :');
readln(X,Y);
writeln(X,Y);
readln
end.
,
(, ABC) Enter.
:
A
CAT.
:
CA
Char
. . , ,
.
:
const Leto='X';
703.
3.2. Char !
:
'0'<'1'< '2'< '3'< ...< '9'<... 'A'< 'B'< 'C'< ...< 'X' < 'Y' <
'Z'... ( ).
, Char
.
. Char . Integer
.
3.3. ,
Program Letter3;
var
X1,X2,X3,X4: Char;
begin
X1:='L';
writeln(X1);
X2:=Pred (X1); { Pred
X1 }
writeln('Pred=',X2);
X3:=Succ (X1); { Succ
X1 }
writeln('Succ=',X3);
readln
end.
:
L
Pred=K
Succ=M
3.1. 4-
. 4
3:
71
;
;
.
:
, ,
.
, .
:
FINISHED
OR
PENDING?
DONE.
3.2., ()
.
32 (
). ord('A')=65, ord('A')+32=97, a, chr(ord('A')+32)='a'. , ( !),
, ,
.
- . ,
, .
1. .
2.
ASCII.
3. .
4.
ord chr.
5. Char .
723.
6. .
7. ASCII
.
8. succ pred.
1.
ASCII?
2. ? 15?
3. ?
?
4. F? 87?
5. 3 (a,b,c:char;).
readln (b,a,c ); .
?
6.
c:=succ(pred(succ(D)))?
7. i
i:=pred(ord(F)-2)?
, .
, . ,
. ,
, .
. , . ,
, , ! ,
.
4.1.
!
, .
. , .
, ( ) ( )
:
, ;
, .
, 4>3 , 2>3 .
(
). ,
,
.
4.1. ! 75
(Boolean)
Boolean .
.
4.1.
Program Bool1;
var X: integer;
Bol:Boolean;
begin
X:=4;
Bol:=X > 3;
{ }
writeln(Bol);
Bol:=X < 3;
{ }
writeln(Bol);
readln
end.
:
TRUE
FALSE
TRUE FALSE? :
TRUE , FALSE .
.
(.4.1).
4.1.
Turbo Pascal
<
<=
>
>=
<>
764.
-
, .
,
.
4.2.
program BooleanInput;
var eat:boolean;
ch:char;
begin
write(' [y/n]?:');
readln(ch);
eat:= ch = 'y';
writeln(' :',eat);
readln
end.
4.2. ()
, . , ,
. ,
. .
()
.
.
:
x<7x>3
(and).
, , ,
, .
, . and.
4.2. () 77
4.2.
True
and
True
True
True
and
False
False
False
and
True
False
False
and
False
False
()
:
x > 100 x < 10
(or).
, ,
(false), . (true).
, . or.
4.3.
1
True
Or
True
True
True
Or
False
True
False
Or
True
True
False
Or
False
False
( 2)
:
x > 5, x < 0
-.
,
.
: (true), .
.
xor.
784.
4.4.
1
True
Xor
True
False
True
Xor
False
True
False
Xor
True
True
False
Xor
False
False
?
true 1 ( ), false 0 ( ).
2 (mod 2). 2. ,
.
()
:
(x > 100)
.
. (true ),
(false). ,
(false), (true).
,
. not.
4.5.
not
True
False
False
True
4.3.
Program Bool_1;
var X: Integer;
Bol, OnBol, Rez: Boolean;
Begin
X:=4;
Bol:=X>3;
4.2. () 79
OnBol:=X<3;
writeln('Bol=',Bol);
writeln('OnBol=',OnBol);
Rez:=Bol and OnBol;
writeln('Bol and OnBol=',Rez);
Rez:=Bol or OnBol;
writeln('Bol or OnBol=',Rez);
Rez:=not Bol;
writeln('not Bol=',Rez);
readln
end.
:
Bol=TRUE
OnBol=FALSE
Bol and OnBol=FALSE
Bol or OnBol=TRUE
not Bol=FALSE
4.4.
Program Bol_2;
{ ,
.
, ,
}
var
Price:Boolean;
{
}
Kurs1:Boolean;
{ ,
}
Rezult:Boolean;
{ }
begin
Price:=True;
Kurs1:=True;
{
}
{ - }
804.
Price:=False;
{
}
Rezult:=Price and Kurs1;
writeln(' - ? - ',
Rezult);
readln
end.
:
- ? - TRUE
- ? - FALSE
4.1. 4 , :
Married , ();
Blond , ;
Male , ;
Employed , .
,
, :
1) ;
2) ;
3) ;
4) ;
5) , , .
, , ,
(.4.6). .
4.6.
1 ( )
not
and
3 ( )
or, xor
81
xor or , ,
, .
!
! ,
. ,
. , 2 x 4
(2<=x) and (x<=4).
1. , , .
2. , Boolean.
3. : true
() false ().
4. : >, <, >=, <=, =, <>.
5.
(and, or, xor, not),
.
6. .
1. ?
2.
? ?
3. ?
4.
[3,5]?
5. true or false and false?
6. (x<0) or (x+2)>3?
7. true xor false xor true?
,
, , , , ,
.
, . , .
5.1.
.
.
:
>3, .
-
(.5.1):
()
X>3
()
. 5.1.- , ,
845.
if.
if
if :
if <> then <>
:
if X > 3 then writeln(X);
,
boolean.
.
:
>=3, , '<3'.
1.
: if ... then ... else ....
: if <> then <-> else
<->. (. - .5.2).
. 5.2.- , ,
, X<3
(.5.3).
5.1. 85
. 5.3. If
(S1, S2, S3 .)
!
else !
, if
, if. .5.3. S3 ,
.
(.5.4).
5.1.
program Diskr;
var
A,B,C,D: real;
begin
write(' A,B,C:');
readln(A,B,C);
D:=SQR(B)-4*A*C;
if D >= 0 then
if D > 0 then
writeln(' ')
865.
else
writeln(' ')
else
writeln(' ');
readln
end.
if.
. 5.4.- ,
!
if else
if, else.
, ,
( 23 )
. , ,
var, -
5.1. 87
begin end. .
, .
,
.
. , ,
, var,
var,
begin end, ,
if, if else.
begin end ,
. ,
begin end , , , .
begin end, -
begin/end.
: ,
.
5.1. -
,
:
, ;
, .
5.2. -
,
. 2.
885.
5.2.
if ... then ,
then
. (, if
x<>0 then y:=1/x; x:=0;),
, .
( ), ,
begin end.
:
if X > 3 then begin S1; S2; S3; S4 end;
S1S4 .
(begin S1; S2; S3; S4 end) , . ,
.
5.2.
Program Quad;
var
A,B,C: real;{ }
D: real;
{ }
X1,X2: real;{ }
begin
writeln(' A, B, C:');
readln(A,B,C);
D:=Sqr(B) - 4*A*C;
if D < 0 then
writeln(' ')
else
if D=0 then
writeln(' ',
-B/(2*A):6:2)
else
{ }
begin
X1:=(-B + Sqrt(D))/(2*A);
X2:=(-B - Sqrt(D))/(2*A);
writeln(' :',
5.2. 89
X1:6:2, X2:6:2)
end;
readln
end.
5.3. -
,
Kd Cl. . , Kd=0,
Cl, Kd=1, Cl+16.
,
15.
Turbo Pascal
16.
.
: A, B, C ,
. - .5.5.
. 5.5.- , ,
905.
5.3. ,
Program Mx;
var
A,B,C: integer;
begin
writeln('
readln(A,B,C);
if (A = B) and (A
writeln('
else
writeln('
readln
end.
3 :');
= C) then
')
');
5.4. A, B, C . - .
5.5. ,
, (,
, 6666 3223). -
.
: div mod.
5.6. A, B, C.
, K
.
5.7. X ,
(.5.6), Y. - (.5.7).
5.8. (88)
. (X, Y) (M,N). ,
. , .
5.9. . 7, (red) , (green) .
- (.5.8).
5.10. A, B, C
(, , ).
- .
5.2. 91
. 5.6. - 5.7
. 5.7. - -
, .5.6
925.
. 5.8. - ,
, 7,
5.3.
( case)
if
() .
if, .
5.4.
(0..4)
Program Digit1;
var
Num: integer;
begin
write(' :');
readln(Num);
if Num = 0 then
writeln(');
5.3. ( case) 93
if Num = 1 then
writeln(');
if Num = 2 then
writeln( );
if Num = 3 then
writeln( );
if Num = 4 then
writeln(');
readln
end.
,
case ... of.
:
Case < > of
<1>:<1>;
<N>:<N>
else <>
end
5.5. case ... of
Program Digit2;
var Num: integer;
begin
write( :);
readln(Num);
case Num of
0: writeln(');
1: writeln(');
2: writeln( );
3: writeln( );
4: writeln(')
else writeln( ')
end;
readln
end.
-
(.5.9).
Num case. .
945.
(
real)!
. 5.9.- ,
( 4)
5.3. ( case) 95
5.6.
Program Digit3;
var
Num:integer;
begin
write(' :');
readln(Num);
case Num of
1,2,3 : writeln( );
4,5,6 : writeln( );
7..9 : writeln( ); { 7..9
7 9;
,
7,8,9 }
10..12: writeln( )
else writeln( ')
end;
readln
end.
,
begin ... end.
5.11. ,
Char . , :
0 9;
;
.
case . ,
: 'A'..'Z'.
,
: 'A'..'Z','a'..'z'.
965.
1. , . ( ).
2. , ,
.
3. if.
.
4. if (
then), ( else).
5. if else .
6.
,
begin ... end.
7. then else .
8. ,
,
, case.
9. case end.
,
begin end.
10. , ()
, . .
1. ?
2. ? ?
3. ?
97
4. , ?
5. , ?
6. , ,
?
7. ,
,
?
8. begin
end?
. .
.
,
, ()
, . .
.
6.1. for
for.
. for . for
. :
for < >:=< > to
< > do <>
:
for < >:=< > downto
< > do <>
1006.
for
6.1. 1 10
Program Test1;
var N: integer;
begin
for N:=1 to 10 do
writeln(sqr(N));
{ N
1 10 1 }
{ .
10 }
readln
end.
6.1. N .
(
real). for
. 1!
N=1, N =2
.. N=10.
N
. N 1. -
.6.1.
N = 1,10
. 6.1.- 6.1
N ,
. ,
(
). , -
6.2. 101
, -
- .
, . (
).
for
1. for (for downto do).
6.2. 11 5
Program Test2;
var
N: integer;
begin
for N:=11 downto 5 do
write(N*N*N:5);
writeln;
{ N
-1 }
{ ;
8 ,
N
11 5 -1 }
{ ,
}
readln
end.
6.2.
.
,
- ( ).
,
.
1026.
:
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
- .6.2.
. 6.2.- ,
6.2
6.3.
Program Test3
var
K,M: integer;
begin
for K:=1 to 3 do
for M:=1 to 4 do
6.2. 103
writeln(K,' ',M); {
K M ,
}
readln
end.
K M
1 4. , writeln
12.
6.1. 6 .
6.2. 5
9 4.
6.3. ASCII 0 255
. .
.
6.4. 6 10
Program Test4;
var
N: integer;
S: integer;
begin
S:=0;
{ for }
{
}
{ }
for N:=6 to 10 do
S:=S + N;
{ .
S N.
S
,
}
1046.
writeln(' =', S:6);
readln
end.
- . 6.3.
. 6.3.- 6 10
.
. (.6.1).
6.1. 6.4
for N:= 6 to 10 do
0+6=6
13
6 + 7 = 13
21
13 + 8 = 21
S:= S + N
For N:= 6 to 10 do
6
7
S:= S + N
For N:= 6 to 10 do
S:= S + N
For N:= 6 to 10 do
S:=0
6.2. 105
S:= S + N
For N:= 6 to 10 do
30
21 + 9 = 30
40
30 + 10 = 40
10
S:= S + N
For N:= 6 to 10 do
11
???
= 40
40.
, (if, for ..)
. for .
??? ,
.
,
, .
, ,
.
:
1
1
1
1
1
.
+
+
+
+
1#1 2#2 3#3 4#4 5#5
, 1 5.
, :
1
1 1
= # .
3#3 3 3
:
1
1
1
N#N = N # N .
1066.
- .6.4.
. 6.4.-
6.5.
Program Test5;
var
N: integer;
{ for }
S: real;
{
.
real,
}
A: real;
{ 1/N
( ) }
begin
S:=0;
{ }
for N:=1 to 5 do
begin
A:=1 / N
{ .
,
begin ... end }
6.2. 107
S:=S + A*A;
end;
writeln(' =', S:6:4);
readln
end.
6.4. n! (
n), n .
:
0!=1
1!=1
2!=12
3!=123
........
n!=123....(n1)n
, n! n
.
( P)
( P)
, 1 n. k. : P=Pk
(
: n!=(n1)!n).
: n (n ),
n .
6.5.
S=1+2+3+4+5+6. -
. , 21.
6.2.
6.5
K ()
1086.
6.6.
n (n ):
1
1
1
1
+
+
+
+g
1#2#3 2#3#4 3#4#5 4#5#6
6.7. Crt
, , 16
.
: ,
( 015).
6.8. Crt,
, (*)
.
: 4. X Y. - .
, :
, .
.
6.9. 1000 .
! - .
1.
for.
2. .
3. +1,
109
4. 1,
5. , for,
( ) 1.
6. .
7. for for, , ,
.
8.
, , . .
1. ,
?
2. to downto for?
3.
for?
4. :
for i:=2 to 6 do
for j:=5 downto 3 do
writeln('*');
5. , . , .
, ?
6. N
. ,
N .
for, , ,
( , , , ).
. ,
, .
.
: .
7.1.
.
.
.
, (true),
. ,
.
- (.7.1).
1127.
. 7.1.-
:
While < > do <-_>
for if
do .
,
begin end.
!
, (
begin, end).
then, else,
do, !
, :
1+
x x2 x3
+
+
+
1! 2! 3!
e.
7.1. 113
,
e (),
, ,
e. ,
.
.
xi-1/(i1)!, xi/i! x/i.
- .7.2.
. 7.2.-
(7.1)
1147.
7.1.
Program Summer2;
var
Eps:real;
{ "" }
X: real;
{ }
S: real;
{
}
Y: real;
{ }
i: integer; { }
begin
write(' X Epsilon:');
readln(X, Eps);
Y:=1;
{ }
S:=Y;
{ }
i:=0;
{ }
while abs(Y)>=Eps do {
"",
.
""
1,
! }
begin
inc(i);
{ }
{ }
Y:=Y*X/i; { }
S:=S+Y
end;
{ }
{ .
while
""
}
7.1. 115
{ }
writeln(' =', S:6:4);
readln
end.
7.1. :
1
1
1
1
2 + 2 + 2 + 2 +f
1
3
5
7
, 7.1.
/.
: a, ,
n.
n+1 .
, 2 3 (23):
0 : 20=1
1 : 21=202(12)
2 : 22=212(22)
3 : 23=222 (42)
7.2. a, , n
Program Stp;
var P: real;
{ ,
}
N: integer;
{ }
i: integer;
{ }
A: real;
{ }
begin
write(' :');
readln(A);
write(' :');
readln(N);
i:=0;
{ 0- }
1167.
P:=1;
{ 20=1 }
while i<abs(N) do
begin
inc(i);
P:=P*A
{
,
.
N=0,
,
0- }
{ i 1,
i
}
{ i- ,
A^i }
end;
{ P
N }
if N<0 then { N , }
P:=1/P;
{
}
writeln('=',P:6:3);
readln
end.
7.2.
, N!.
7.3. (
6.8), .
(2-) 3- ( ) 75-
.7.3. -.
!
:
x x 1 !
.
7.1. 117
7.4. 7.3 ,
3.
7.5.
. -
(.7.4).
:x , y,
.
. 7.3.-
2-
3- 75-
. 7.4.
1187.
- (.7.5),
.
7.7. (, A=5 B=8) , .
- (.7.6).
. 7.5. -
2
. 7.6.
7.2. 119
: k , , B
A.
. 7.7. -
7.2.
.
.
.
, (false),
. ,
.
1207.
- (.7.8).
(true)
(false)
. 7.8.-
,
. , . ,
while , repeat
until .
:
repeat
< >
{ begin ... end ! }
until < >
repeat while
, .
. -
.7.9.
7.3. repeat
Program Summer1;
var
sum, a: real;
begin
sum:=0;
{ sum ,
a }
{ }
7.2. 121
a:=0;
{
(. ) }
repeat
sum:=sum+a; { }
write( :); { }
readln(a)
until a<0;
{
}
{ : }
writeln( =, sum:5:3);
readln
end.
. 7.9.-
repeat until ,
,
1227.
. , .
, .
,
.
-, (.7.10):
. 7.10.-
-
. . 7.3 , S:=S+A
. S:=S+A
A, , . A,
? A ! A , .
: repeat ,
while?
,
, :
7.2. 123
7.4. while
var
sum, a: real;
begin
sum:=0;
write( :);
{ }
{ }
readln(a);
{
A
,
}
while a>=0 do
{
}
begin
sum:=sum+a;
{ }
write( :); { }
readln(a)
end;
{ : }
writeln(' =', sum:5:3);
readln
end.
A A
. while
.
while repeat
,
. , ,
while :
1247.
7.5. while
var
sum, a: real;
begin
sum:=0;
a:=1;
while a>=0 do
{ }
{ ,
7.3
,
while }
{
}
begin
write( :); { }
readln(a);
sum:=sum+a
{ }
end;
writeln( =, sum:5:3);
readln
end.
, .
.
. , , ,
?
!
, ,
.
7.9. , , .
,
10 +10. .
7.2. 125
:
.
7.10. ,
.
7.11. -:
0...100.
10. .
, , ,
.
: 10,
.
:
1.
k,
.
2.
flag,
False. ,
True.
3. , k 10
True ( or).
4. ,
10 .
flag
( ).
- (.7.11).
7.12. (, A =5 B =8)
, . - , .
7.13. (, A=45 B=8)
( k)
1267.
( A),
. - ,
.
. 7.11. - -
(.7.11)
7.14. -
N (.7.12). ,
k
( 4).
7.2. 127
7.1. ,
.7.12 (7.14)
1024
. 7.12.-
N
N.
7.15. -
N
(.7.13). , S (
14).
1287.
7.1. ,
.7.13 (7.15)
4235
. 7.13.-
N
N.
repeatuntil KeyPressed.
KeyPressed
(
Crt
), ,, -
129
. False.
, True. , repeat until
KeyPressed , -
.
, .
, KeyPressed.
1.
:
while < > do <>
2. while ,
false.
3. (while) .
4. :
repeat
< >
until < >
5. repeat ,
true.
6. (repeat) .
7. re
peatuntil (beginend) ,
repeatuntil .
1.
for, ?
2. while
repeat until?
1307.
3. ? (
.)
var
k,x,i: integer;
begin
{ 1 }
k:=256;
while k<>1 do
begin
write(k:4);
k:=k div 2
end;
{ 2 }
k:=5;
repeat
writeln(k);
k:=k+5
until k>30;
{ 3 }
for i:=1 to 5 do
writeln(i*5);
{ 4 }
for i:=8 downto 4 do
write(i:3);
{ 5 }
for x:=1 to 79 do
begin
gotoxy(x,8);
write('*');
gotoxy(x,15);
write('*')
end;
end.
, .
.
.
(
).
. ?
:
. ,
, . ,
.
8.1.
,
.
. ,
.
.
.
( ) .
(.8.1).
8.1. 133
10
8 14 25 12 10
. 8.1.
A , .
A[3]=8. :
A ;
3 ();
A [3] 3- ;
8 3- .
:
;
;
;
;
;
;
.
< >: array [< >] of < >;
,
1 10, ( ) .
1348.
, .
- .8.2.
. 8.2.-
8.1.
Program Massiv1;
uses Crt;
const
{ ,
,
}
N=10;
{
( var) }
var
A: array [1..N] of integer; { 1..N .
,
8.1. 135
1 N,
N
const }
i:integer;
{ ,
, }
begin
{ II.
}
Randomize; { }
{ : }
for i:=1 to N do
A[i]:=Random(100);
{ i
1 N,
}
{
A[i]
0 99.
: i
(
""), A[i] }
{ III. }
ClrScr;
writeln(' :');
for i:=1 to N do
write(A[i]:4);
{
4
,
! }
writeln;
readln
end.
{ ""
}
1368.
0 99. random(100).
, ? : random(N)
N 0 N 1. ,
K, ,
K random(N). , random(N) + K,
.
, , 100..+100. , : 100, 100 .
201. : 1. , N =201, K=100.
random(201)-100.
,
.
, Turbo Pascal. ,
Turbo Pascal random.
word. , . 100
, 100, , Turbo
Pascal . (random) ,
-100 + random(201). Turbo Pascal
integer (100), .
8.1. , .
begin end.
8.2. 8.1
( ).
.
!
.
, ,
8.1. 137
, - . ,
, .
(for, while
repeat) , .
(type). -
( 8.1). ,
,
.
8.2.
Program Massiv2;
const
N=10;
type
{ .
,
n }
{ Line ,
Mas }
i:integer; { ,
, }
begin
{ IV. }
for i:=1 to N do
{
, }
1388.
begin
{ }
write(' ',i,':');
readln(Line[i]) { i-
(Line[1],Line[2] ..) }
end;
{ }
{ :}
for i:=1 to N do
{ N
}
write(-Line[i]:5);
writeln;
{ 10
.
}
{
}
readln
end.
, ,
.
.
,
:
For i:=1 to N do
Line[i]:=-Line[i];
: , ,
, .
. ,
.
, - ,
,
.
,
.
8.1. 139
, , . !
8.3. :
1) A 10 (
);
2) ;
3) (-
.8.3);
4) .
. 8.3. -
8.4. :
1) A 10 ;
2) ;
3) (-
.8.4) :
1- 2-;
3- 4-;
5- 6-;
7- 8-;
9- 10-
( ,
(.2.4));
1408.
4) .
. 8.4.-
- . , . ,
.
8.3.
(. - .8.5)
Program Maximum;
const
N=10;
type
Mas=array [1..N] of integer;
var
:Mas;
i
:integer;
Max :integer;
{ }
{
}
8.1. 141
Imax:integer;
{
}
begin
{ }
{
}
Randomize;
for i := 1 to N do
begin
[i]:=-50+Random(101);
write(A[i]:5)
end;
writeln;
{ V.
}
Imax:=1;
{ ,
}
Max:=[1]; {
Imax Max }
for i := 2 to N do
{
( ) }
Imax:=i
{ ...
}
{
Max Imax }
1428.
end;
writeln(' =',Max:5);
writeln(' =',Imax:5);
readln
end.
, .
, .
. 8.5.-
, Max. , ,
Imax. , ,
Imax,
(A[Imax]).
8.1. 143
, :
8.4. , ,
Program Maximum2;
const
N=10;
type
Mas=array [1..N] of integer;
var
:Mas;
i, imax
:integer;
begin
Randomize;
for i := 1 to N do
begin
[i]:=-50+Random(101);
write(A[i]:5)
end;
writeln;
{ V. }
imax:=1;
for i := 2 to N do
if A[imax] < [i] then
imax:=i;
writeln(' =',A[imax]:5);
writeln(' =',imax:5);
readln
end.
8.5.
(-
.8.6).
8.6. 10
. , , . ( , 0 , [i]:=0.)
.
1448.
. 8.6.-
8.7. 10 . , ,
.
, - . ,
: ( for ) -
8.1. 145
( if).
, (S:=S+A[i]).
8.5.
program PositivSumm;
const
N=10;
type
Mas=array [1..N] of integer;
var a:Mas;
i:integer;
{ }
S:integer;
{
}
begin
{
-100..+100 }
randomize;
for i:=1 to N do
begin
a[i]:=-100+random(201);
write(a[i]:5)
end;
writeln;
{ }
S:=0;
{ S .
.
,
.
}
for i:=1 to N do { }
if A[i]>0 then
S:=S+A[i];
{
}
{ ,
}
1468.
{ : }
writeln(' =',S);
readln
end.
, :
.
: ,
, ,
(k:=k+1).
8.6. ( .8.7)
program EvenCount;
const
N=10;
type
Mas=array [1..N] of integer;
var a:Mas;
i:integer;
{ }
K:integer;
{
}
begin
{
+10..+100 }
randomize;
for i:=1 to N do
begin
a[i]:=+10+random(91);
write(a[i]:5)
end;
writeln;
{ }
K:=0;
{ K .
,
:
,
,
,
K .
8.1. 147
,
.
}
for i:=1 to N do
{ }
. 8.7.-
1488.
8.2.
,
, .
, .
: ,
.
:
.
. ? ,
? ?
.
.
8.7.
program Search1;
const N=10;
type
mas=array [1..N] of integer;
var a:mas;
i:integer;
fl:boolean;
{
}
begin
{ }
randomize;
for i:=1 to N do
begin
a[i]:=-2+random(20);
write(a[i]:4)
end;
writeln;
{ }
{
}
8.2. 149
fl:=false;
{ = false,
}
for i:=1 to N do
if a[i]<0 then {
}
fl:=true;
{ ,
"" }
if fl then
{ }
writeln(' ')
else
writeln(' ');
{ }
readln
end.
, .
, . ,
.
8.8.
program Search2;
const N=10;
type
mas=array [1..N] of integer;
var a:mas;
i:integer;
fl:integer; { ,
}
begin
{ }
randomize;
for i:=1 to N do
begin
1508.
a[i]:=-2+random(20);
write(a[i]:4)
end;
writeln;
{ }
{
}
fl:=0; { = 0,
}
for i:=1 to N do
if a[i]<0 then {
}
fl:=fl+1; {
}
writeln(' =',fl);
if fl>0 then
writeln(' ')
else
writeln(' ');
{ }
readln
end.
- ( ).
.
8.9.
program Search3;
const N=10;
type
mas=array [1..N] of integer;
8.2. 151
var a:mas;
i:integer;
fl:integer;
{
}
begin
{ }
randomize;
for i:=1 to N do
begin
a[i]:=-2+random(20);
write(a[i]:4)
end;
writeln;
{ }
{
}
fl:=0; { () = 0,
}
for i:=1 to N do
if a[i]<0 then
fl:=i;
{
}
{ ,
}
{ fl ,
.
fl ,
}
if fl>0 then
writeln(' =',fl)
else
writeln(' ');
{ }
readln
end.
1528.
, :
,
?
, : .
.
?
( ) , :
for k:=N downto 1 do
.
,
? ,
.
for, , while,
:
k:=1;
while a[k]>= 0 do {
( ) }
inc(k); { }
.
inc, .
.
inc(k) k:=k+1. inc,
Turbo Pascal dec.
.
, .
k:=k+1 k:=k-1, , inc(k) dec(k).
: ,
.
,
. ,
.
.
.
8.2. 153
8.10.
( )
program Search4;
const N=10;
type
mas=array [1..N] of integer;
var a:mas;
i:integer; {
}
begin
{ }
randomize;
for i:=1 to N do
begin
a[i]:=-2+random(20);
write(a[i]:4)
end;
writeln;
{ }
{
}
i:=1;
{ while
for,
}
{ }
{ . ,
}
if a[i]<0 then
{ , ,
- , .
- }
writeln(' =',i)
1548.
else
writeln(' ');
{ }
readln
end.
8.8.,
, , , .
8.3.
. , .
.
. ,
.
,
.
()
() () (.8.8).
j
3
...
Table[n,m]
..
...
n
Table[2,3]
. 8.8.
8.3. 155
54, ,
.
: ,
. - .8.9.
8.11. 54,
program Massiv_2;
const
N = 5;
{ }
M = 4;
{ }
var
Table : array [1..N, 1..M] of integer; {
N M }
{ , ,
,
.
,
, .
, ,
}
i, j : integer;
{
}
begin
{ :}
randomize;
for i:=1 to N do
for j:=1 to M do
Table[i,j]:=Random(100); {
i
j }
{ : }
for i:=1 to N do
begin
for j:=1 to M do
1568.
write(Table[i,j]);
writeln
{
i }
end;
readln
end.
. 8.9.- 54
;
8.9. , :
35;
;
.
1. ( ).
157
2. ,
(array), ( ) , :
mas: array [1..20] of integer;
3.
() .
4. ,
.
5.
.
6.
(). ,
.
1. , ?
2. A[4]=12 , , ?
3. ?
4. , ?
5. -
?
.
.
.
, .
.
.
9.1.
. . .
,
,
( 1- ). , ,
( 2- ).
(.9.1).
1
1-
1
2-
2
2-
2
1-
3
2-
3
1-
4
2-
. 9.1. ,
1609. .
, ,
() .
.
:
,
;
, .
,
, ;
;
.
: , 8.3, 8.4 (. 8.1):
) 10 20 +20;
) ;
) ;
) :
1- 2-,
3- 4-;
5- 6-;
7- 8-;
9- 10-;
) .
(.9.2).
: ) )
.
, .
9.1. 161
. 9.2.- 9.1
.
, .
) ) .
)
, . . , ,
(. 9.1).
( ) .
,
(procedure function ). begin,
. -
1629. .
(var)
begin end,
( ).
!
9.1.
Program Massiv_1;
const
N=10;
type
Mas=array [1..N] of integer;
var { .
,
, , .
,
,
, ,
}
Line: Mas;
Sm
{ Line .
Mas }
:integer; {
}
{ .
!
! Inp
! }
Procedure Inp;
var
{ Inp }
{ ,
Inp,
}
i:integer;
{ ,
,
.
9.1. 163
i
i.
,
.
(Inp)
i
.
, , ,
i
.
.
,
}
begin
{ Inp }
for i:=1 to N do
begin
write(' ',i,':');
readln(Line[i])
end
end;
{ Inp }
{ }
Procedure Out;
var
i:integer;
{ Out }
{
,
,
.
,
}
begin
{ Out }
for i:=1 to N do
write(Line[i]:5);
writeln
end;
{ Out }
{ }
Procedure Change;
1649. .
var
i:integer;
X:integer;
begin
{
}
{ Change }
i:=1;
{ }
{
2. for ... ,
while ... do }
while i<10 do {
i- i+1- }
begin
X:=Line[i];
{
}
Line[i]:=Line[i+1]; {
}
{
}
i:=i+2
{ 2
}
end
end;
Line[i+1]:=X;
{ Change }
{ }
Function Sum:integer;
{ .
.
.
.
}
9.1. 165
var
i:integer;
S:integer;
{ }
begin
{ Sum }
S := 0;
for i := 1 to N do
S := S + Line[i];
Sum := S;
end;
{ !
Sum }
{ Sum }
{ }
begin
{
begin }
Inp;
{ }
Out;
{ }
Sm := Sum;{ }
writeln(' =',Sm);
{
}
{
( Sm:=Sum)
: }
writeln(' :',Sum);
Change;
{ }
Out;
{ }
readln
end. { . }
1669. .
9.1. , :
) 14 (
);
) ;
)
(.9.3); (. .9.4);
A
. 9.3.
. 9.4.-
) ;
) .
.
9.2. 167
9.2. :
9.2.
Program Maximum;
const
N=10;
type
Mas=array [1..N] of integer;
var
{ }
Line: Mas;
{ Line .
, Mas }
m,i : integer;
{
}
function Maxim:integer;
var
{ }
imax:integer;
{
}
{ i
i }
:integer;
begin
{ }
imax:=1;
{
}
for i := 2 to N do
{
(, 2-
) }
{
i-
... }
1689. .
imax:=i;
{ ... i-
}
Maxim:=imax { ,
}
end;
{ }
begin
{ }
{
}
Randomize;
for i := 1 to N do
Line[i]:=Random(100);
m:=Maxim;
{
}
writeln(' =',Line[m]:5);
writeln(' =',m:5);
readln
end.
9.2. ,
20, 20 +20,
20 : , , .
.
, 20,
, .
1. .
() .
169
2. .
(, ).
3. .
4. .
5. (, ).
6. , .
1.
2.
3.
4.
?
?
?
, ?
10
, , , , .
`
, , .
.
10.1.
: String
( )
Turbo Pascal String. -
. , , . ,
.
String
var:
S: String;
S 255
, , , 255. (
256,
.)
,
.
, S1 : String[40]; , S1
0 40 .
17210.
,
(/, , ).
10.1.
Program Line_1;
var
Name1: String[20]; { 20 }
Name2: String[20];
Title: String[40]; { 40 }
Rez:
String[70];
begin
Name1:='._'; {
< =
,
var
}
Title:=' Turbo Pascal';
Rez:=Name1+Title;
{ .
,
.
,
,
}
writeln(Rez);
{ :
._ Turbo Pascal }
{
(): }
writeln(' :');
readln(Name1);
writeln(' :');
readln(Name2);
if Name1 = Name2 then
writeln(' ');
if Name1 < Name2 then
10.2. 173
writeln(' ');
readln
end.
255 (255 ).
(
1 ).
10.1. , .
10.2.
.
- ,
.
,
-.
, ,
- .
10.2.
Program Line_2;
var
Str:String;
{
255 }
Word1,Word2:String[20];
Len:byte;
{
-
- }
17410.
-.
byte
0..255 }
Position:byte; { ,
-
( ) }
begin
writeln(' -:');
readln(Word1);
writeln(' -:');
readln(Word2);
writeln(' :');
readln(Str);
Len:=Length(Word1); { Length
Word1 }
Position:=Pos(Word1,Str); { Pos(Word1,Str)
Str,
- Word1.
, Pos 0 }
while Position<>0 do { Str
- }
begin
Delete(Str,Position,Len); { Delete
Len Str,
Position, - }
}
Insert(Word2,Str,Position); { Insert
Word2 Str,
Position. ,
}
Position:=Pos(Word1,Str)
{
-
while }
end;
Str:=Copy(Str,2,length(Str)-2); { Copy
, ,
,
10.2. 175
. ,
Copy Str,
}
writeln(Str);
readln
end.
10.2. ,
.
, .
. , String
array [1..255] of char. ,
, () ,
( ). ,
, ( , ,
).
. ,
/ ,
Insert Delete.
,
.
10.3.
Program String_3;
var
Str:String;
{ }
i,k:integer;
{
}
begin
writeln(' :');
readln(Str);
k := 0; { }
17610.
for i:=1 to Length(Str) do {
Str }
{ - }
if (Str[i]='(') or (Str[i]=')') then
k:=k+1; { }
writeln(k);
readln
end.
1.
String.
2. , .
3. ,
, 255.
4. String
.
5. , , .
1.
50, ?
2. 200, String, (+)
100,
?
3. ?
4.
?
5. , (,
)?
11
, 9,
. - . ,
, ,
. .
11.1.
, ,
w r i t e l n ( ! ) .
, , .
.
11.1.
program Param1;
uses Crt; {
}
{ Stars
}
11.1. 179
procedure Stars(N:integer); {
.
N
( integer),
,
}
var i:integer; { }
begin
for i:=1 to N do { N
,
"*" }
write('*')
end;
{ Cross
(X,Y) }
procedure Cross(X,Y:integer); {
,
}
begin
gotoxy(x,y-1);
writeln('|');
gotoxy(x-2,y); writeln('--+--');
gotoxy(x,y+1);
writeln('|')
end;
{ }
begin
clrscr;
{ ,
}
Stars(10);
gotoxy(6,20);
{ 10
}
18011.
Stars(70);
{
20- }
Cross(40,13); { }
Cross(70,5);
{
}
readln
end.
:
, , .
. .
N:=N+2, N 2. ,
,
.
, ,
.
. ,
, .
,
.
( )
,
.
.
11.1. 181
, , .
11.2.
program Param2;
{ }
function tg(x:real):real; {
,
.
, ,
, }
begin
tg:=sin(x)/cos(x) {
.
}
end;
{ x,
n }
function Stepen(x:real; n:integer):real;
{ ,
}
var
i:integer;
y:real; { }
begin
y:=1;
{
-
}
for i:=1 to n do
y:=y*x;
Stepen:=y
end;
18211.
{ }
begin
writeln(' /6=',tg(Pi/6):7:3);
{ ,
}
writeln(' 2.5 8 ',
Stepen(2.5,8):7:3);
{ ,
}
writeln(' /3 5 ',
Stepen(tg(Pi/3),5):7:3);
readln
end.
11.2.
, inc().
?
11.3.,
program Param3;
var a,b:integer;
{ }
procedure Change(var x,y:integer);
{ ,
,
var.
.
,
,
}
var z:integer; { }
begin
z:=x;
x:=y;
y:=z
end;
11.2. 183
{ }
begin
a:=5;
b:=8;
writeln(' A=',a,' B=',b);
Change(a,b);
{ ,
,
.
}
, (
var)
.
,
.
,
.
, ,
, .
! ,
, , -. ,
!
, , . ,
, .
,
.
18411.
, ,
, , ,
.
, ,
. !
11.1. ,
1234 4321.
11.2. ,
. , 5 8
1,5 1,5, 3,2 0,8 1,2 1,2.
1.
.
2. .
3. .
4. .
5. ,
, var.
6. ,
!
1. , .
2.
?
185
3.
? ?
?
4. :
procedure Maxim(var x,y:integer);
begin
if x>y then y:=x
else x:=y
end;
:
x:=2; y:=3;
Maxim(y,x);
x y?
5. :
procedure Mult(var x:integer;y:integer);
begin
x:=y*2
end;
:
x:=2;
Mult(x,2*x);
x?
12
:
, ,
( ), .
: .
(
),
. , .
.
12.1.
, . , ,
, . ,
, .
.
(ASCII). ,
. ,
, .
, .
,
18812. :
. ,
, ( ). ( )
().
.
.
,
Turbo Pascal work.
txt. ,
(.pas) .
. ,
.
12.1. work.txt
Program File_1;
var
Fil: text; {
}
{ .
.
text.
,
(, ) }
Str : string; {
}
begin
{
: }
Assign(Fil,'work.txt'); { Fil
(
work.txt) }
12.1. 189
Reset(Fil);
{
" ".
{ work.txt
. work.txt
, ,
" ".
Eof (end of
file).
, , ,
Eof, False
("").
( ), Eof
True ("") }
while not Eof(Fil) do
begin
readln(Fil,Str);
writeln(Str)
end;
Close(Fil)
{
, Eof
False.
,
not }
{
work.txt }
{
}
{
}
end.
, , ,
reset.
, -
19012. :
readln read
.
,
, .
rewrite . ,
assign, .
, .
,
, (writeln) (write).
work.txt user.txt.
12.2.
Program File_2;
var
Fil_1, Fil_2: text; {
}
Str : string;
{
}
{ }
Procedure New_file;
var
I : integer;
begin
Assign(Fil_1,'work.txt');
Rewrite(Fil_1);
{
"
".
(
).
}
{
work.txt }
for I:=1 to 3 do
begin
writeln(' Enter:');
readln(Str);
{
Str }
12.1. 191
writeln(Fil_1,Str) { Str
.
,
,
}
end;
Close(Fil_1)
{ .
}
end;
{ work.txt
user.txt }
Procedure Copy_file;
begin
Assign(Fil_1,'work.txt');
Reset(Fil_1);
{
" ".
Assign(Fil_2,'user.txt'); { Fil_2
,
}
Rewrite(Fil_2);
{
" ". }
begin
readln(Fil_1,Str);
{
, Eof
False.
,
not }
{
work.txt }
19212. :
writeln(Fil_2,Str)
end;
Close(Fil_1);
Close(Fil_2)
end;
begin
{
user.txt }
{
}
{ }
New_File;
{ }
Copy_file
{ }
end.
( Open Turbo
Pascal
) , .
-, ,
, . ,
Turbo Pascal MS-DOS, ,
, MS-DOS.
, MS-DOS
(, Norton Commander),
( , MS Word).
12.1. , :
) ;
)
;
)
.
!
12.2. 193
12.2.
.
,
, :
.
12.3.
Program File_3;
var
A,B:integer;
Fil:text;
begin
A:=3;
B:=10;
Assign(Fil,'prim.txt');
Rewrite(Fil);
write(Fil,A,' ');
{
prim.txt
3,
}
write(Fil,B);
{
}
Close(Fil)
end.
12.2. prim.txt .
19412. :
,
. :
, ,
.
12.4. 54
program File_4;
const
M=5; N=4;
var
Fil:text;
A:real;
S:char;
I,J: integer;
begin
assign(Fil,matrix.txt);
rewrite(Fil);
randomize;
{ }
for I:=1 to M do
begin
for J:=1 to N do
begin
A:=random(100);
{
}
write(Fil,A:5:3, ) { A
,
}
end;
writeln(Fil)
{ i-
.
12.2. 195
}
end;
close(Fil);
{ .
assign(Fil)
}
reset(Fil);
while not eof(Fil) do
begin
while not eoln(Fil) do
begin
read(Fil,A);
{ eoln(Fil)
.
boolean.
,
.
eoln
(
) }
{
}
write(A:5:3);
{ }
read(Fil,S);
{
.
.
A }
write(S)
end;
writeln;
{ }
{
}
19612. :
readln(Fil)
{
}
end;
close(Fil);
readln
end.
12.5.
program ReadMatrix;
const
M=5; N=4;
var
Fil:text;
A:array[1..M,1..N] of real;
S:char;
I,J: integer;
begin
assign(Fil,matrix.txt);
reset(Fil);
{ ,
}
{ }
for I:=1 to M do
begin
for J:=1 to N do
begin
read(Fil,A[I,J],S);
{
.
S
}
write(A[I,J]:6:3, ) {
}
end;
writeln;
{
}
12.2. 197
readln(Fil)
{
}
end;
closefile(Fil);
readln
end.
12.3. prim.txt
.
12.4. matrix.txt,
rezult.txt.
rewrite, ,
, . -
, append.
, , .
12.6.
program File_6;
const
M=5; N=4;
var
Fil:text;
append(Fil);
{
}
writeln(Fil, ); {
}
close(Fil);
readln
end.
, , ,
(write writeln) , .
19812. :
read readln. , .
con (). ,
, Turbo Pascal con,
. , Turbo Pascal con,
.
: con (assign(Fil,con))
(rewrite(Fil))
- (, writeln(Hello, world!)).
Turbo Pascal .
, - lpt1.
1. .
2. .
3. text ASCII.
4. ,
.
5. ,
.
6. assign
(reset) (rewrite).
7.
write/writeln read/readln
.
8.
close.
199
1. , ? ,
?
2. ?
3. ,
?
4. example.txt,
5 ( 9).
:
assign(f,example.txt);
rewrite(f); writeln(f,');
close(f);
, ?
5. , rewrite
append.
6. 10 ( 0 9),
. :
for i:=1 to 9 do
begin
read(f,c); x:=ord(c)
end
x (i,x:integer;
c:char;)?
13
.
Graph
, , ,
.
.
8025 (. 1.2).
Turbo
Pascal .
13.1.
,
Crt
, .
, .
, x y (.13.1), ( ).
0
0
479
639
(0,0)
(639,0)
(0,479)
y
. 13.1.
20213. . Graph
Graph, , Turbo Pascal
640480 .
.
Turbo Pascal egavga.bgi.
.
BGI Turbo Pascal.
(0,0).
. (640480)
. ( egavga.bgi,
svga.bgi, ). Turbo
Pascal, .
Turbo
Pascal .
, .
,
( ).
Graph.
.
13.1.
uses
Graph, Crt;
{ .
Crt }
13.1. 203
var
Gd,Gm:Integer; { Gd
}
{ Gm ;
( ) }
Color : byte;
begin
Gd := Detect;
{
}
InitGraph(Gd,Gm, ); { .
-
bgi.
,
(
Turbo Pascal).
, ,
egavga.bgi,
InitGraph. ,
InitGraph(Gd,Gm,c:\sys\tp71\bgi) }
If GraphResult <> grOK then {
}
Halt(1);
Randomize;
{
100x100,
}
repeat
Color := Random(15);
20413. . Graph
PutPixel(Random(100),Random(100),Color);
{ PutPixel(X,Y,C)
(,Y) .
}
Delay(10)
until KeyPressed;
CloseGraph
{
}
end.
13.1. , :
(640480);
;
( ).
13.2.
Graph
,
.
Graph .
,
.
Graph
.
SetColor. Line.
13.2.
uses
Graph, Crt;
var
13.2. , (640480),
, (.13.2).
20613. . Graph
. 13.2. 13.2
13.3. ,
:
(.13.3).
. 13.3. 13.3
Graph
,
. Circle.
13.3.
uses
Graph, Crt;
var
Gd,Gm,r:Integer;
Color : byte;
begin
Gd := Detect;
InitGraph(Gd,Gm,);
If GraphResult <> grOK then
207
Halt(1);
Randomize;
{ 10 }
for r:=1 to 10 do
begin
SetColor(random(16));
Circle(320,240,r*5) { Circle(X,Y,R)
(X,Y)
R }
end;
Readln;
CloseGraph
end.
Graph (,
ellipse, bar, rectangle, outtext),
1. .
egavga.bgi.
2.
(640480). ( , )
.
3. Graph.
20813. . Graph
4. InitGraph.
CloseGraph.
5. Graph
.
Graph
Graph Ctrl+F1.
1. ?
2.
?
3. ,
? ?
4. , , ?
5. ,
?
14
,
.
,
. , ..
.
(, ,
) :
, ,
(goto).
,
, . , , , ifelse.
,
goto .
, ,
,
, .
goto. , ,
, , . ,
goto,
.
14.1. 211
, goto
, .
, ,
. -
.
14.1.
goto
goto
.
goto.
(, ).
.
, ? ,
.
? : .
, , .
, .
(
), ( ),
. , .
N2 (, (N2N)/2).
, -
, . , .
goto.
14.1.
program use_goto;
label konec;
{ ,
goto,
21214. ,
.
Label
,
}
const N=10;
{ }
{ fl ()
,
,
}
{ "konec" }
end;
konec:
{
}
if fl then
writeln(' ')
else
14.1. 213
writeln(' ');
readln
end.
, goto ,
.
goto.
14.2. goto
program without_goto;
const N=10;
{ }
{ }
fl:boolean;
begin
{ }
randomize;
for i:=1 to N do
begin
a[i]:=random(15);
write(a[i]:4)
end;
writeln;
fl:=false;
{ fl ()
,
,
}
{ for while,
}
i:=1;
while (j<N) and not fl do {
:
}
21414. ,
begin
j:=i+1;
while (j<=N) and not fl do
begin
if a[i] = a[j] then
fl:=true;
j:=j+1
end;
i:=i+1
end;
if fl then
writeln(' ')
else
writeln(' ');
readln
end.
- while
for, goto.
14.2.,
, . (,
for, while repeat).
break
break
, .
, break
.
break.
14.3. , 17
var i:integer;
begin
for i:=10 to 99 do
if (sqr(i mod 10) + sqr(i div 10)) mod 17 = 0
14.2., 215
then break;
writeln(i);
readln
end.
break -, , .
(14.3),
,
while, .
14.4. ,
17 ( break)
var i:integer;
begin
i:=10;
while (sqr(i mod 10) + sqr(i div 10)) mod 17 <> 0 do
i:=i+1;
writeln(i);
readln
end.
continue
continue . continue
. ,
.
continue, break, .
continue.
14.5. ,
17
var i:integer;
begin
for i:=10 to 99 do
begin
if (sqr(i mod 10) + sqr(i div 10)) mod 17 = 0
then continue;
writeln(i)
21614. ,
end;
readln
end.
break, continue
.
1. . .
2.
goto.
.
3. , goto,
,
.
4. label.
5. goto.
6.
break continue.
7. break . ,
.
8. continue . .
1.
goto?
2. goto?
3. break continue?
4.
break? ?
15
:
. .
,
. , ,
, .
, . (
) ,
.
, , , . ,
-
.
, . ,
, , , , .
(, , ,
, boolean). ,
, .
.
, , !
! ()
.
.
15.1. record
. , .
. , ,
(record).
:
record <
> end;
15.1.
var
Vasya,Petya: record
Name,Family,Class:string[20];
Height:integer;
Weight:real;
Men:boolean
end;
, record end .
.
. ,
, . , ,
, (
). ,
. ,
, .
,
. , .
22015. :
15.2.
var
Vasya,Petya: { }
record
Name,
{ }
Family,
{ }
Class:string[20]; { }
Height:integer;
{ }
Weight:real;
{ }
Men:boolean
{ (? /) }
end;
begin
Vasya.Name:=''; {
,
}
{
}
readln(Vasya.Family);
Vasya.Height:=170;
Vasya.Height:=Vasya.Height+5;
Vasya.Weight:=65.3;
Vasya.Men:=true;
Vasya.Class:='10';
Petya:=Vasya; {
.
}
Petya.Name:=''
end.
,
var , type
.
( record end),
, .
15.2. 221
(
case), end
begin.
15.2.
.
, . ,
, .
: (record x,y:real
end ); , ( record name,firstname:
string[30]; man:boolean end).
( type)
.
15.3.
type coord=record
x,y:real
end;
people=record
name,
family:string[30];
man:boolean
end;
var
pointA,pointB : coord;
Vasya : people;
22215. :
, ,
, .
15.4.
type coord=record
x,y:real
end;
var
points : array [1..20] of coord;
{ of
record .
}
i : integer;
begin
for i := 1 to 20 do
begin
points[i].x := i*5;
points[i].y := 0
end
end.
with
, ,
. ,
( )
, , ,
.
:
with < > do <, >
15.5. with
type coord=record
x,y:real
end;
var
points : array [1..20] of coord;
i : integer;
15.2. 223
begin
for i := 1 to 20 do
with points[i] do
begin
x := i*5;
y := 0
end
end.
, with, ,
with.
15.5 points[i] x y i.
, ,
, . with .
15.6. ,
with
type coord=record
x,y:real
end;
var
points : array [1..20] of coord;
i,x
: integer;
begin
x := 10;
for i := 1 to 20 do
with points[i] do
begin
x := x*5; {
points[i].x. x
}
y := 0
end
end.
, , .
22415. :
, .
, .
,
, .
: , , ,
, , .
. ,
(string).
, .
(integer). .
100, ,
. . .
real.
:
15.7.
const n=100;
type
book=record
title
: string[40];
author
: string[25];
publishing : string[25];
year
: integer;
pages
: integer;
price
: real;
end;
var
books : array [1..n] of book;
{
{
{
{
{
{
{
}
}
}
}
}
}
}
, , .
15.7. ,
. ,
, -
15.2. 225
. , , .
, ,
- iii,
( ; , count_people)
, :
var count_people : integer; {
, }
, , ,
, ,
.
.
15.8.
{ ,
"" }
const n=100;
{
type
point=record
{
x,y : integer
{
end;
cells=array[1..n] of point; {
snake=record
{
body
: cells;
{
length : integer;
{
start : integer;
{
finish : integer
{
end;
var
pitons:array [1..5] of snake; { 5
begin
{ "y"
3- }
pitons[3].body[pitons[3].start].y:=10;
end.
}
}
}
}
}
}
}
}
}
}
22615. :
1. .
2. ,
.
3. record end ,
.
4. . .
5.
with.
1. ?
2. ?
3. ,
(, , ,
100 /, ).
4. , .3.
5. 5-
.4.
6.
?
16
,
( ) .
, ,
, () .
.
.
.
, ,
, .
,
.
16.1.
, ,
.
, .
, .
(
hardware
). .
(software).
. ,
, ().
16.1. 229
(,
- , ).
, , .
, , , .
,
, .
(,
ROM
) (, RAM
). (
,
).
(,
),
( ), (), ,
.
, , , , , .
, ,
( )
(). ,
(
).
,
(), (
). ,
.
,
.
(
MS
-
DOS
, ),
, (
).
.
23016.
Turbo
Pascal
MS-DOS.
, ,
64 (65536) (
16- ).
, ,
( ) , ,
40000 (40000 2
, 65536).
,
, (, Borland Delphi).
(), .
16.2.
, ,
, .
( , 16-, 32-
64-). (),
.
: var a,b:integer ,
, 2 , Integer ( Turbo Pascal
2, Delphi 4). (,
)
a b.
, .
, .
, a , ,
+4 , , b +6. ,
,
.
16.3. 231
.
a b .
. , , , , .
, , ,
.
.
- , .
16.3.
. , var. :
< >: ^< ,
>;
, ,
^ (, Shift+6
).
(), ,
- . ,
. :
var p:^integer;
, p
.
,
, . .
, . ,
, (
23216.
- ,
, ).
,
, , , ,
. , .
,
- .
. , ?
, -
,
. - ,
!
.
, .
, . , ,
.
-.
- ( ),
@ (, AT, Shift+2).
: p:=@count; ( p
, count, p
, count).
,
-, ^
(), -. :
p^:=10; ( , p, 10).
16.1. -
var
vasya,petya : integer; { }
p,q
:^integer; { integer
}
begin
vasya := 10;
16.4. 233
p := @vasya; { p
vasya }
q:=p;
{ }
q^:=15;
{ vasya 15,
q ,
p, p vasya }
p^:=q^+5;
{ vasya 5 }
end.
- inc dec.
. 1 (
), , ,
. ,
.
16.2.
var
a : array [1..20] of integer;
p :^integer;
i : integer;
begin
p:=@a[1]; { - p
}
{ }
for i:=1 to 20 do
begin
p^:=i*5; { }
inc(p)
{ p
}
end
end.
16.4.
23416.
.
.
New Dispose
New Dispose .
, . -.
New , ,
. New
. : New(p). , .
New
.
Dispose ,
New ,
. : Dispose(p). p .
Dispose .
, .
Dispose . , ,
. ,
, - .
.
. ,
- , ,
. , ( ) -
. ,
.
16.3. New Dispose
var a,vasya : integer;
q,p
:^integer;
begin
new(p);
{ integer.
p }
16.4. 235
p^:=10;
q:=p;
new(p);
{ 10 }
{ }
{ .
, New
-
.
,
,
.
,
.
,
! }
p^:=3;
{ 3 }
dispose(p); { ,
, .
3 }
p:=q;
{ p
}
dispose(p); { ,
}
writeln(q^);{ , q
,
10,
.
.
! }
end.
, , , New, -
. , -.
,
,
(, Turbo Pascal Integer
2, 4). , .
,
,
( ).
23616.
.
. ,
, .
, , .
, !
, . ?
. , - .
, , ,
.
16.4.
type masA=array[1..30000] of integer;
masB=array[1..60000] of char;
var a : ^masA; {
, .
^array[1..30000] of integer; }
b : ^masB;
begin
{ ... - ... }
new(a);
{ }
{ .
, ,
a^[5] }
dispose(a); { ,
}
new(b);
{ }
{ }
dispose(b); { ,
}
end.
, (,
16.4. 237
), .
,
. Turbo Pascal
Delphi. , , , :
a:array of integer. ,
, setlength.
, . , setlength(a,20).
, :
?
, , ?!
!
. .
.
, , ,
. , ,
.
,
. :
!?
, - . , -, -
, -, ,
. , ,
,
! ,
, .
.
GetMem FreeMem
(
) GetMem FreeMem.
New -Dispose , ,
. New Dispose,
23816.
, , GetMem FreeMem
.
:
GetMem(<->,< >);
FreeMem(<->,< >);
- .
, . ,
sizeof.
; ,
.
GetMem-FreeMem
, . , ,
300 :
GetMem(a,SizeOf(integer)*300),
integer (a:^integer).
. , :
mas mas[10]. a .
.
, 16.5.
16.5.
var
a,p : ^integer;
i
: integer;
begin
GetMem(a,sizeof(integer)*300); {
}
16.4. 239
{ }
p := a; { ,
- }
for i:=1 to 300 do
begin
p^:=i*5; { }
inc(p)
{ p
}
end;
FreeMem(a,sizeof(integer)*300) { ,
}
end.
,
inc . -, .
. ,
:
q:=a; inc(q,9);
q^ .
, GetMem-FreeMem.
,
, .
1. ,
.
16.6.
var
a :^integer;
b :^integer;
{ }
{
}
24016.
pa,pb :^integer; { -
}
x : integer;
{ }
n : integer;
{ }
i : integer;
{ }
begin
n:=0;
{ }
readln(x);
{ }
while x<>0 do
{ ,
}
begin
inc(n);
{ }
{ 1 ,
. : }
GetMem(b,sizeof(integer)*n);
pb:=b;
{ pb
b }
{ a (n-1 )
b: }
if n>1 then
{ }
begin
pa:=a;
{ pa
a }
for i:=1 to n-1 do { }
begin
pb^:=pa^; { a b }
inc(pa); {
a }
inc(pb)
{
b }
end
end;
{ x
pb^:=x;
b }
{ , a: }
FreeMem(a,sizeof(integer)*(n-1));
{ a b: }
a:=b;
readln(x)
{ }
end
end.
, , , .
-
16.4. 241
.
, , ,
. -
, , 8 ,
16 . 7 ( )
. 2 , .
16.7.
var
a :^integer;
b :^integer;
{ }
{
}
pa,pb :^integer; { -
}
x : integer;
{ }
n : integer;
{ ,
}
k : integer;
{ }
i : integer;
{ }
begin
n:=1;
{ }
k:=0;
{ }
GetMem(a,sizeof(integer)); { }
readln(x);
{ }
while x<>0 do
{ ,
}
begin
inc(k);
{ }
{ ,
}
if k>n then
{ }
begin
n:=n*2;
{ }
{ }
GetMem(b,sizeof(integer)*n);
{ a (k-1 )
b }
pa:=a;
{ pa
a }
24216.
pb:=b;
{ pb
b }
for i:=1 to k-1 do { }
begin
pb^:=pa^; { a b }
inc(pa); {
a }
inc(pb)
{
b }
end;
pb^:=x;
{ x
b }
{ , a }
FreeMem(a,sizeof(integer)*(k-1));
{ a b }
a:=b
end
else { a }
begin
{ pa
a }
pa:=a;
inc(pa,k-1);
pa^:=x
{ x }
end;
readln(x)
{ }
end
end.
1. var
.
.
2.
-.
3. , ,
, ,
^ ().
243
4. ( ) ,
^ -.
5. ,
-, ^ .
6. (
) New GetMem.
7. (
) Dispose
FreeMem.
1. ?
2. ?
3. -?
4. ,
-?
5. -
?
6. ?
7. , ?
8. :
var a:integer;
begin
{
a:=10;
{
new(p);
{
p^:=15;
{
dispose(p);{
writeln(a);{
end.
{
p:^integer;
0 }
1 }
2 }
3 }
4 }
5 }
6 }
a) a?
24416.
) , a?
) p^?
) , p^?
17
.
,
. ,
. ,
, ,
.
, , ,
, , .
:
. ,
. .
, (
).
. ,
,
.
, : +
.
17.1.
. , . () .
,
.
, -
17.1. 247
data
data
data
data
data
.
nil. ,
, .
- (.17.1).
. 17.1.
type MyElement=record
data:< , >;
next:<
, >
end;
,
. ,
:
type MyElement=record
data:string;
next:^MyElement
end;
.
( -) ,
( ).
:
, .
.
17.1.
type
pElement=^Element; { ,
.
,
""
}
Element=record
24817. .
data : string;
next : pElement
{
.
}
{
}
var
pBegin : pElement; {
,
}
:
. .
.
, . .
,
. ,
, ,
.
17.2.
.
(
) .
.
LIFO (last in first out,
). - . ,
. ,
, .
().
, ,
, . :
17.2. 249
type pStack=pElement;
, ,
, :
type pStack=^Stack;
Stack=record
data:string;
next:pStack
end;
, . .
:
var pTop:pStack=nil;
Top () p,
, .
pTop (nil). ,
( ).
,
.
( ), pTop
:
var pTop:pStack;
begin
pTop:=nil;
,
:
. .
: Push,
Pop.
(Push)
Push . ,
.
25017. .
. , Push
. Push .
, ,
.
,
.
:
procedure Push(chto:string);
chto , .
Stack , , , chto .
, (.17.2).
pTop
data
data
data
. 17.2. ,
,
. new, -
, .
(Stack).
pStack. ,
- . Push
pStack:
var p:pStack;
:
new(p);
17.2. 251
: - .
, ,
. chto:
p^.data:=chto;
, :
p .
, ^,
p^. data . ,
. : p^.data.
. ,
. - .
(..17.2), ,
pTop . ,
next :
p^.next:=pTop;
. - ?
(.17.3).
p
chto
pTop
data
data
data
. 17.3.
( )
, , (pTop) .
25217. .
, .
p. :
pTop:=p
:
17.2. Push ( )
procedure Push(chto:string);
var p : pStack; { }
begin
new(p);
{ }
p^.data:=chto; { }
p^.next:=pTop; { }
pTop:=p
{ }
end;
, Push, ,
. , .
, pTop
nil.
Push, ,
( ) - pTop, nil.
nil
. , Push
.
(Pop)
(Pop)
.
, . Pop
.
, .
,
. :
function Pop:string;
17.2. 253
, Pop,
.
pTop, :
Pop:=pTop^.data;
. : -,
, , , ,
. : dispose(pTop), ,
,
pTop ( next
) pTop:=pTop^.next.
, . ,
,
.
pTop, , .
, , ,
.
17.3. Pop ( )
function Pop:string;
var p : pStack; { }
begin
p:=pTop;
{ }
Pop:=p^.data; { }
pTop:=p^.next;{
}
dispose(p)
{ }
end;
(StackIsEmpty)
,
( ). ,
nil:
25417. .
17.3. StackIsEmpty ( )
function StackIsEmpty:boolean;
begin
StackIsEmpty := pTop=nil
end;
17.3.
.
, `
, .
17.4.
var x,a:integer;
{ ,
Push, Pop StackIsEmpty
( ) }
begin
write(' :');
readln(x,a);
while x>0 do { }
begin
Push(x mod a); {
}
x:=x div a
{ }
end;
while not StackIsEmpty do { }
write(Pop) {
}
end.
, ,
10.
, , 9.
.
17.3. 255
, .
,
, .
Pop ,
. , write(Pop)
x:=Pop, Pop;.
, , .
,
. pTop,
Push Pop.
,
(Push, Pop StackIsEmpty) - ,
.
17.1. , , .
( ) .
17.2. , N, N . ,
().
, .
17.3. , , .
(,
7 8 , ).
17.4. , , 100.
, ,
25617. .
() , .
.
, ,
.
LIFO . ,
(, -) ,
Push Pop .
.
,
. , ,
( ). ,
.
17.5.
const n=100; { }
var Stack:array[1..n] of string; {
}
Top:integer=0; { .
}
procedure Push(chto:string);
begin
if Top<n then { }
begin
Top:=Top+1;
{ }
Stack[Top]:=chto { }
end
else
{ -
. , ,
,
.
,
}
end;
257
function Pop:string;
begin
Pop:=Stack[Top]; { }
Top:=Top-1
{ }
end;
function StackIsEmpty:boolean;
begin
StackIsEmpty := Top=0
end;
, ,
, .
-
, ,
, .
1.
, ,
, .
2. .
.
3. . ,
, .
4.
.
1. ,
, ?
?
25817. .
2.
( ,
)?
3. .
4. ? ?
5. ? ?
6. :
Push(1);
Push(2);
Push(3);
Push(Pop+Pop);
Push(4);
Push(Pop*Pop);
write(Pop-Pop);
, (,
data , ,
)?
18
.
, ,
. ,
, .
,
,
.
18.1.
, , . FIFO (First In First
Out) (queue).
(.18.1) , .
, ,
, , ( )
,
. ,
.
, .
: , , ,
.
,
.
18.1. 261
1
. 18.1.
,
. ,
. ,
.
, , , :
. , ,
( ).
, ,
,
.
,
. .
.
. .
. type pQueue=pStack.
, :
type pQueue=^Queue;
Queue=record
data:string;
26218. .
next:pQueue
end;
pBegin pEnd. p , , begin end.
var pBegin:pQueue=nil;
pEnd :pQueue=nil;
, nil.
18.2.
, : . .
(EnQueue)
EnQueue ( ).
, .
. , EnQueue
. EnQueue .
, ,
.
,
.
:
procedure EnQueue(chto:string);
chto , .
, .
. (
nil), (new(pEnd)),
18.2. 263
chto (pEnd^.data:=chto),
nil (pEnd^.next:=nil). ()
(pBegin:=pEnd).
, : new(pEnd^.
next). ,
: ,
.
(pEnd:=pEnd^.
next) . chto (pEnd^.
data:=chto), nil
(pEnd^.next:=nil).
:
18.1. EnQueue
( )
procedure EnQueue(chto:string);
begin
if pBegin=nil then { }
begin
new(pEnd);
{ }
pBegin:=pEnd;
{
}
pEnd^.data:=chto; {
}
pEnd^.next:=nil { nil }
end
else { }
begin
new(pEnd^.next); {
}
pEnd:=pEnd^.next; {
}
pEnd^.data:=chto; {
}
pEnd^.next:=nil { nil }
end
end;
26418. .
, ,
( ) . :
18.2. EnQueue
( ).
procedure EnQueue(chto:string);
begin
if pBegin=nil then { }
begin
new(pEnd);
{ }
pBegin:=pEnd
{
}
end
else { }
begin
new(pEnd^.next); {
}
pEnd:=pEnd^.next; {
}
end;
pEnd^.data:=chto; {
}
pEnd^.next:=nil
{ nil }
end;
(DeQueue)
DeQueue ( ).
, , :
function DeQueue:string;
,
.
,
,
. (DeQueue:=pBegin^.
data).
18.3. 265
,
. ,
. , , ,
, .
p:=pBegin;
DeQueue:=p^.data;
pBegin:=p^.next;
dispose(p);
18.3. DeQueue
( )
function DeQueue:string;
var p : pQueue;
{ }
begin
p:=pBegin;
{ }
DeQueue:=p^.data; {
}
pBegin:=p^.next;{
}
dispose(p)
{ }
end;
(QueueIsEmpty)
,
, ( ).
, nil.
18.4. QueueIsEmpty ( )
function QueueIsEmpty:boolean;
begin
QueueIsEmpty := pBegin=nil
end;
18.3.
, , , ,
26618. .
, .
, , ,
, , .
. , .
. , , , .
,
. , 50 .
, .
,
, .
,
. , -
( ) .
, .
, .
18.5. ,
{ ,
, EnQueue, DeQueue
QueueIsEmpty, pBegin pEnd
( ) }
var s:string[51];
ch:char;
min:integer;
begin
s:='';
{ }
min:=51; { }
repeat
read(ch); { }
if (ch<>' ')and(ch<>'.') then
{ }
s:=s+ch { }
else
18.3. 267
if s<>'' then { }
begin
if length(s)<min then {
}
min:=length(s);
EnQueue(s); { }
s:=''
{ "" }
end
until ch='.'; { }
while not QueueIsEmpty do
begin
s:=DeQueue; { }
if length(s)>min then { min }
writeln(s)
{ }
end
end.
, ,
. pBegin pEnd,
EnQueue DeQueue. ,
,
(EnQueue, DeQueue QueueIsEmpty)
- DeQueue
QueueIsEmpty EnQueue
.
18.1. , , .
,
.
18.2. , , .
, :
26818. .
(
), (
, ).
,
.
FIFO
, LIFO. ,
.
,
,
.
,
. , ,
( ).
,
. ,
, . ,
,
.
, ,
. ,
. ,
, .
,
, . iBegin iEnd (
).
, : ,
, .
18.3. 269
, . , ,
( n+1=1).
,
, .
, :
, , , ?
iBegin iEnd 1 n.
, ,
, iEnd 1 , iBegin.
. .
, ,
iEnd 1 iBegin.
iEnd 2 iBegin.
18.6.
const n=100; { }
var Queue:array[1..n] of string; {
}
iBegin:integer=1; {
}
iEnd:integer=n;
{
}
procedure EnQueue(chto:string);
begin
{ }
if (iBegin-iEnd+n) mod n<>2 then
begin
if iEnd<n then { }
iEnd:=iEnd+1
else
{ }
iEnd:=1;
{ }
Queue[iEnd]:=chto;
end
else
{ -
}
end;
function DeQueue:string;
begin
27018. .
DeQueue:=Queue[iBegin];
if iBegin<n then { }
iBegin:=iBegin+1
else
{ }
iBegin:=1
{ }
end;
function QueueIsEmpty:boolean;
begin
QueueIsEmpty := (iBegin-iEnd+n) mod n=1
end;
1 2.
1. , .
2. , .
3.
, .
1. ?
2. ?
3. ?
19
.
,
FIFO
LIFO
( ). ,
, -
/ .
19.1.
,
,
, .
, nil.
, .
17,
, :
type pListElement=^ListElement;
ListElement=record
data:string;
next:pListElement
end;
, 1, pBegin:
var pBegin:pListElement=nil;
.
- , .
19.2. 273
, .19.1.
,
. . ,
,
- .
.
. 19.1.
19.2.
,
.
PrintList ( ). ,
-,
, .
.
, ,
, while. .
, nil (
).
27419. .
19.1. PrintList
( )
procedure PrintList;
var p:pListElement; { -
}
begin
p:=pBegin;
{
}
while p <> nil do { }
begin
writeln(p^.data);{
}
p:=p^.next
{ -
}
end
end;
data
chto
data
data
data
PutInList ( ).
. ,
, .
, ,
. , , ,
.
,
().
(.19.2).
. 19.2.
19.2. 275
next
, ( ).
next , .
(
).
PutInList.
procedure PutInList(chto:string;
kuda:pListElement);
chto , ,
kuda.
,
, , .
. , .
:
.
,
. , , ,
.
kuda nil ( ,
).
:
19.2. PutInList
( )
procedure PutInList(chto:string; kuda:pListElement);
var p:pListElement; { - }
begin
if kuda=nil then
{ }
begin
new(p);
{ }
p^.next:=pBegin;{ }
pBegin:=p;
{
}
p^.data:=chto
{
}
end
else { }
begin
27619. .
new(p);
{ }
p^.next:=kuda^.next; {
, kuda }
kuda^.next:=p; {
kuda }
p^.data:=chto
{
}
end
end;
, , .
PutInList .
, , , , . ,
.
, .
, RemoveFromList (
) .
. . RemoveFromList
.
, :
, , , , .
, , .
next . . .
. ,
, next
. .
- .
, . , .
19.3. 277
:
, ,
. , , .
,
, , , nil.
19.3. RemoveFromList ( )
procedure RemoveFromList(gde:pListElement);
var p : pListElement;
{ }
begin
if gde = nil then { }
begin
p:=pBegin;
{ }
pBegin:=p^.next; {
}
dispose(p)
{ ,
}
end
else
{ }
begin
p:=gde^.next;
{
}
gde^.next:=p^.next; {
}
dispose(p)
{ ,
}
end
end;
, RemoveFromList
, .
19.3.
,
, .
27819. .
,
X Y. ,
X Y.
. -,
Y,
. next , Y,
. , Y
, .
,
next. -, ,
Y.
,
.
19.4. ,
X, Y
var x,y:string;
{ ,
PutInList ( ) }
p:pListElement; { }
begin
write(' X:');
readln(x);
write(' Y:');
readln(y);
p:=pBegin; { "p" }
if p = nil then {
}
begin
writeln(' ');
exit
end;
if p^.data = y then { X }
PutInList(y,nil); { Y }
while p^.next <> nil do {
}
begin
if p^.next^.data = x then { ,
19.3. 279
,
X }
begin
PutInList(y,p); { Y }
p:=p^.next
{ }
end;
p:=p^.next
{ }
end
end.
, , X, .
,
Y, X.
Y, .
,
, .
, -
.
, , ,
. ,
.
19.1.
28019. .
()
.
,
.
, ,
/ , .
, /
.
19.1. ,
(1020) . .
.
19.2. 19.1 , :
)
;
) ,
, ;
) , ;
)
;
) A B C,
, A B.
281
1. ,
/ .
2.
.
3.
.
4.
, .
1. data ?
2. -
?
3. ?
4.
.
?
5. ?
, ?
?
6. / ?
?
20
( ) , ,
, .
, .
20.1.
, ,
, . ,
( ).
1.
,
. .
. ,
.
, ,
. ,
.
.
.
28420.
, () ,
. ( ) . , , .
? :
, ,
.
- .
.
: n! n .
.
: n!=(n1)! n.
: 1! = 1. , 4!
3!, 2!, 1!, (=1)
2! (=1 2), (=2)
3! (=2 3), (=6) , ,
4!(=6 4=24). .20.1.
, ,
, .
4!=3!*4
=6*4=24
3!=2!*3
=2*3=6
2!=1!*2
=1*2=2
1!=1
. 20.1.
, .
, , 1.
n! n . , integer. longint.
20.1. 285
20.1.
function Fact(n:integer):integer;
begin
if n=1 then
{ 1!,
}
Fact:=1
{ 1 }
else
{ n 1 }
Fact:=Fact(n-1)*n { }
end;
,
( 1 n
).
,
. ,
.
1.
, .
, , .
.
20.1. ,
n n- ( ,
,
).
,
, .
, ,
.
. , , .
28620.
.
,
. 2n ( n
).
, ,
3n .
20.2.
.
: , (n),
, , ( , .20.2).
. : 1) ; 2)
.
A
. 20.2.
( , )
.
( ) .
.
, , , . ,
20.2. 287
- .
,
, . ,
(n1) . ,
n1 , .
n1 . .
.
20.2.
procedure (
N { }
,
A { }
,
B { }
,
C { } :integer);
begin
if N = 1 then
(A, B)
else
begin
(N1, A, C, B);
(A, C);
(N1, C, B, A)
end
end;
, , . ,
- . ,
.
,
.
20.2. 20.2
,
, 5 . , 31 .
28820.
20.3.
. -,
,
, / , . -,
. , , .
.
. ,
. ,
,
while, ,
,
.
:
1) (
);
2) ( );
3)
4) .
20.3. :
, ;
function Sum:integer;
var x:integer;
begin
readln(x);
if x=0 then
Sum:=0
else
Sum:=x+Sum
end;
20.4. 289
20.3. ,
, 0,
.
.
. ,
.
20.4.
f(x) [a,b].
.
, [a,b] f(x)
. ,
.
.
f(x) . f(x)
, . , .
,
.
.
:
, ( )
( ).
20.3.
(
)
function Dichotomy(a,b,eps:real):real;
var c:real;
begin
29020.
c:=(a+b)/2;
if b-a<eps then
Dichotomy:=c
else
if f(a)*f(c)<0 then
Dichotomy:=Dichotomy(a,c,eps)
else
Dichotomy:=Dichotomy(c,b,eps)
end;
, f(x)
.
, while
a b. .
20.5.
n
k, , n 0
1, k .
,
n,
, k . ,
.
.
.
.
: 0, 1.
0, n1 k . 1, n1 k1 .
. ,
:
.
:
1 ( 0 1).
20.5. 291
:
. , . ,
0 1, ,
, . , -
, .
,
n.
, , , .
n ( , k)
,
.
. ,
,
. .
20.4.
n, k
var a:array[1..100] of integer; {
}
i,dlina:integer; {
}
procedure Rasstanovka(n,k:integer);
begin
if n=1 then { }
begin
a[n]:=k; { 0 1.
,
( k) }
for i:=1 to dlina do
write(a[i]); { }
writeln
end
else
begin
a[n]:=0; { n- "0" }
29220.
if n-1>=k then
{
}
Rasstanovka(n-1,k); {
n-1 k }
a[n]:=1; { n- "1" }
if k-1>=0 then {
}
Rasstanovka(n-1,k-1); {
n-1 k-1 }
end
end;
begin
dlina:=6;
Rasstanovka(dlina,3);
end.
1. , , .
2.
.
3. ,
.
1.
?
2. ?
3. ?
1
-
.1. -
()
, -,
(A:=B+C)
.
.
, .
- .
. .
,
();
()
, (
).
1. - 295
I=1,N.
,
(
) N .
I
1 N 1
.
1. - A B+C.
,
.
2. - ,
: I=3,N,2 I 3 N 2.
3.
: i ! 1, N .
4. , (
). , .
,
, .
5. ()
(). , .
Integer. . . .
1. . , , ,
, .
2. .
, ,
, .
3. .
.
4. ().
.
5. . 4-, 6-
8- . .
Real. . . .
6. .
( ) , ,
, .
7. ( ).
, .
298 2.
8. ( ).
( ,
, ,
), , .
9. .
( ), ( )
.
10. .
, , ,
.
Real.
11. :
x + 2, 5
2
- 3 sin 2x ;
) y = x 2 +
3x
1-x
) y = 5
) y =
2x - 3, 5
+ e x + 2 $ cos3 x;
8x 2
5x - 6
2
x - 3 + 2, 4
- 3ln
2
.
5x
12. :
3x + 5
) y = 2 x - 3
;
) y =
5
;
4 log x - 2 3 + x
) y =
2tg 2 2x - 1
.
4
13. (Real
Integer):
) 2-13 mod 7/3+sqr(4);
) abs(8-sqrt(2/0.5)+4 mod 3);
) 12*3 div 5/3.5+sqr(1).
Boolean. 299
Char. . . . 1
14. . , ASCII .
15. (,
). ,
(/).
16. . , :
; ; , ( ASCII)
; , ( ASCII) .
17. . ,
.
18. : ,
. .
Boolean.
19. , .
(), ,
.
,
, , :
) ;
) ;
) ;
) ;
) ;
) , ( );
upcase(x),
.
.
300 2.
) ;
) .
.
Boolean.
20. , ,
x :
)
21. , ,
x:
) [1; 1] [3; 5];
) [1; 1] [3; 5];
) [; 1] [2; 4] [5; + ].
If. . Min/max/
22. 2 .
.
For. 301
23. 3 .
.
24. 3 . .
25. .
(+1 , 1 ,
0 ).
26. 4 . .
27. . ,
.
If.
2832: a b, :
28. ax + b = 0.
29. ax2 + bx = 0.
30. ax + b 0.
31. a|x| = b.
32. ax2 + b 0.
33. ax4 + bx2 + = 0 a, b c, .
For.
34. 10 . .
35. 20- (1, 3, 5, 7, ).
36. 15 :
1,4, 7, 10, 13,
37. 30
+30.
302 2.
38. (
). , .
39. 20
: 1, 1, 2, 3, 5, 8, (
).
For.
40. 10 .
.
41. 10-
.
:
----------1
1
3
27
5
125
7
343
9
729
42. ( ).
:
----------------0
1
1
2
2
4
3
8
4
16
5
32
While-Repeat. 303
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
| -15.9
| -10.4
| -6.1
| -3.0
| -1.1
| -0.4
| -0.9
| -2.6
44. 5
,
.
For.
45. 10 .
.
46. 10 .
.
47. 10 .
, 3.
48. 10 .
, .
49. N.
, N,
13 7.
While-Repeat.
50. , . .
51. , ,
5. , 10.
52. ,
.
.
304 2.
53. A B.
A B,
( , ).
54. , . (
readln read; readln ).
55. . (
2 ).
56. . (
).
While-Repeat.
57. N (N > 1).
11 1 1 1 1
N : , , , , , , g
12 3 4 5 6
.
58. N (N > 1).
1 3 5 7 9 11
N : , , , , , , g
1 2 4 8 16 32
.
59. N (N > 1) x. N :
2, 4x, 6x2, 8x3, 10x4, f .
60. (0 < < 1) x (0 < x < 1,5). :
1 x x3 x5
x7
,
, f , .
, , ,
2 4 16 256 65 536
.
. 305
.
:
61.
62.
63.
64.
65.
66.
.
:
67.
68.
69.
70.
71.
72.
306 2.
. , ,
/
(, 20 ):
73. :
2, 5, 8, 11,
74. :
2, 4, 8, 16, 32,
75. :
1, 3, 7, 15, 31,
76. .
77. .
78. . , (5, 1, 3, 8) ( ) (5 1, 1 3, 3 8).
4, 2, 5 .
(4 + 2 + 5)/3 3,67).
79.
.
80. ,
2, .
81. .
82.
.
83. ,
.
.
(, 20 ):
84. .
85. (
(1,2, 3, 4, 5, 6, 7, 8, 9, 10) (2, 1, 4, 3, 6,
5, 8, 7, 10, 9)).
. 307
86. (). .
87.
().
.
88. . ,
( (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
(5, 4, 3, 2, 1, 10, 9, 8, 7, 6)).
89. ( (1, 2, 3,
4, 5, 6, 7, 8,9, 10) (6, 7, 8, 9, 10, 1, 2, 3,
4, 5)).
90. 1 20 ( ).
, .
91. k ().
. k
.
.
,
.
(, 20 ):
92. .
93. .
94. .
95. . ,
.
96.
.
308 2.
.
(, 20 ):
97. , .
98. , .
99. , ,
( ).
100. , (
).
101. , .
102. ,
.
103. , .
.
(, 20 ):
104. .
105. ,
.
106. , .
107. , .
108. .
109. ,
( ).
110. , , .
111. ,
20 Hello!
. I 309
112. ,
,
, .
113. , , 13 3.
114. ,
99.
115. , ,
,
.
116. ,
( , ).
. I
117. . .
118. . .
119. . ( , ).
120. . Masha Irisha.
121. . .
122. . ,
.
123. , (
,
). ,
, .
310 2.
. II
( integer,
real) .
124. , .
, .
125. . ,
.
126. , , ( 7 ).
(, ).
127. , ,
( ). ,
, .
128. , , ( ).
, , .
129. , , . .
. I
130. ,
.
131. sign ( : +1,
0 1).
132. , X, Y.
133. , .
134. , .
. III 311
135. , , .
. II
136. ,
.
137. , , .
138. , , 10, .
139. , .
140. , ( ).
141. , , .
. III
, :
142. , .
143.
.
144. .
145.
.
146. ( ).
147.
.
312 2.
148. ( ( =1)
, ).
:
149. .
150. .
151. .
.
152.
( ).
:
1
2
3
4
5
2
1
4
3
5
153. ,
begin.
154. , .
155. .
156. ,
.
157. , .
158. ,
.
159. ,
.
160. ,
end ( / ).
313
161. (, )
, begin
end. , . , begin
end .
162. ,
. .
:
.
,
. .
163. (1020) ( 15+15). .
164. .
.
165. ,
.
.
166. . .
167.
, .
.
168. (12, 34, ).
.
169.
50 , .
.
170. , ,
, ,
, .. .
314 2.
171. .
.
172. .
.
173. . ,
.
174. . , .
175. , .
176. N-
k- . N k , ( N=3 k=2: 000, 001, 010,
011, 100, 101, 110, 111).
177. N
. N , 2 9, (
).
178. . , . : 4 = 3 + 1 = 2 + 2 = 2 + 1 + 1 = 1 + 1 + 1 + 1.
2-
.
.
.
.
.
.
.
, ,
,
/ . , . ., . 29
./: (812) 7037373, 7037372; email: sales@piter.com
. , ., . 2/1, . 1, 6
./: (495) 23438-15, 97434-50; e-mail: sales@msk.piter.com
, .
: (812) 703/73/73. E/mail: fuganov@piter.com
.
: / (812) 703/73/72, (495) 974/34/50
.: (812) 7037373.
mail: kozin@piter.com
: www.piter.com; .: (812) 703-73-74
ICQ 413763617
!
.
./: (4232) 238212
email: bookbase@mail.primorye.ru
,
.: (3952) 200917, 241777
email: prodalit@irk.ru
http://www.prodalit.irk.ru
, , . , . 1
.: (4212) 360665, 339531
email: dkniga@mail.kht.ru
,
./: (3952) 252590
email: kkcbooks@bk.ru
http://www.kkcbooks.ru
,
.: (4212) 328551, : (4212) 328250
email: postmaster@worldbooks.kht.ru
,
.: (4212) 394960
email: zakaz@booksmirs.ru
, , . , . 3
.: (8182) 654134, 653879
email: marketing@avfkniga.ru
, , . , . 4
.: (4732) 267777
http://www.amital.ru
, ,
./: (4012) 215628, 656568
email: nshibkova@vester.ru
http://www.vester.ru
, ,
, .15
.: (846) 3312233
email: chaconne@chaccone.ru
, , . , . 58
.: (4732) 512893, 470081
email: manager@kmsvrn.ru
, , . , 424
./: (87934) 69309
email: rossy@kmw.ru
,
. , . 86
./: (3912) 273971
email: bookworld@public.krasnet.ru
,
.: (383) 3361026
: (383) 3361027
email: office@topkniga.ru
http://www.topkniga.ru
, ,
.: (843) 2723455
email: tais@bancorp.ru
,
. , . 12
./: (343) 3581898, 3581484
email: domknigi@k66.ru
,
. , . 1
./: (343) 228-10-70
e-mail: igm@lumna.ru
http://www.lumna.ru
,
. , . 124
.: (351) 2477403, 2477409, 2477416
email: zakup@intser.ru
http://www.fkniga.ru, www.intser.ru
?
!
?
?
? ,
?
!
!
www.piter.com/ePartners
www.piter.com,
,
( www.piter.com)
!
.
10% ,
, - c
. ,
, 5%
.
, , 500 ,
. Web.Money.
:
http://www.piter.com/book.phtml?978538800282
http://www.piter.com/book.phtml?978538800282&refer=0000
, 0000
WWW.PITER.COM
:
: www.piter.com
: postbook@piter.com
: (812) 703/73/74
: 197198, /, / 127,
ICQ: 413763617
:
.
.
,
.
.
: . Webmoney USD E-Gold, MoneyMail, INOCard, RBK Money (RuPay),
USD Bets, Mobile Wallet .
, ,
.
.
.
e-mail.
:
, , , , , email;
, , , , , ,
, ;
, , .