IT_04_11
.pdf21
пока будет выполняться указанное условие. Условие проверяется каждый раз перед выполнением тела цикла.
Формат цикла с предусловием в языке С++ следующий: while (условие)
{ |
тело_цикла |
} |
|
Следующее после while условие должно быть заключено в круглые скобки. Если выражение условия истинно, то выполняется непосредственно следующий за ним оператор. Это повторяется до тех пор, пока вычисление условия не станет ложно.
4.9.2 Цикл с постусловием do .. while.
В отличие от предыдущего оператор цикла с постусловием сначала выполняет тело цикла, а затем проверяет условие о том, нужно ли продолжить итерации. Считается, что этот оператор более эффективен для поиска ошибок при верификации и отладки программ, так как тело цикла выполнится хотя бы один раз. Формат цикла с постусловием:
do |
{ оператор_1; |
|
оператор_2; |
|
... |
|
оператор_N; |
}while (выражение условия продолжения цикла);
4.9.3Оператор цикла for .
Оператор for используется для заранее заданного числа итераций. Формат описания цикла for:
for (установка_счетчика; условие_цикла; модификация_счетчика) { операторы_тела_цикла;
}
Сначала выполняется установка_счетчика, потом проверяется условие_цикла и если оно истинно, выполняются операторы_тела_цикла, затем вычисляется модификация_счетчика и управление передается в начало цикла с разницей, что начальная_инструкция уже не выполняется, например:
#include <iostream.h> int main()
{ for(int i = 0; i < 10; ++i) cout << i << endl;
return 0;
}
Пример вывода на экран десяти целых чисел, начиная с нуля: for (int i=0; i<10; i++) cout << i << “ “;
Что эквивалентно записи цикла с предусловием: int i = 0;
while (i<10) { cout << i << “ “; i++; }
но более удобочитаемо, поскольку вся информация, управляющая циклом, локализована. Операция ++ к целой переменной i добавляет единицу. Первая часть оператора for не обязательно должна быть описанием, она может быть любым оператором.
Возможно использование внутри цикла for нескольких счетчиков и условий. При этом они внутри скобок отделяются друга запятой в формате:
for( инициализация_счетчика_1, инициализация_счетчика_2; условие продолжения итераций;
изменение_счетчика_1, изменение_счетчика_2) тело_цикла;
Пример задания вывода на экран двух переменных: i от 10 до 100 шагом 10 и j от 1000 до 100 шагом 100, пока i<j.
for(int i=10, int j=1000;i<j; i+=10,j-=100) cout<<i <“ ”<<j;
Для прерывания циклов могут использоваться следующие операторы 1) break – прерывает выполнение цикла в указанной точке;
22
2) continue – завершает текущий оператор в теле цикла и производит проверку условия продолжения итераций.
4.10 Ввод – вывод в языке программирования С++
В С++ для консольного ввода-вывода используются стандартные потоки:
1)cin – поток ввода данных с клавиатуры в программу;
2)cout – поток вывода данных из программы на экран.
Для передачи данных в эти потоки используются два оператора << и >>. С помощью первого передаются данные на поток cout, второго – считываются данные из cin.
При вводе данных используется следующий формат: cin >> Данные1 >> Данные2 >> … >> Данные N;
При выводе данных на консоль:
cout << Данные1 << Данные2 << … << Данные N ;
Для форматированного вывода в С++ используются встроенные функции потока cout (таблица 4.9) и манипуляторы модуля iomanip (таблица 4.10).
Встроенная функция cout (или иного потока) вызывается с помощью конструкции составного имени в следующем формате:
|
поток.функция(параметры); |
Таблица 4.4 – Встроенные функции потока cout |
|
|
|
Функция |
Описание |
width(int x) |
Минимальное число знаков до следующего вывода |
fill(char x) |
Устанавливает символ-заполнитель (по умолчанию – пробел) |
precision(int x) |
Устанавливает число значащих знаков для чисел с плавающей точкой |
Пример. |
|
|
|
int X=101, Y=2, Z=3; |
// Объявление переменных |
||
cout.width(10); |
|
// Задание ширины вывода данных в 10 позиций |
|
cout << X << Y << Z; |
// Вывод трех переменных |
||
Манипулятор – специальная функциобразная операция. В отличие от встроенных |
|||
функций манипуляторы |
при выводе данных передаются в поток с помощью оператора |
||
<<. |
|
|
|
Таблица 4.5 – Манипуляторы потоков модулей iostream.h и iomanip.h |
|||
|
|
|
|
Манипулятор |
|
|
Описание |
endl |
|
Перевод строки |
|
flush |
|
Выгружает содержимое буфера в поток |
|
dec |
|
Меняет формат вывода числа на десятичный |
|
oct |
|
Меняет формат вывода числа на восьмеричный |
|
hex |
|
Меняет формат вывода числа на шестнадцатеричный |
|
ws |
|
Извлекает и удаляет символы пустых промежутков из потока |
|
showpos |
|
Показывает '+' перед неотрицательными числами |
|
showpoint |
|
Показывает десятичную точку |
|
noshowpoint |
|
Скрывает десятичную точку |
|
setw(int w) |
|
Задает минимальную ширину вывода |
|
setprecision(int n) |
|
Устанавливает точность представления чисел с плавающей |
|
|
|
точкой равной n разрядам |
|
setfill(int code) |
|
Устанавливает код символа-заполнителя |
Манипуляторы могут объединяться в цепочку вставок (или извлечений из потока). Например задание ширины 4 позиции для i и 6 – для j:
cout << setw(4) << i << setw(6) << j;
Это эквивалентно более широкой записи с использованием функций: cout.width(4);
cout << i; cout.width(6); cout << j;
23
5 Контрольные вопросы
1.Что такое "алгоритм"?
2.Какими свойствами должен обладать алгоритм?
3.Какие виды описания алгоритмов используются на практике?
4.Какие виды схем алгоритмов различают в ГОСТ 19.701-90?
5.Какие виды символов используют для изображения блок-схем?
6.По каким правилам строится схема программы?
7.Какие методы используются при разработке схем алгоритмов?
8.Какие основные базовые конструкции используются для построения схем алгоритмов?
9.Как в С++ производится вывод информации на экран монитора?
10.Каким образом в С++ вводятся значения переменных с клавиатуры?
11.Какие операторы С++ используются для выполнения основных математических операций?
12.Какие операторы условного перехода используются в языке С++?
24
6 Варианты заданий
6.1 Варианты индивидуальных заданий к задаче №1
Составить блок-схему алгоритма и написать текст программы на языке программирования С++ решения задачи с условным переходом. Необходимо рассчитать значение искомой переменной по одному из двух альтернативных выражений в зависимости от значения переменной условия, значение которого необходимо предварительно вычислить согласно заданию. Значения переменной условия и переменной результата должны выводиться на экран.
Исходные данные к заданию находятся в таблице 6.1.
Таблица 6.6 - Индивидуальные задания к задаче №1
№ |
Данные1 |
Данные |
2 |
Переменная |
Условие |
Условие не |
|
условия |
выполняется |
выполняется |
|||||
|
|
|
|
||||
1 |
A1= 2.35 |
A2=-5.89 |
|
B=(A12-A2)>0 |
C=3.1B-A1A22 |
C=A12A2-3.1B |
|
2 |
X1=-8.44 |
X2= 1.73 |
|
Y=(4X1-X2)<0 |
Z=5Y2-X2+2X1 |
Z=X1+X2-5Y2 |
|
3 |
E1= 7.54 |
E2=-3.62 |
|
F=(3E2-E1)>0 |
Y=4F /(E1-E2) |
Y=4F/(E2-E1) |
|
4 |
B1=-6.71 |
B2= 4.57 |
|
E=(B1-B22)<0 |
X=2E -B1+B22 |
X=2E -B2+B12 |
|
5 |
C1= 3.26 |
C2=-5.41 |
|
X=(C1 C2)>0 |
E=7.5X - C1/C2 |
E=C1/C2 -7.5X |
|
6 |
D1=-9.08 |
D2= 6.35 |
|
I=(D12-D22)<0 |
B=2.1D1-3.4 I |
B=1.2D2-3.4 I |
|
7 |
F1= 5.12 |
F2=-2.06 |
|
A=(7F12-F2)>0 |
D=3.1A-7F1F2 |
D=7F1F2-3.1A |
|
8 |
H1=-0.97 |
H2= 7.94 |
|
D=(H1/H22)<0 |
F=8D-7.5H1H2 |
F=4.5H1H2-6D |
|
9 |
I1= 1.63 |
I2=-9.18 |
|
H=(3I12-I22)>0 |
A=H/(3.8I1-I2) |
A=H/(I2-3.8I1) |
|
10 |
J1=-4.32 |
J2= 0.79 |
|
C=(J1J2-9)<0 |
I=3C-4.1(J1J2)2 |
I=4(J1J2)2-3C |
|
11 |
K1= 7.45 |
K2=-3.82 |
|
J=(K1-5K22)>0 |
H=2.5J-K1K2 |
H=K1K2-2.5J |
|
12 |
L1=-2.71 |
L2= 5.63 |
|
K=(L12/L2)<0 |
J=9K-3L1+L2 |
J=3L1-L2-9K |
|
13 |
M1=5.23 |
M2=-1.1 |
|
L=(M1-M2)>0 |
K=L-5.4M1M2 |
K=5.4M1M2-L |
|
14 |
N1=-3.64 |
N2= 4.47 |
|
M=(N12N2)<0 |
L=M/(N1-N2) |
L=M/(N2-N1) |
|
15 |
P1= 8.19 |
P2=-2.34 |
|
N=(2P1/P22)>0 |
M=(3P1-P2)/N |
M=(3P2-P1)/N |
|
16 |
R1=-6.57 |
R2= 6.95 |
|
P=(R1/R2-1)<0 |
N=11(R1-R2)P |
N=11(R2-R1)P |
|
17 |
S1= 1.08 |
S2=-7.21 |
|
R=(1/S1/S2)>0 |
P=7(S12-S2)R |
P=7(S22-S1)R |
|
18 |
T1=-0.62 |
T2= 8.58 |
|
S=(T22-9T1)<0 |
R=5S/(9T1-T2) |
R=5S/(9T2-T1) |
|
19 |
Q1= 4.86 |
Q2=-9.46 |
|
T=(Q22/Q1)<0 |
S=3T/(Q1-Q2) |
S=5T/(Q2-Q1) |
|
20 |
V1=-9.31 |
V2= 0.99 |
|
Q=(V1-V22)>0 |
T=Q2/(Q-V1V2) |
T=Q2/(V2V1) |
|
21 |
W1=5.04 |
W2=-3.3 |
|
V=(W1-W2)<0 |
Q=V2-2W1W2 |
Q=2W1W2-V2 |
|
22 |
Y1=-8.71 |
Y2= 5.14 |
|
W=(Y1+Y2)>0 |
V=4W-Y12/Y2 |
V=Y12/Y2-4W |
|
23 |
Z1= 2.93 |
Z2=-1.08 |
|
Y=(Z1-Z22)<0 |
W=Z1Z2-1.4Y |
W=1.4Y-Z1Z2 |
|
24 |
U1=-7.35 |
U2= 4.56 |
|
Z=(U12+U2)>0 |
Y=Z-U1/(U2-1) |
Y=Z+U1/U2 |
|
25 |
G1= 1.82 |
G2=-2.71 |
|
U=(G1G22)<0 |
Z=U/(G12-G2) |
Z=U/(G22-G1) |
|
26 |
A3=-4.24 |
A4= 8.62 |
|
G=(A32-A4)>0 |
U=A3A4-8G2 |
U= 8G2 -A3A4 |
|
27 |
B3= 6.19 |
B4=-7.45 |
|
A=(B3/B42)<0 |
G=B3/(B4-A2) |
G=B4/(B3-A2) |
|
28 |
C3=-0.66 |
C4= 1.27 |
|
B=(C4-2C3)>0 |
A=C3A2-3C42 |
A=C4A2-3C32 |
|
29 |
D3= 3.47 |
D4=-0.83 |
|
C=(D4/D32)<0 |
B=D3-2D4C2 |
B=D4-2D3C2 |
|
30 |
E3=-9.58 |
E4= 6.99 |
|
D=(E3-E42)>0 |
C=E3D-0.5E42 |
C=E4D-0.5E32 |
|
31 |
F3= 4.83 |
F4=-9.01 |
|
E=(F32-7F4)<0 |
D=E2/(7F4-F3) |
D=E2/(7F3-F4) |
|
32 |
H3=-1.61 |
H4= 3.25 |
|
F=(H32-H42)>0 |
E=F-(H3-2H4)2 |
E=(H3-2H4)2-F |
|
33 |
G3= 7.90 |
G4=-1.78 |
|
H=(5G3-G4)<0 |
F=1.7H2-G3G4 |
F=G3G4-1.7H2 |
|
34 |
I3=-5.72 |
I4= 2.16 |
|
G=(I32/I4+1)>0 |
H=0.3G-I3/I4 |
H=-0.3G+I4/I3 |
|
35 |
J3= 2.28 |
J4=-4.57 |
|
I=(J3/(J4-1))<0 |
G=5I2-(J3/J4)2 |
G=(J4/J3)2-5I2 |
|
36 |
K3=-8.14 |
K4= 5.61 |
|
J=(K32-7K4)>0 |
I=(K32-K4)2/J2 |
I=(K42-K3)2/J2 |
|
37 |
L3= 0.87 |
L4=-8.34 |
|
K=(L3L4-9)<0 |
J=L3(L4-9)/K2 |
J=L4(L3-9)2/K |
|
38 |
M3=-6.3 |
M4=7.72 |
|
L=(M32-M4)>0 |
K=2(M32-M4L) |
K=(M42-M3L) |
|
39 |
N3= 4.91 |
N4=-6.49 |
|
M=(N3/N4)<0 |
L=(N32+9.1)/M |
L=(N42+7)/M |
|
40 |
P3=-2.68 |
P4= 0.83 |
|
N=(5P3-P42)>0 |
M=P32/(N+P4) |
M=P42/(N+P3) |
|
41 |
R3= 9.05 |
R4=-3.16 |
|
P=(R3R4/5)<0 |
N=P/(R3-5R4)2 |
N=P/(R4-5R3)2 |
|
42 |
S3=-5.36 |
S4= 1.98 |
|
R=(1/S3/S4)>0 |
P=(S3-2S4)2R |
P=(S4-2S3)2R |
|
43 |
T3= 8.59 |
T4=-2.07 |
|
S=(T42-T32)<0 |
R=S/(T32-3T4) |
R=S/(T42-3T3) |
25
№ |
Данные1 |
Данные |
2 |
Переменная |
Условие |
Условие не |
|
условия |
выполняется |
выполняется |
|||||
|
|
|
|
||||
44 |
Q3=-1.43 |
Q4= 9.25 |
|
T=(Q3+Q42)>0 |
S=4T/(Q3-6Q4) |
S=2T/(Q4-Q3) |
|
45 |
U3= 7.22 |
U4=-4.59 |
|
Q=(U3+U4)<0 |
T=(Q-U3)2/U4 |
T=(Q-U4)2/U3 |
|
46 |
X3=-3.74 |
X4= 5.61 |
|
U=(9X3-X4)>0 |
Q=U/X3-0.3X4 |
Q=U/X4-0.3X3 |
|
47 |
Y3= 6.81 |
Y4=-7.46 |
|
X=(Y3-2Y4)<0 |
U=XY3-0.7Y4 |
U=XY4-0.7Y3 |
|
48 |
W3=-1.6 |
W4=9.12 |
|
Y=(W4/W3)>0 |
X=Y(W32-W4) |
X=Y(W42-W3) |
|
49 |
V3= 0.27 |
V4=-2.34 |
|
W=(V3V42)<0 |
Y=W/(V32-V4) |
Y=W/(V42-V3) |
|
50 |
Z3=-8.08 |
Z4= 3.76 |
|
V=(Z3-Z42)>0 |
W=(Z3+Z42)/V |
W=(Z32+Z4)/V |
6.2 Варианты индивидуальных заданий к задаче №2
Составить блок-схему алгоритма и написать текст программы на языке программирования С++ решения циклической задачи вычисления значения функции в зависимости от значения переменной аргумента. Значения переменной аргумента должны изменяться от начального до конечного значения с заданным шагом изменения. Исходные данные к заданию находятся в таблице 6.2.
Таблица 7 - Индивидуальные задания к задаче №2
№ |
Начальное |
Конечное |
Значение |
Выражение для расчета |
||
значение |
значение |
шага |
значений функции |
|||
|
||||||
1 |
Xn = -0.25 |
Xk = 1.75 |
Hx = 0.05 |
Y = 2.23 X2 + 3.12 X - 1.95 |
||
2 |
Yn = - 2.20 |
Yk = 2.30 |
Hy = 0.10 |
Z = -1.2 5Y2 |
+0.46 Y - 0.88 |
|
3 |
Zn = -5.25 |
Zk = 4.75 |
Hz = 0.25 |
A = 2.85 Z2 - 4.15 Z + 6.05 |
||
4 |
An = -10.50 |
Ak = 30.50 |
Ha = 0.50 |
B = -1.45 A2 |
+ 9.15 A + 12.5 |
|
5 |
Bn = -4.20 |
Bk = 3.80 |
Hb = 0.20 |
C = 0.52 B2 + 2.52 B + 7.84 |
||
6 |
Cn = -3.50 |
Ck = 11.50 |
Hc = 0.35 |
D = -0.15 C2 |
- 5.33 C - 9.21 |
|
7 |
Dn = -3.60 |
Dk = 12.40 |
Hd = 0.40 |
E = 1.08 D2 - 7.22 D - 2.43 |
||
8 |
En = -0.15 |
Ek = 0.45 |
He = 0.15 |
F = 4.02 E2 - 8.49 E + 3.14 |
||
9 |
Fn = - 9.90 |
Fk = 2.10 |
Hf = 0.30 |
G = -2.36 F2 |
+ 6.07 F + 8.3 |
|
10 |
Gn = -6.75 |
Gk = 11.25 |
Hg = 0.45 |
I = -3.44 G2 |
- 4.72 G +5.57 |
|
11 |
In = -13.20 |
Ik = 10.08 |
Hi = 0.60 |
J = 0.97 I2 - 1.75 I + 4.32 |
||
12 |
Jn = -9.60 |
Jk = 22.40 |
Hj = 0.80 |
K = 1.06 J2 + 5.67 J - 6.98 |
||
13 |
Kn = -13.0 |
Kk = 13.0 |
Hk = 0.65 |
L = 0.64 K2 + 2.71 K + 7.07 |
||
14 |
Ln = -11.25 |
Lk = 26.25 |
Hl = 0.75 |
M = -5.05 L2 |
- 9.18 L - 11.91 |
|
15 |
Mn = -14.0 |
Mk = 14.0 |
Hm = 0.70 |
H = -3.33 M2 |
+ 8.54 M + 9.61 |
|
16 |
Hn = -8.50 |
Hk = 25.50 |
Hh = 0.85 |
N = 4.05 H2 - 6.57 H - 8.46 |
||
17 |
Nn = -9.90 |
Nk = 26.10 |
Hn = 0.90 |
P = -2.24 N2 |
+ 7.94 N - 5.73 |
|
18 |
Pn = -16.15 |
Pk = 21.85 |
Hp = 0.95 |
R = -0.09 P2 |
-1.72 P + 2.19 |
|
19 |
Rn = -10.45 |
Rk = 11.55 |
Hr = 0.55 |
S = -1.89 R2 |
- 4.29 R - 3.63 |
|
20 |
Sn = -18.95 |
Sk = 22.05 |
Hs = 1.05 |
T = 2.08 S2 + 5.65 S + 4.34 |
||
21 |
Tn = -17.0 |
Tk = 23.0 |
Ht = 1.0 |
Q = 0.51 T2 - 3.77 T + 6.06 |
||
22 |
Qn = -11.50 |
Qk = 34.50 |
Hq = 1.15 |
W = 2.18 Q2 + 1.99 Q - 11.01 |
||
23 |
Wn = -24.0 |
Wk = 24.0 |
Hw = 1.20 |
V = -1.15 W2 |
+ 9.03W + 7.12 |
|
24 |
Vn = -18.75 |
Vk = 31.25 |
Hv = 1.25 |
U = -2.05 V2 |
- 0.88 V + 9.61 |
|
25 |
Un = -21.0 |
Un = 39.0 |
Hu = 1.50 |
X = -0.45 U2 |
+ 7.12 U - 8.02 |
|
26 |
Xn = -12.10 |
Xk = 20.90 |
Hx = 1.10 |
F1 = -1.97 X2 - 6.24 X - 5.22 |
||
27 |
An = -26.0 |
Ak = 26.0 |
Ha = 1.30 |
Y1 = 3.01 A2 + 8.11 A + 9.43 |
||
28 |
Bn = -1.45 |
Bk = 27.55 |
Hb = 1.45 |
A1 = 2.66 B2 - 4.77 B + 7.75 |
||
29 |
Cn = -28.0 |
Ck = 28.0 |
Hc = 1.40 |
E1 = 1.88 C2 - 5.19 C - 3.96 |
||
30 |
Dn = 13.50 |
Dk = 40.50 |
Hd = 1.35 |
X1 = 4.02 D2 +1.27 D - 12.81 |
||
31 |
En = -18.60 |
Ek = 43.40 |
He = 1.55 |
B1 = -0.18 E2 +3.91 E + 4.33 |
||
32 |
Fn = -16.50 |
Fk = 49.50 |
Hf = 1.65 |
C1 = -2.16 F2 + 9.66 F - 6.09 |
||
33 |
Hn = - 33.60 |
Hk = 46.40 |
Hh = 1.60 |
H1 = -1.27 H2 - 2.95 H + 9.93 |
||
34 |
Gn = -23.80 |
Gk = 44.20 |
Hg = 1.70 |
D1 = -0.74 G2 - 0.98 G - 8.17 |
||
35 |
In = -27.0 |
Ik = 45.0 |
Hi = 1.80 |
G1 = 3.09 I2 + 7.41 I + 1.53 |
||
36 |
Jn = -28.0 |
Jk = 42.0 |
Hj = 1.75 |
I1 = 4.22 J2 |
- 6.84 J + 2.79 |
26
№ |
Начальное |
Конечное |
Значение |
|
|
Выражение для расчета |
|||
значение |
значение |
шага |
|
|
значений функции |
||||
|
|
|
|||||||
|
|
|
|
|
|
|
|||
37 |
Kn = -36.10 |
Kk = 39.90 |
Hk = 1.90 |
J1 = |
2.38 |
K2 + 4.72 K - 5.57 |
|||
38 |
Ln = -27.75 |
Lk = 46.25 |
Hl = 1.85 |
K1 = |
1.68 |
L2 - 3.32 L - 7.67 |
|||
39 |
Mn = -23.40 |
Mk = 35.10 |
Hm = 1.95 |
L1 =-0.95 M2 + 1.72 M + 4.41 |
|||||
40 |
Nn = -14.0 |
Nk = 26.0 |
Hn = 1.0 |
M1 = |
-5.19 N2 + 9.89 N - 7.12 |
||||
41 |
Pn = -26.0 |
Pk = 34.0 |
Hp = 2.0 |
N1 = |
-3.29 P2 - 2.58 P + 9.26 |
||||
42 |
Rn = -22.55 |
Rk = 38.95 |
Hr = 2.05 |
P1 = |
-1.38 R2 - 5.06 R - 6.33 |
||||
43 |
Sn = -31.50 |
Sk = 52.50 |
Hs = 2.10 |
R1 = 2.26 S2 + 9.44 S + 4.29 |
|||||
44 |
Tn = -37.40 |
Tk = 50.60 |
Ht = 2.20 |
S1 = |
0.43 |
T2 |
+ 4.35 |
T - 8.21 |
|
45 |
Qn = -38.70 |
Qk = 47.30 |
Hq = 2.15 |
T1 = |
1.11 |
Q2 |
- 6.23 |
Q + 5.76 |
|
46 |
Un = -24.75 |
Uk = 65.25 |
Hu = 2.25 |
Q1 = |
2.37 |
U2 |
- 7.61 |
U - 3.31 |
|
47 |
Wn =-39.10 |
Wk = 52.90 |
Hw = 2.30 |
U1 |
=-0.31 W2 |
+ 2.94 |
W +1.17 |
||
48 |
Vn = -32.90 |
Vk = 61.10 |
Hv = 2.35 |
W1 |
= |
-2.55 V2 - 5.81 V + 9.74 |
|||
49 |
Xn = -45.60 |
Xk = 50.40 |
Hx = 2.40 |
V1 |
= |
-3.39 X2 + 8.26 X - 7.47 |
|||
50 |
Yn = -44.10 |
Yk = 53.90 |
Hy = 2.45 |
X1 |
= |
-1.59 Y2 - 0.74 Y - 4.22 |
Список литературы
1Архангельский, А. Я. C++ Builder 6. Справочное пособие. В 2-х кн. Кн.1. Язык С++ / А. Я. Архангельский. – М. : Бином-Пресс, 2004. – 544 с.
2Архангельский, А. Я. C++ Builder 6. Справочное пособие. В 2-х кн. Кн. 2. Классы и компоненты / А. Я. Архангельский. – М. : Бином-Пресс, 2004. – 528 с.
3Калинин, А.Г. Универсальные языки программирования. Семантический подход.
-М.: Радио и связь, 1991. - 400 с.
4ГОСТ 19.701-90 (ИСО 5807-85). Схемы алгоритмов, программ, данных и систем,
-Издательство стандартов, 1991. – 24 с.
5Прата, С. Язык программирования С++. Лекции и упражнения: учебник: пер. с англ. / С. Прата. – К. : ДиаСофт, 2001. – 656 с.
6Скляров, В.А. Язык C++ и объектно-ориентированное программирование. – Мн.:
Выш. шк., 1997. – 478 с.
7Скляров, В.А. Программирование на языках Си и Си++: Учебн. пособие. – М.:
Высш. шк., 1999. – 288 с.
8Харви Дейтел, Пол Дейтел. Как программировать на С++. Пер с англ. – М.: ЗАО «Издательство БИНОМ», 2000. – 1024 с.
9Ивашкова, Э.А. С++. Начала программирования. – М.: ЗАО «Издательство
БИНОМ», 2000. – 304 с.
10 Франка, П. С++ : учебный курс / П. Франка. – СПб.: Питер, 2001. – 528 с.