Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Требования и рекомендации по оформлению программного кода на языках С и С++. Учебно-методическое пособие
.pdf
ɉɪɚɜɢɥɨ ɞɥɹɢɬɟɪɚɰɢɢɧɭɠɧɨɢɫɩɨɥɶɡɨɜɚɬɶ
ɧɚɢɛɨɥɟɟɩɨɞɯɨɞɹɳɢɣɜɢɞɨɩɟɪɚɬɨɪɚɰɢɤɥɚ
ȼ ɹɡɵɤɟ ɟɫɬɶ ɬɪɢ ɜɢɞɚ ɨɩɟɪɚɬɨɪɨɜ ɰɢɤɥɚ – 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;
ZKLOHLQD>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;
LIQ
goto label;
FRXWȼɵɜɜɟɥɢɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨQHQGO
Ⱥɥɶɬɟɪɧɚɬɢɜɧɨɟɪɟɲɟɧɢɟɛɟɡgoto
int n;
do {
FRXWȼɜɟɞɢɬɟɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨHQGO
cin >> n;
`ZKLOHQ
FRXWȼɵɜɜɟɥɢɧɚɬɭɪɚɥɶɧɨɟɱɢɫɥɨQHQGO
ɉɪɚɜɢɥɨ ɫɥɟɞɭɟɬɢɡɛɟɝɚɬɶ ©ɦɚɝɢɱɟɫɤɢɯª ɱɢɫɟɥ
©Ɇɚɝɢɱɟɫɤɢɟª ɱɢɫɥɚ– ɷɬɨɹɜɧɨɢɫɩɨɥɶɡɭɟɦɵɟɜɩɪɨɝɪɚɦɦɟɱɢɫɥɨɜɵɟɡɧɚ
ɱɟɧɢɹ Ʉɨɝɞɚ ɬɚɤɨɟ ɱɢɫɥɨ ɜɫɬɪɟɱɚɟɬɫɹ ɜ ɩɪɨɝɪɚɦɦɟ ɬɨ ɧɟɨɱɟɜɢɞɧɨ ɤɚɤɨɣ
ɫɦɵɫɥɨɧɨ ɧɟɫɺɬɜɟɺɥɨɝɢɤɟɄɪɨɦɟɷɬɨɝɨɟɫɥɢɨɬɡɧɚɱɟɧɢɹɱɢɫɥɚɡɚɜɢɫɢɬɩɨ
ɜɟɞɟɧɢɟɩɪɨɝɪɚɦɦɵɚɬɚɤɱɚɳɟɜɫɟɝɨɢɛɵɜɚɟɬɬɨɞɥɹɢɡɦɟɧɟɧɢɹɷɬɨɝɨɩɨɜɟ
ɞɟɧɢɹ ɩɪɢɞɺɬɫɹ ɢɫɤɚɬɶ ɜɫɟ ɜɯɨɠɞɟɧɢɹ ©ɦɚɝɢɱɟɫɤɨɝɨª ɱɢɫɥɚ ɜ ɤɨɞ ɢɢɯɫɢɧ
ɯɪɨɧɧɨɩɪɚɜɢɬɶ

Ɍɢɩɢɱɧɵɟɫɥɭɱɚɢɢɫɩɨɥɶɡɨɜɚɧɢɹ©ɦɚɝɢɱɟɫɤɢɯª ɱɢɫɟɥ
int D>@ - ɦɚɝɢɱɟɫɤɨɟɱɢɫɥɨ
... ɡɚɩɨɥɧɟɧɢɟɦɚɫɫɢɜɚ
int PLQ ɟɳɟɨɞɧɨɦɚɝɢɱɟɫɤɨɟɱɢɫɥɨ-
for (int L LL // ɨɩɹɬɶ
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++) {
YHFDWL 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)
{
LIDUUD\ 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-ɮɚɣɥɵɪɟɚɥɢɡɚɰɢɢ
ȼɫɟɤɨɦɩɢɥɢɪɭɟɦɵɟɮɚɣɥɵɫɢɫɯɨɞɧɵɦ ɤɨɞɨɦɩɪɢɥɨɠɟɧɢɹɤɨɦɩɢɥɢɪɭɸɬ
ɫɹɨɬɞɟɥɶɧɨɢɨɛɴɟɞɢɧɹɬɫɹɧɚɷɬɚɩɟɤɨɦɩɨɧɨɜɤɢɫɛɨɪɤɢɢɫɩɨɥɧɹɟɦɨɝɨɦɨɞɭɥɹ
ɎɚɣɥɵɫɤɨɞɨɦɧɚCCɜɯɨɞɹɳɢɟɜɩɪɨɟɤɬɛɵɜɚɸɬɞɜɭɯɬɢɩɨɜ
x ɡɚɝɨɥɨɜɨɱɧɵɟ ɮɚɣɥɵ KHDG-ɮɚɣɥ K-ɮɚɣɥ ɮɚɣɥ ɫ ɪɚɫɲɢɪɟɧɢɟɦ K ɢɥɢ
KSS – ɫɨɞɟɪɠɚɬ ɨɛɴɹɜɥɟɧɢɹ ɢɫɩɨɥɶɡɭɟɦɵɯ ɜ ɩɪɨɝɪɚɦɦɟ ɫɭɳɧɨɫɬɟɣ
ɤɥɚɫɫɨɜɬɢɩɨɜɤɨɧɫɬɚɧɬɮɭɧɤɰɢɣɢɬ ɞ
x ɮɚɣɥɵ ɢɫɯɨɞɧɨɝɨ ɤɨɞɚ ɮɚɣɥ ɪɟɚɥɢɡɚɰɢɢ FSS-ɮɚɣɥɮɚɣɥɫɪɚɫɲɢɪɟ
ɧɢɟɦ ɫɢɥɢ ɫSS– ɫɨɞɟɪɠɚɬɨɩɪɟɞɟɥɟɧɢɹ ɫɭɳɧɨɫɬɟɣɤɥɚɫɫɨɜɮɭɧɤ
ɰɢɣɢɬ ɞɬɨɟɫɬɶɢɯɪɟɚɥɢɡɚɰɢɸ
Ɍɚɤɢɦɨɛɪɚɡɨɦɡɚɝɨɥɨɜɨɱɧɵɟɮɚɣɥɵɨɛɴɹɜɥɹɸɬ ɢɧɬɟɪɮɟɣɫɮɚɣɥɵɢɫɯɨɞ
ɧɨɝɨɤɨɞɚɟɝɨɪɟɚɥɢɡɭɸɬ ɗɬɨ ɧɟɬɪɟɛɨɜɚɧɢɟɹɡɵɤɚ ɷɬɨɪɚɡɭɦɧɵɣɫɩɨɫɨɛ ɨɪɝɚ
ɧɢɡɚɰɢɢ ɩɪɨɝɪɚɦɦɩɪɢɤɨɬɨɪɨɦɩɪɨɝɪɚɦɦɢɫɬɜɫɟɝɞɚ ɡɧɚɟɬ ɝɞɟ ɧɚɣɬɢ ɧɭɠɧɵɣ
ɟɦɭɤɨɞ ɋɨɜɪɟɦɟɧɧɵɟɫɪɟɞɵɪɚɡɪɚɛɨɬɤɢɩɨɭɦɨɥɱɚɧɢɸ ɩɪɟɞɨɫɬɚɜɥɹɸɬɢɦɟɧɧɨ
ɬɚɤɨɣɫɩɨɫɨɛɨɪɝɚɧɢɡɚɰɢɢɤɨɞɚ
Ɂɚɝɨɥɨɜɨɱɧɵɟ ɮɚɣɥɵ ɞɨɥɠɧɵ ɜɤɥɸɱɚɬɶ ɜ ɫɟɛɹ ɡɚɳɢɬɭ ɨɬ ɩɨɜɬɨɪɧɨɝɨ
ɜɤɥɸɱɟɧɢɹɊɚɧɟɟɷɬɨɞɟɥɚɥɨɫɶ ɞɢɪɟɤɬɢɜɚɦɢ #ifndef ɢ #defineɜɫɨɜɪɟɦɟɧ
ɧɵɯ ɜɟɪɫɢɹɯɤɨɦɩɢɥɹɬɨɪɨɜɬɚɤɚɹɡɚɳɢɬɚɪɟɚɥɢɡɨɜɚɧɚɞɢɪɟɤɬɢɜɨɣ #pragma
once
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
