Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Требования и рекомендации по оформлению программного кода на языках С и С++. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
ɉɪɚɜɢɥɨ ɞɥɹɢɬɟɪɚɰɢɢɧɭɠɧɨɢɫɩɨɥɶɡɨɜɚɬɶ
ɧɚɢɛɨɥɟɟɩɨɞɯɨɞɹɳɢɣɜɢɞɨɩɟɪɚɬɨɪɚɰɢɤɥɚ
ȼ ɹɡɵɤɟ ɟɫɬɶ ɬɪɢ ɜɢɞɚ ɨɩɟɪɚɬɨɪɨɜ ɰɢɤɥɚ – for ZKLOH ɢdo-ZKLOH ɟɫɥɢ ɧɟ
ɫɱɢɬɚɬɶ ɰɢɤɥɵ ɩɨ ɤɨɥɥɟɤɰɢɹɦ Ɉɧɢ ɜɡɚɢɦɨɡɚɦɟɧɹɟɦɵ ɧɨ ɧɟ ɡɪɹ ɢɯɬɪɢɚɧɟ
ɨɞɢɧ ɟɞɢɧɫɬɜɟɧɧɵɣ Ⱦɟɥɨ ɜ ɬɨɦ ɱɬɨ ɤɚɠɞɵɣ ɢɡ ɨɩɟɪɚɬɨɪɨɜɩɪɟɞɧɚɡɧɚɱɟɧɞɥɹ
ɫɜɨɟɝɨɫɥɭɱɚɹɪɟɚɥɢɡɚɰɢɢɰɢɤɥɢɱɟɫɤɨɝɨɚɥɝɨɪɢɬɦɚ
ɐɢɤɥfor ɢɫɩɨɥɶɡɭɸɬ ɜɬɟɯ ɫɥɭɱɚɹɯɤɨɝɞɚɤɨɥɢɱɟɫɬɜɨɢɬɟɪɚɰɢɣɰɢɤɥɚ ɢɡ
ɜɟɫɬɧɨɡɚɪɚɧɟɟ ɟɳɺɞɨɧɚɱɚɥɚɟɝɨɢɫɩɨɥɧɟɧɢɹ
ɐɢɤɥ while ɢɫɩɨɥɶɡɭɸɬ ɬɨɝɞɚ ɤɨɝɞɚ ɤɨɥɢɱɟɫɬɜɨ ɢɬɟɪɚɰɢɣ ɡɚɪɚɧɟɟ ɧɟɢɡ
ɜɟɫɬɧɨɚɩɪɨɜɟɪɤɚɬɨɝɨɧɭɠɧɨ ɩɪɨɞɨɥɠɚɬɶ ɰɢɤɥ ɥɢɛɨɟɝɨɡɚɤɨɧɱɢɬɶɩɪɨɢɡɜɨ
ɞɢɬɫɹɞɨɧɚɱɚɥɚɞɟɣɫɬɜɢɹɬɟɥɚɰɢɤɥɚɌɨɟɫɬɶɭɫɥɨɜɢɟɰɢɤɥɚ– ɷɬɨɨɬɜɟɬɧɚɜɨ
ɩɪɨɫ©ɇɭɠɧɨɥɢɞɟɥɚɬɶɞɟɣɫɬɜɢɟ"ª
ɐɢɤɥ do-while ɢɫɩɨɥɶɡɭɸɬ ɬɨɝɞɚ ɤɨɝɞɚ ɤɨɥɢɱɟɫɬɜɨ ɢɬɟɪɚɰɢɣ ɡɚɪɚɧɟɟ ɧɟ
ɢɡɜɟɫɬɧɨ ɚɩɪɨɜɟɪɤɚɬɨɝɨɧɭɠɧɨɩɪɨɞɨɥɠɚɬɶ ɰɢɤɥ ɥɢɛɨ ɟɝɨ ɡɚɤɨɧɱɢɬɶ ɩɪɨɢɡ
ɜɨɞɢɬɫɹɩɨɫɥɟɜɵɩɨɥɧɟɧɢɹ ɞɟɣɫɬɜɢɹɬɟɥɚɰɢɤɥɚɌɨ ɟɫɬɶɭɫɥɨɜɢɟɰɢɤɥɚ– ɷɬɨ
ɨɬɜɟɬɧɚɜɨɩɪɨɫ©ɇɟɩɨɥɭɱɟɧɥɢɜɪɟɡɭɥɶɬɚɬɟɞɟɣɫɬɜɢɹɧɭɠɧɵɣɪɟɡɭɥɶɬɚɬ"ª
ȼɵɯɨɞ ɢɡ ɤɚɠɞɨɝɨ ɰɢɤɥɚ ɩɪɟɞɭɫɦɨɬɪɟɧ ɲɬɚɬɧɵɦɢ ɫɪɟɞɫɬɜɚɦɢ ɩɨɷɬɨɦɭ
ɢɫɩɨɥɶɡɨɜɚɧɢɟɞɥɹɜɵɯɨɞɚɢɡɰɢɤɥɚɨɩɟɪɚɬɨɪɚEUHDN ɢɥɢɞɥɹɜɵɯɨɞɚɢɡɨɱɟɪɟɞ
ɧɨɣɢɬɟɪɚɰɢɢɨɩɟɪɚɬɨɪɚFRQWLQXH ɹɜɥɹɟɬɫɹɩɥɨɯɢɦɫɬɢɥɟɦ
ɇɚɩɪɢɦɟɪɜ ɫɥɟɞɭɸɳɟɦɤɨɞɟɪɟɚɥɢɡɨɜɚɧɚɥɝɨɪɢɬɦɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɝɨɩɨ
ɢɫɤɚɡɧɚɱɟɧɢɹ ɜɦɚɫɫɢɜɟ Ɉɞɧɚɤɨɡɚɪɚɧɟɟ ɧɟɢɡɜɟɫɬɧɨɧɚ ɤɚɤɨɣɩɨ ɫɱɟɬɭɢɬɟɪɚ
ɰɢɢ ɢɫɤɨɦɨɟ ɡɧɚɱɟɧɢɟ ɛɭɞɟɬ ɨɛɧɚɪɭɠɟɧɨ Ⱦɥɹɩɪɢɧɭɞɢɬɟɥɶɧɨɝɨ ɩɪɟɤɪɚɳɟɧɢɹ
ɞɚɥɶɧɟɣɲɟɝɨɩɨɢɫɤɚɢɫɩɨɥɶɡɨɜɚɧEUHDNɯɨɬɹɰɢɤɥfor ɜɫɥɭɱɚɟɧɨɪɦɚɥɶɧɨɝɨɢɫ
ɩɨɥɧɟɧɢɹ ɞɨɥɠɟɧ ɟɫɬɟɫɬɜɟɧɧɨ ɡɚɜɟɪɲɢɬɶɫɹ ɩɪɢ ɞɨɫɬɢɠɟɧɢɢ ɤɨɧɟɱɧɨɝɨ ɡɧɚɱɟ
ɧɢɹɢɧɞɟɤɫɚ
51
for (int i = 0; i < n; i++)
if (a[i] == desiredValue) {
cout << "Found index = " << i << endl;;
break;
}
ɉɨɷɬɨɦɭɪɚɡɭɦɧɟɟɜɞɚɧɧɨɦɫɥɭɱɚɟɢɫɩɨɥɶɡɨɜɚɬɶɨɩɟɪɚɬɨɪZKLOH
int i = 0;
ZKLOHLQD>L@ GHVLUHG9DOXH
i++;
if (i < n)
cout << "Found index = " << i << endl;
else
cout << "Index not found" << endl;
ɉɪɚɜɢɥɨ ɧɟɥɶɡɹ ɢɫɩɨɥɶɡɨɜɚɬɶ goto
ɉɪɢɦɟɧɟɧɢɟ ɨɩɟɪɚɬɨɪɚ goto ɩɪɨɬɢɜɨɪɟɱɢɬ ɩɪɢɧɰɢɩɚɦ ɫɬɪɭɤɬɭɪɧɨɝɨ ɩɪɨ
ɝɪɚɦɦɢɪɨɜɚɧɢɹɬɚɤɤɚɤɧɚɪɭɲɚɟɬ ɟɫɬɟɫɬɜɟɧɧɵɣ ɯɨɞ ɢɫɩɨɥɧɟɧɢɹɩɪɨɝɪɚɦɦɧɵɯ
ɤɨɧɫɬɪɭɤɰɢɣɂɫɩɨɥɶɡɨɜɚɧɢɟ JRWR ɞɟɥɚɟɬɥɨɝɢɤɭɚɥɝɨɪɢɬɦɚɡɚɩɭɬɚɧɧɨɣɢɫɥɨɠ
ɧɨɣɞɥɹɨɬɥɚɞɤɢ
Ȼɟɡ ɧɟɝɨ ɜɩɨɥɧɟ ɦɨɠɧɨ ɨɛɨɣɬɢɫɶ ɱɬɨɛɵ ©ɩɟɪɟɩɪɵɝɧɭɬɶ ɧɢɠɟª ɩɨ ɩɪɨ
ɝɪɚɦɦɟ ɬɨ ɟɫɬɶ ɩɪɨɩɭɫɬɢɬɶ ɛɥɨɤ ɨɩɟɪɚɬɨɪɨɜ ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɭɫɥɨɜɧɵɣ
ɨɩɟɪɚɬɨɪɟɫɥɢɧɭɠɧɨɜɟɪɧɭɬɶɫɹɧɚɡɚɞɬɨɞɥɹɷɬɨɝɨɟɫɬɶɰɢɤɥ
52
int n;
label: FRXWȼɜɟɞɢɬɟɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨHQGO
cin >> n;
LIQ
goto label;
FRXWȼɵɜɜɟɥɢɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨQHQGO
Ⱥɥɶɬɟɪɧɚɬɢɜɧɨɟɪɟɲɟɧɢɟɛɟɡgoto
int n;
do {
FRXWȼɜɟɞɢɬɟɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨHQGO
cin >> n;
`ZKLOHQ
FRXWȼɵɜɜɟɥɢɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨQHQGO
ɉɪɚɜɢɥɨ ɫɥɟɞɭɟɬɢɡɛɟɝɚɬɶ ©ɦɚɝɢɱɟɫɤɢɯª ɱɢɫɟɥ
©Ɇɚɝɢɱɟɫɤɢɟª ɱɢɫɥɚ– ɷɬɨɹɜɧɨɢɫɩɨɥɶɡɭɟɦɵɟɜɩɪɨɝɪɚɦɦɟɱɢɫɥɨɜɵɟɡɧɚ
ɱɟɧɢɹ Ʉɨɝɞɚ ɬɚɤɨɟ ɱɢɫɥɨ ɜɫɬɪɟɱɚɟɬɫɹ ɜ ɩɪɨɝɪɚɦɦɟ ɬɨ ɧɟɨɱɟɜɢɞɧɨ ɤɚɤɨɣ
ɫɦɵɫɥɨɧɨ ɧɟɫɺɬɜɟɺɥɨɝɢɤɟɄɪɨɦɟɷɬɨɝɨɟɫɥɢɨɬɡɧɚɱɟɧɢɹɱɢɫɥɚɡɚɜɢɫɢɬɩɨ
ɜɟɞɟɧɢɟɩɪɨɝɪɚɦɦɵɚɬɚɤɱɚɳɟɜɫɟɝɨɢɛɵɜɚɟɬɬɨɞɥɹɢɡɦɟɧɟɧɢɹɷɬɨɝɨɩɨɜɟ
ɞɟɧɢɹ ɩɪɢɞɺɬɫɹ ɢɫɤɚɬɶ ɜɫɟ ɜɯɨɠɞɟɧɢɹ ©ɦɚɝɢɱɟɫɤɨɝɨª ɱɢɫɥɚ ɜ ɤɨɞ ɢɢɯɫɢɧ
ɯɪɨɧɧɨɩɪɚɜɢɬɶ

Ɍɢɩɢɱɧɵɟɫɥɭɱɚɢɢɫɩɨɥɶɡɨɜɚɧɢɹ©ɦɚɝɢɱɟɫɤɢɯª ɱɢɫɟɥ
int D>@ - ɦɚɝɢɱɟɫɤɨɟɱɢɫɥɨ
... ɡɚɩɨɥɧɟɧɢɟɦɚɫɫɢɜɚ
int PLQ  ɟɳɟɨɞɧɨɦɚɝɢɱɟɫɤɨɟɱɢɫɥɨ- 
for (int L LL // ɨɩɹɬɶ 
if (a[i] < min) ɩɨɢɫɤPLQɛɭɞɟɬɪɚɛɨɬɚɬɶɧɟɜɟɪɧɨ
min = a[i]; ɟɫɥɢɜɦɚɫɫɢɜɟɜɫɟɱɢɫɥɚɛɨɥɶɲɟ
ɉɪɚɜɢɥɶɧɵɦɛɭɞɟɬɨɩɪɟɞɟɥɢɬɶɢɢɫɩɨɥɶɡɨɜɚɬɶɢɦɟɧɨɜɚɧɧɵɟɤɨɧɫɬɚɧɬɵ
const int Q 
int a[n]; ɪɚɡɦɟɪɦɚɫɫɢɜɚɡɚɞɚɧɤɨɧɫɬɚɧɬɨɣ
... ɡɚɩɨɥɧɟɧɢɟɦɚɫɫɢɜɚ
int min = INT_MAX; ɫɬɚɧɞɚɪɬɧɚɹɤɨɧɫɬɚɧɬɚ
for (int i = 0; i < n; i++)
if (a[i] < min) ɩɨɢɫɤPLQɛɭɞɟɬɪɚɛɨɬɚɬɶ
min = a[i]; ɩɪɚɜɢɥɶɧɨ
ɋɭɳɟɫɬɜɭɸɬɢɫɤɥɸɱɟɧɢɹ ɢ ɧɟɫɱɢɬɚɸɬɫɹ ©ɦɚɝɢɱɟɫɤɢɦɢɱɢɫɥɚɦɢªɢɯ
ɦɨɠɧɨɢɫɩɨɥɶɡɨɜɚɬɶɹɜɧɨɬɚɤɤɚɤɢɯɫɦɵɫɥɩɪɚɤɬɢɱɟɫɤɢɜɥɸɛɨɦɤɨɧɬɟɤɫɬɟ
ɜɩɨɥɧɟɩɨɧɹɬɟɧ
ɉɪɚɜɢɥɨ ɩɪɨɟɤɬɢɪɨɜɚɧɢɟɮɭɧɤɰɢɣ ɦɟɬɨɞɨɜɤɥɚɫɫɨɜ
Ɏɭɧɤɰɢɢɦɟɬɨɞɵɤɥɚɫɫɨɜ – ɨɞɢɧɢɡ ɜɚɠɧɟɣɲɢɯɢɧɫɬɪɭɦɟɧɬɨɜɫɬɪɭɤɬɭɪɢ
ɪɨɜɚɧɢɹ ɤɨɞɚ ɩɨɡɜɨɥɹɸɳɢɣ ɜɵɩɨɥɧɢɬɶ ɞɟɤɨɦɩɨɡɢɰɢɸ ɡɚɞɚɱɢ ɧɚ ɥɨɝɢɱɧɨ
ɭɫɬɪɨɟɧɧɵɟɜɡɚɢɦɨɞɟɣɫɬɜɭɸɳɢɟɤɨɦɩɨɧɟɧɬɵɉɨɷɬɨɦɭɧɟɨɛɯɨɞɢɦɨɜɫɸɞɭɫɥɟ
ɞɨɜɚɬɶ ɪɹɞɭɩɪɚɜɢɥɱɬɨɛɵɮɭɧɤɰɢɢɢɦɟɬɨɞɵ ɩɨɦɨɝɚɥɢɮɨɪɦɢɪɨɜɚɬɶɯɨɪɨɲɨ
ɨɪɝɚɧɢɡɨɜɚɧɧɵɣɢɩɪɨɡɪɚɱɧɵɣɩɪɨɝɪɚɦɦɧɵɣɤɨɞ

ɄɚɠɞɚɹɮɭɧɤɰɢɹɞɨɥɠɧɚɨɬɜɟɱɚɬɶɡɚɪɟɲɟɧɢɟɪɨɜɧɨɨɞɧɨɣɡɚɞɚɱɢɌɚɤɚɹ
ɡɚɞɚɱɚ ɱɺɬɤɨ ɮɨɪɦɭɥɢɪɭɟɬɫɹ ɜ ɫɩɟɰɢɮɢɤɚɰɢɢ ɮɭɧɤɰɢɢ ɫɦ ɉɪɚɜɢɥɨ  Ʉɚɤ
ɩɪɚɜɢɥɨɡɚɞɚɱɚɦɨɠɟɬɛɵɬɶɪɚɡɛɢɬɚɧɚɫɨɫɬɚɜɥɹɸɳɢɟ ɟɺɩɨɞɡɚɞɚɱɢɬɨɝɞɚɪɚɫ
ɫɦɚɬɪɢɜɚɟɦɚɹɮɭɧɤɰɢɹɦɨɠɟɬɜɵɡɵɜɚɬɶɮɭɧɤɰɢɢɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟɷɬɢɦɩɨɞ
ɡɚɞɚɱɚɦɄɨɞɮɭɧɤɰɢɢ ɦɨɠɧɨɭɜɟɪɟɧɧɨɫɱɢɬɚɬɶɩɥɨɯɢɦ ɟɫɥɢɨɧɚɫɨɜɦɟɳɚɟɬ ɜ
ɫɟɛɟɪɟɲɟɧɢɟɞɜɭɯɢɥɢ ɧɟɫɤɨɥɶɤɢɯ ɡɚɞɚɱɤɚɠɞɚɹɢɡɤɨɬɨɪɵɯ ɦɨɠɟɬɢɫɩɨɥɶɡɨ
ɜɚɬɶɫɹɜɩɪɨɝɪɚɦɦɟɨɬɞɟɥɶɧɨɨɬɞɪɭɝɢɯ
Ɉɞɧɢɦɢɡɫɥɟɞɫɬɜɢɣɷɬɨɝɨɩɪɚɜɢɥɚɦɨɠɧɨɫɱɢɬɚɬɶɧɟɨɛɯɨɞɢɦɨɫɬɶɨɬɞɟɥɹɬɶ
ɨɬɨɫɧɨɜɧɨɝɨɚɥɝɨɪɢɬɦɚ ɡɚɞɚɱɢɫɜɹɡɚɧɧɵɟɫ ɜɜɨɞɨɦɢɜɵɜɨɞɨɦ ɑɚɫɬɨɧɚɱɢɧɚ
ɸɳɢɟɩɪɨɝɪɚɦɦɢɫɬɵɞɨɩɭɫɤɚɸɬ ɨɲɢɛɤɢ ɩɪɢɨɩɪɟɞɟɥɟɧɢɢɫɬɪɭɤɬɭɪɵ ɩɪɨɝɪɚɦ
ɦɵɤɨɝɞɚɮɭɧɤɰɢɹ ɧɚɣɞɹɧɭɠɧɵɣɪɟɡɭɥɶɬɚɬɧɟɜɨɡɜɪɚɳɚɟɬ ɟɝɨɲɬɚɬɧɵɦɫɩɨ
ɫɨɛɨɦɚɜɵɜɨɞɢɬɧɚɤɨɧɫɨɥɶɢɥɢɜɮɚɣɥȻɭɞɟɬɩɪɚɜɢɥɶɧɵɦɜɫɟɡɚɞɚɱɢɜɜɨɞɚɢ
ɜɵɜɨɞɚɩɨɪɭɱɢɬɶɫɩɟɰɢɚɥɶɧɵɦ ɮɭɧɤɰɢɹɦɦɟɬɨɞɚɦɤɥɚɫɫɚ ɨɬɜɟɱɚɸɳɢɦɬɨɥɶ
ɤɨɡɚɷɬɭɱɚɫɬɶɪɚɛɨɬɵ
ȼɫɥɟɞɭɸɳɟɦɩɪɢɦɟɪɟ ɮɭɧɤɰɢɹɪɟɲɚɟɬɫɪɚɡɭɞɜɟ ɡɚɞɚɱɢɡɚɩɨɥɧɹɟɬɜɟɤɬɨɪ
ɫɥɭɱɚɣɧɵɦɢɱɢɫɥɚɦɢɢɜɵɜɨɞɢɬɟɝɨɧɚɤɨɧɫɨɥɶɗɬɨɤɨɧɟɱɧɨɧɟɜɟɪɧɵɣɩɨɞɯɨɞ
Ɏɭɧɤɰɢɹɡɚɩɨɥɧɹɟɬɜɟɤɬɨɪvec n ɫɥɭɱɚɣɧɵɦɢɰɟɥɵɦɢ
ɱɢɫɥɚɦɢɢɡɢɧɬɟɪɜɚɥɚ>ɢɜɵɜɨɞɢɬɟɝɨɧɚɤɨɧɫɨɥɶ
void createRandomVector(vector<int>& vec, int n)
{
vec.resize(n);
for (int i = 0; i < n; i++) {
YHFDWL UDQG
cout << setw(4) << vec.at(i);
}
cout << endl;
}
55
Ɂɞɟɫɶɛɨɥɟɟɪɚɡɭɦɧɨɟɪɚɡɞɟɥɟɧɢɟɪɟɲɚɟɦɵɯɡɚɞɚɱ
Ɏɭɧɤɰɢɹɡɚɩɨɥɧɹɟɬɜɟɤɬɨɪ n ɫɥɭɱɚɣɧɵɦɢɰɟɥɵɦɢɱɢɫɥɚɦɢ
ɢɡɢɧɬɟɪɜɚɥɚ>
void createRandomVector(vector<int>& vec, int n)
{
vec.resize(n);
for (int i = 0; i < n; i++){
vec.at(i) = rand
}
}
ɎɭɧɤɰɢɹɜɵɜɨɞɢɬɜɟɤɬɨɪYHF ɧɚɤɨɧɫɨɥɶ
void printVector(const vector<int>& vec)
{
for (auto x : vec) {
cout << setw(4) << x;
}
cout << endl;
}
ɎɭɧɤɰɢɹPDLQ ɤɚɤɩɪɚɜɢɥɨ ɧɟɫɨɞɟɪɠɢɬɮɪɚɝɦɟɧɬɨɜɩɪɨɝɪɚɦɦɧɨɝɨɤɨɞɚ
ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɪɟɲɚɸɳɟɝɨ ɫɨɞɟɪɠɚɬɟɥɶɧɭɸ ɱɚɫɬɶ ɡɚɞɚɱɢ ɚ ɜɵɡɵɜɚɟɬ ɮɭɧɤ
ɰɢɢɢɥɢɫɨɡɞɚɟɬɨɛɴɟɤɬɵɤɥɚɫɫɨɜɨɬɜɟɱɚɸɳɢɟɡɚɷɬɨ
Ɏɭɧɤɰɢɹɞɨɥɠɧɚɛɵɬɶɨɬɧɨɫɢɬɟɥɶɧɨɧɟɛɨɥɶɲɨɝɨɪɚɡɦɟɪɚ Ʉɨɞɮɭɧɤɰɢɢ
ɦɟɬɨɞɚɤɥɚɫɫɚɩɪɟɞɧɚɡɧɚɱɟɧɞɥɹɨɞɧɨɣɡɚɞɚɱɢɢɤɚɤɨɣɛɵɧɢɛɵɥɚɨɧɚɫɥɨɠ
ɧɨɣɢɥɢɨɛɴɟɦɧɨɣɩɨɱɬɢɜɫɟɝɞɚɢɦɟɟɬɫɹɜɨɡɦɨɠɧɨɫɬɶ ɜɵɞɟɥɢɬɶɢɡɧɟɺɫɨɫɬɚɜ
ɧɵɟ ɱɚɫɬɢ ɩɨɞɡɚɞɚɱɢ ɢ ɩɨɪɭɱɢɬɶ ɢɯ ɞɪɭɝɢɦ ɮɭɧɤɰɢɹɦ ɉɪɟɞɟɥɶɧɵɣɪɚɡɦɟɪ
ɤɨɞɚɮɭɧɤɰɢɢɦɨɠɟɬɛɵɬɶɨɩɪɟɞɟɥɺɧɜɤɚɠɞɨɦɤɨɧɤɪɟɬɧɨɦɩɪɨɟɤɬɟɢɥɢɤɨɦɩɚ

ɧɢɢ ɀɟɥɚɬɟɥɶɧɨ ɱɬɨɛɵ ɬɟɤɫɬ ɮɭɧɤɰɢɢ ɩɨɥɧɨɫɬɶɸ ɪɚɡɦɟɳɚɥɫɹ ɧɚ ɷɤɪɚɧɟ ɩɨ
ɷɬɨɦɭɟɝɨɪɚɡɦɟɪɦɨɠɧɨɨɝɪɚɧɢɱɢɬɶ–ɫɬɪɨɤɚɦɢ ɤɨɞɚ
Ɏɭɧɤɰɢɹɦɟɬɨɞɤɥɚɫɫɚɞɨɥɠɧɚɛɵɬɶɦɢɧɢɦɚɥɶɧɨ ɡɚɜɢɫɢɦɚɨɬɪɚɛɨɬɵ
ɞɪɭɝɢɯɮɭɧɤɰɢɣȼɫɟɧɟɨɛɯɨɞɢɦɵɟ ɞɚɧɧɵɟ ɮɭɧɤɰɢɹ ɩɨɥɭɱɚɟɬɱɟɪɟɡɫɜɨɢɜɯɨɞ
ɧɵɟɩɚɪɚɦɟɬɪɵɚɩɨɫɬɪɨɟɧɧɵɣɪɟɡɭɥɶɬɚɬɜɨɡɜɪɚɳɚɟɬɨɩɟɪɚɬɨɪɨɦUHWXUQ ɢɥɢɱɟ
ɪɟɡ ɜɵɯɨɞɧɵɟ ɩɚɪɚɦɟɬɪɵ ɉɨɥɭɱɟɧɧɵɟ ɧɚ ɜɯɨɞ ɞɚɧɧɵɟ ɢɥɢ ɨɛɴɟɤɬɵ ɮɭɧɤɰɢɹ
ɞɨɥɠɧɚ ɜɨɫɩɪɢɧɢɦɚɬɶ ɤɚɤ ɢɫɬɨɱɧɢɤ ɜɨɡɦɨɠɧɵɯ ɨɲɢɛɨɤ ɢ ɩɪɨɜɟɪɹɬɶ ɢɯ ɤɨɪ
ɪɟɤɬɧɨɫɬɶɩɟɪɟɞɨɛɪɚɛɨɬɤɨɣȿɫɥɢɮɭɧɤɰɢɹɧɟɫɩɪɚɜɥɹɟɬɫɹɫɪɟɲɟɧɢɟɦɩɨɫɬɚɜ
ɥɟɧɧɨɣ ɩɟɪɟɞ ɧɟɣ ɡɚɞɚɱɢ ɬɨ ɟɫɬɶ ɧɟ ɦɨɠɟɬ ɫɤɨɧɫɬɪɭɢɪɨɜɚɬɶ ɤɨɪɪɟɤɬɧɵɣ ɪɟ
ɡɭɥɶɬɚɬɨɧɚɨɛɹɡɚɬɟɥɶɧɨɞɨɥɠɧɚɨɛɷɬɨɫɨɨɛɳɢɬɶɭɫɬɚɧɨɜɥɟɧɧɵɦɢɫɪɟɞɫɬɜɚɦɢ
ɧɚɩɪɢɦɟɪɱɟɪɟɡɫɩɟɰɢɚɥɶɧɨɜɨɡɜɪɚɳɚɟɦɨɟɡɧɚɱɟɧɢɟɨɲɢɛɤɢɢɥɢɜɨɡɛɭɠɞɟɧɢɟɦ
ɢɫɤɥɸɱɢɬɟɥɶɧɨɣɫɢɬɭɚɰɢɢ
ȼɫɥɟɞɭɸɳɟɦɩɪɢɦɟɪɟɧɟ ɩɪɨɜɟɞɟɧɨ ɩɪɨɜɟɪɤɢ ɧɚɩɪɟɞɦɟɬɫɭɳɟɫɬɜɨɜɚɧɢɹ
ɦɚɫɫɢɜɚɌɚɤɢɦɨɛɪɚɡɨɦ ɮɭɧɤɰɢɹVXP$UUD\ ɫɢɥɶɧɨɡɚɜɢɫɢɬɨɬɬɨɝɨɤɚɤɩɨɞɝɨ
ɬɨɜɥɟɧɦɚɫɫɢɜɞɪɭɝɢɦɢɮɭɧɤɰɢɹɦɢ
ɋɭɦɦɚɷɥɟɦɟɧɬɨɜɰɟɥɨɱɢɫɥɟɧɧɨɝɨɦɚɫɫɢɜɚ
DUUD\ɪɚɡɦɟɪɚVL]H
int sumArray(int* array, int size)
{
int sum = 0;
for(int i = 0; i < size; i++)
sum += array[i];
return sum;
}

ȼ ɫɥɟɞɭɸɳɟɦ ɤɨɞɟ ɜ ɷɬɭ ɮɭɧɤɰɢɸ ɞɨɛɚɜɥɟɧɚ ɩɪɨɜɟɪɤɚ ɫɭɳɟɫɬɜɨɜɚɧɢɹ
ɦɚɫɫɢɜɚ
/ɋɭɦɦɚɷɥɟɦɟɧɬɨɜɰɟɥɨɱɢɫɥɟɧɧɨɝɨɦɚɫɫɢɜɚ
DUUD\ɪɚɡɦɟɪɚVL]H
int sumArray(int* array, int size)
{
LIDUUD\ QXOOSWU^
int sum = 0;
for(int i = 0; i < size; i++)
sum += array[i];
return sum;
}
else
throw arrayNotExist();
}
 Ɏɭɧɤɰɢɹ ɧɟ ɞɨɥɠɧɚ ɩɪɨɢɡɜɨɞɢɬɶ ɩɨɛɨɱɧɨɝɨ ɷɮɮɟɤɬɚ ɉɨɛɨɱɧɵɣ ɷɮ-
ɮɟɤɬ – ɷɬɨɪɚɛɨɬɚɮɭɧɤɰɢɢ ɩɨɦɢɦɨɫɜɨɟɣɨɫɧɨɜɧɨɣ ɡɚɞɚɱɢɧɚɩɪɢɦɟɪɧɟɹɜɧɨɟ
ɢɡɦɟɧɟɧɢɟ ɧɟ ɩɪɢɧɚɞɥɟɠɚɳɢɯ ɮɭɧɤɰɢɢ ɩɟɪɟɦɟɧɧɵɯ ɢɥɢ ɨɛɴɟɤɬɨɜ ȿɫɥɢ ɜɫɺ-
ɬɚɤɢɮɭɧɤɰɢɢɩɨɪɭɱɚɟɬɫɹɢɡɦɟɧɢɬɶɤɚɤɭɸ-ɬɨɜɧɟɲɧɸɸɫɭɳɧɨɫɬɶɬɨɟɺɧɭɠɧɨ
ɩɟɪɟɞɚɜɚɬɶɬɚɤɨɣɮɭɧɤɰɢɢɹɜɧɨɬɨɟɫɬɶ ɱɟɪɟɡɩɚɪɚɦɟɬɪ

int counter = 0; ɝɥɨɛɚɥɶɧɚɹɩɟɪɟɦɟɧɧɚɹ
// Ɏɭɧɤɰɢɹ inc ɩɪɨɢɡɜɨɞɢɬɧɟɤɨɬɨɪɵɣɩɨɞɫɱɟɬ
void inc()
{
counter++; ɩɨɛɨɱɧɵɣɷɮɮɟɤɬ
}
int main()
{
cout << counter << endl; // 0
inc();
cout << counter << endl; ɇɨ ɩɨɱɟɦɭ?
}
Ȼɨɥɟɟɩɪɚɜɢɥɶɧɨɟɪɟɲɟɧɢɟɜɤɨɬɨɪɨɦɭɫɬɪɚɧɟɧɵɝɥɨɛɚɥɶɧɚɹɩɟɪɟɦɟɧɧɚɹɢ
ɫɨɨɬɜɟɬɫɬɜɟɧɧɨɩɨɛɨɱɧɵɣɷɮɮɟɤɬɮɭɧɤɰɢɢ
// Ɏɭɧɤɰɢɹ inc ɩɪɨɢɡɜɨɞɢɬ ɢɧɤɪɟɦɟɧɬɩɚɪɚɦɟɬɪɚvariable
void inc(int& variable)
{
variable++;
}
int main()
{
int counter = 0;
cout << counter << endl; // 0
inc(counter); // əɜɧɚɹ ɩɟɪɟɞɚɱɚ ɩɟɪɟɦɟɧɧɨɣ
cout << counter << endl; 
}

ɉɪɚɜɢɥɨ ɤɨɞɩɪɢɥɨɠɟɧɢɹ
ɪɚɡɛɢɜɚɟɬɫɹɧɚɡɚɝɨɥɨɜɨɱɧɵɟh-ɮɚɣɥɵ
ɢcpp-ɮɚɣɥɵɪɟɚɥɢɡɚɰɢɢ
ȼɫɟɤɨɦɩɢɥɢɪɭɟɦɵɟɮɚɣɥɵɫɢɫɯɨɞɧɵɦ ɤɨɞɨɦɩɪɢɥɨɠɟɧɢɹɤɨɦɩɢɥɢɪɭɸɬ
ɫɹɨɬɞɟɥɶɧɨɢɨɛɴɟɞɢɧɹɬɫɹɧɚɷɬɚɩɟɤɨɦɩɨɧɨɜɤɢɫɛɨɪɤɢɢɫɩɨɥɧɹɟɦɨɝɨɦɨɞɭɥɹ
ɎɚɣɥɵɫɤɨɞɨɦɧɚCCɜɯɨɞɹɳɢɟɜɩɪɨɟɤɬɛɵɜɚɸɬɞɜɭɯɬɢɩɨɜ
x ɡɚɝɨɥɨɜɨɱɧɵɟ ɮɚɣɥɵ KHDG-ɮɚɣɥ K-ɮɚɣɥ ɮɚɣɥ ɫ ɪɚɫɲɢɪɟɧɢɟɦ K ɢɥɢ
KSS – ɫɨɞɟɪɠɚɬ ɨɛɴɹɜɥɟɧɢɹ ɢɫɩɨɥɶɡɭɟɦɵɯ ɜ ɩɪɨɝɪɚɦɦɟ ɫɭɳɧɨɫɬɟɣ
ɤɥɚɫɫɨɜɬɢɩɨɜɤɨɧɫɬɚɧɬɮɭɧɤɰɢɣɢɬ ɞ
x ɮɚɣɥɵ ɢɫɯɨɞɧɨɝɨ ɤɨɞɚ ɮɚɣɥ ɪɟɚɥɢɡɚɰɢɢ FSS-ɮɚɣɥɮɚɣɥɫɪɚɫɲɢɪɟ
ɧɢɟɦ ɫɢɥɢ ɫSS– ɫɨɞɟɪɠɚɬɨɩɪɟɞɟɥɟɧɢɹ ɫɭɳɧɨɫɬɟɣɤɥɚɫɫɨɜɮɭɧɤ
ɰɢɣɢɬ ɞɬɨɟɫɬɶɢɯɪɟɚɥɢɡɚɰɢɸ
Ɍɚɤɢɦɨɛɪɚɡɨɦɡɚɝɨɥɨɜɨɱɧɵɟɮɚɣɥɵɨɛɴɹɜɥɹɸɬ ɢɧɬɟɪɮɟɣɫɮɚɣɥɵɢɫɯɨɞ
ɧɨɝɨɤɨɞɚɟɝɨɪɟɚɥɢɡɭɸɬ ɗɬɨ ɧɟɬɪɟɛɨɜɚɧɢɟɹɡɵɤɚ ɷɬɨɪɚɡɭɦɧɵɣɫɩɨɫɨɛ ɨɪɝɚ
ɧɢɡɚɰɢɢ ɩɪɨɝɪɚɦɦɩɪɢɤɨɬɨɪɨɦɩɪɨɝɪɚɦɦɢɫɬɜɫɟɝɞɚ ɡɧɚɟɬ ɝɞɟ ɧɚɣɬɢ ɧɭɠɧɵɣ
ɟɦɭɤɨɞ ɋɨɜɪɟɦɟɧɧɵɟɫɪɟɞɵɪɚɡɪɚɛɨɬɤɢɩɨɭɦɨɥɱɚɧɢɸ ɩɪɟɞɨɫɬɚɜɥɹɸɬɢɦɟɧɧɨ
ɬɚɤɨɣɫɩɨɫɨɛɨɪɝɚɧɢɡɚɰɢɢɤɨɞɚ
Ɂɚɝɨɥɨɜɨɱɧɵɟ ɮɚɣɥɵ ɞɨɥɠɧɵ ɜɤɥɸɱɚɬɶ ɜ ɫɟɛɹ ɡɚɳɢɬɭ ɨɬ ɩɨɜɬɨɪɧɨɝɨ
ɜɤɥɸɱɟɧɢɹɊɚɧɟɟɷɬɨɞɟɥɚɥɨɫɶ ɞɢɪɟɤɬɢɜɚɦɢ #ifndef ɢ #defineɜɫɨɜɪɟɦɟɧ
ɧɵɯ ɜɟɪɫɢɹɯɤɨɦɩɢɥɹɬɨɪɨɜɬɚɤɚɹɡɚɳɢɬɚɪɟɚɥɢɡɨɜɚɧɚɞɢɪɟɤɬɢɜɨɣ #pragma
once

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]