Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмизация в инженерных задачах. Учебное пособие
.pdf
b
Ɋɢɫ. 1. Ʉɥɚɫɫɢɮɢɤɚɰɢɹ ɬɢɩɨɜ ɞɚɧɧɵɯ
Ȼɚɡɨɜɵɟ ɬɢɩɵ ɞɚɧɧɵɯ ɫɨɞɟɪɠɚɬ ɪɚɡɥɢɱɧɵɟ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɱɢɫɟɥ, ɚ ɬɚɤɠɟ
ɤɨɞɵ ɫɢɦɜɨɥɨɜ (ɬɚɛɥ. 2).
Ɍɚɛɥɢɰɚ 2
Ɉɫɧɨɜɧɵɟ ɬɢɩɵ ɞɚɧɧɵɯ
ɇɚɡɜɚɧɢɟ Ɉɛɨɡɧɚɱɟɧɢɟ
Ʌɨɝɢɱɟɫɤɢɣ
ool 1 true/false
Ɋɚɡɦɟɪ
(ɛɚɣɬ)
Ⱦɢɚɩɚɡɨɧ ɡɧɚɱɟɧɢɣ
ɋɢɦɜɨɥɶɧɵɣ char 1 –128 ɞɨ +127
ɋɢɦɜɨɥɶɧɵɣ
ɛɟɡ ɡɧɚɤɚ
ɐɟɥɨɟ ɱɢɫɥɨ int 4
ɐɟɥɨɟ ɱɢɫɥɨ
ɛɟɡ ɡɧɚɤɚ
unsigned char 1 0 ɞɨ 255
– 2 147 483 648 ɞɨ
+ 2 147 483 647
unsigned int 4 0 ɞɨ 4 294 967 296
11

Ɉɤɨɧɱɚɧɢɟ ɬɚɛɥɢɰɵ 2
ɇɚɡɜɚɧɢɟ Ɉɛɨɡɧɚɱɟɧɢɟ
ȼɟɳɟɫɬɜɟɧɧɨɟ
ɱɢɫɥɨ ɨɞɢɧɚɪɧɨɣ
ɬɨɱɧɨɫɬɢ
ȼɟɳɟɫɬɜɟɧɧɨɟ
ɱɢɫɥɨ ɞɜɨɣɧɨɣ
ɬɨɱɧɨɫɬɢ
ȼɟɳɟɫɬɜɟɧɧɨɟ
ɱɢɫɥɨ ɭɜɟɥɢɱɟɧɧɨɣ
long double 10
ɬɨɱɧɨɫɬɢ
float 4
double 8
Ɋɚɡɦɟɪ
(ɛɚɣɬ)
Ⱦɢɚɩɚɡɨɧ ɡɧɚɱɟɧɢɣ
±3.4e±38
(7 ɡɧɚɱɚɳɢɯ ɰɢɮɪ)
±1.7e±308
(15 ɡɧɚɱɚɳɢɯ ɰɢɮɪ)
±1.2e±4932
(19 ɡɧɚɱɚɳɢɯ ɰɢɮɪ)
ɉɪɢɦɟɪ ɨɛɴɹɜɥɟɧɢɹ ɩɟɪɟɦɟɧɧɨɣ [7]:
int x; // ɩɟɪɟɦɟɧɧɚɹ ɯ ɰɟɥɨɝɨ ɬɢɩɚ
long double y; // ɜɟɳɟɫɬɜɟɧɧɚɹ ɩɟɪɟɦɟɧɧɚɹ y ɞɜɨɣɧɨɣ ɬɨɱɧɨɫɬɢ
float kontrol_sum; // ɜɟɳɟɫɬɜɟɧɧɚɹ ɩɟɪɟɦɟɧɧɚɹ kontrol_sum
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɩɫɟɜɞɨɧɢɦɚ ɫɥɨɠɧɨɝɨ ɧɚɡɜɚɧɢɹ ɬɢɩɚ ɞɚɧɧɵɯ ɩɪɢɦɟɧɹɸɬ
ɫɩɟɰɢɮɢɤɚɬɨɪ typedef, ɤɨɬɨɪɵɣ ɨɛɨɡɧɚɱɚɟɬ ɨɩɪɟɞɟɥɟɧɢɟ ɧɨɜɨɝɨ ɬɢɩɚ ɞɚɧɧɵɯ:
typedef unsigned int USHORT; // ɫɨɡɞɚɟɬɫɹ ɧɨɜɨɟ ɢɦɹ ɬɢɩɚ ɞɚɧɧɵɯ
USHORT, ɤɨɬɨɪɨɟ ɦɨɠɧɨ ɩɪɢɦɟɧɹɬɶ ɜɟɡɞɟ, ɝɞɟ ɜɫɬɪɟɱɚɟɬɫɹ ɩɟɪɟɦɟɧɧɚɹ
ɬɢɩɚ unsigned int.
USHORT W = 5;
USHORT K = 15;
Ɍɢɩ ɞɚɧɧɵɯ void (ɩɭɫɬɨɣ) ɩɪɢɦɟɧɹɟɬɫɹ ɞɥɹ ɨɛɴɹɜɥɟɧɢɹ ɮɭɧɤɰɢɢ, ɤɨɬɨɪɚɹ
ɧɟ ɜɨɡɜɪɚɳɚɟɬ ɡɧɚɱɟɧɢɹ ɜ ɩɪɨɝɪɚɦɦɭ. ɉɪɢ ɷɬɨɦ ɨɩɟɪɚɬɨɪ return ɜ ɬɟɥɟ ɮɭɧɤɰɢɢ
ɨɩɭɫɤɚɟɬɫɹ.
void PrintArray(TMagazin &A, int n, int i1, int i2)
{
printf("%19s %6s %10s %10s %9s\n", "ID", "SNasvanie", "Material",
"Kolichestvo", "Cost");
for (int i = i1; i< = i2; i++)
printf("%19u %6s %10s %10u %9.2lf\n", A[i].ID, A[i].SNasvanie,
A[i].Material, A[i].Kolichestvo, A[i].Cost);
}
1.3. Ɂɧɚɤɢ ɨɩɟɪɚɰɢɣ ɜ ɋ++
ȼ ɹɡɵɤɟ C/C++ ɩɪɢɦɟɧɹɸɬɫɹ ɫɥɟɞɭɸɳɢɟ ɨɫɧɨɜɧɵɟ ɨɩɟɪɚɰɢɢ: ɚɪɢɮɦɟɬɢ-
ɱɟɫɤɢɟ, ɥɨɝɢɱɟɫɤɢɟ, ɩɨɪɚɡɪɹɞɧɵɟ ɢ ɨɩɟɪɚɰɢɢ ɫɪɚɜɧɟɧɢɹ.
Ɉɩɟɪɚɰɢɢ ɨɛɨɡɧɚɱɚɸɬɫɹ ɫɩɟɰɢɚɥɶɧɵɦɢ ɡɧɚɤɚɦɢ (ɫɦ.
ɬɚɛɥ. 3–6).
12

/
–
–
Ɉɩɟɪɚɰɢɢ, ɩɪɢɦɟɧɹɟɦɵɟ ɤ ɨɞɧɨɦɭ ɨɩɟɪɚɧɞɭ, ɧɚɡɵɜɚɸɬɫɹ ɭɧɚɪɧɵɦɢ
(ɧɚɩɪɢɦɟɪ, ɨɩɟɪɚɰɢɹ ɨɩɪɟɞɟɥɟɧɢɹ ɚɞɪɟɫɚ (&)), ɚ ɩɪɢɦɟɧɹɟɦɵɟ ɤ ɞɜɭɦ ɨɩɟɪɚɧ-
ɞɚɦ – ɛɢɧɚɪɧɵɦɢ (ɧɚɩɪɢɦɟɪ, ɨɩɟɪɚɰɢɹ ɫɥɨɠɟɧɢɹ ɱɢɫɟɥ).
ȼɵɪɚɠɟɧɢɟ ɫɨɫɬɨɢɬ ɢɡ ɨɞɧɨɝɨ ɢɥɢ ɧɟɫɤɨɥɶɤɢɯ ɨɩɟɪɚɧɞɨɜ, ɜ ɩɪɨɫɬɟɣɲɟɦ
ɫɥɭɱɚɟ – ɷɬɨ ɢɦɹ ɩɟɪɟɦɟɧɧɨɣ [25].
Ɍɚɛɥɢɰɚ 3
Ⱥɪɢɮɦɟɬɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ
Ɉɛɨɡɧɚɱɟɧɢɟ ɋɨɞɟɪɠɚɧɢɟ
* ɍɦɧɨɠɟɧɢɟ
Ⱦɟɥɟɧɢɟ
% Ɉɫɬɚɬɨɤ ɨɬ ɞɟɥɟɧɢɹ
+ ɋɥɨɠɟɧɢɟ
ȼɵɱɢɬɚɧɢɟ
Ɍɚɛɥɢɰɚ 4
Ɉɩɟɪɚɰɢɢ ɫɪɚɜɧɟɧɢɹ ɢ ɥɨɝɢɱɟɫɤɢɟ
Ɉɛɨɡɧɚɱɟɧɢɟ ɋɨɞɟɪɠɚɧɢɟ
< Ɇɟɧɶɲɟ, ɱɟɦ
> Ȼɨɥɶɲɟ, ɱɟɦ
< = Ɇɟɧɶɲɟ ɢɥɢ ɪɚɜɧɨ
> = Ȼɨɥɶɲɟ ɢɥɢ ɪɚɜɧɨ
= = Ɋɚɜɧɨ
! = ɇɟ ɪɚɜɧɨ
Ʉɨɧɴɸɧɤɰɢɹ (ɥɨɝɢɱɟɫɤɨɟ ɂ) ɰɟɥɨɱɢɫɥɟɧɧɵɯ ɨɩɟɪɚɧɞɨɜ
&&
ɢɥɢ ɨɬɧɨɲɟɧɢɣ, ɰɟɥɨɱɢɫɥɟɧɧɵɣ ɪɟɡɭɥɶɬɚɬ ɥɨɠɶ(0)
ɢɥɢ ɢɫɬɢɧɚ(ɧɟ 0)
Ⱦɢɡɴɸɧɤɰɢɹ (ɥɨɝɢɱɟɫɤɨɟ ɂɅɂ) ɰɟɥɨɱɢɫɥɟɧɧɵɯ ɨɩɟɪɚɧɞɨɜ
||
ɢɥɢ ɨɬɧɨɲɟɧɢɣ, ɰɟɥɨɱɢɫɥɟɧɧɵɣ ɪɟɡɭɥɶɬɚɬ ɥɨɠɶ(0)
ɢɥɢ ɢɫɬɢɧɚ(ɧɟ 0)
Ɍɚɛɥɢɰɚ 5
ɍɧɚɪɧɵɟ ɨɩɟɪɚɰɢɢ
Ɉɛɨɡɧɚɱɟɧɢɟ ɋɨɞɟɪɠɚɧɢɟ
& ɉɨɥɭɱɟɧɢɟ ɚɞɪɟɫɚ ɨɩɟɪɚɧɞɚ
* Ɉɛɪɚɳɟɧɢɟ ɩɨ ɚɞɪɟɫɭ (ɪɚɡɵɦɟɧɨɜɚɧɢɟ)
ɍɧɚɪɧɵɣ ɦɢɧɭɫ, ɦɟɧɹɟɬ ɡɧɚɤ ɚɪɢɮɦɟɬɢɱɟɫɤɨɝɨ ɨɩɟɪɚɧɞɚ
~
ɉɨɪɚɡɪɹɞɧɨɟ ɢɧɜɟɪɬɢɪɨɜɚɧɢɟ ɜɧɭɬɪɟɧɧɟɝɨ ɞɜɨɢɱɧɨɝɨ ɤɨɞɚ
ɰɟɥɨɱɢɫɥɟɧɧɨɝɨ ɨɩɟɪɚɧɞɚ (ɩɨɛɢɬɨɜɨɟ ɨɬɪɢɰɚɧɢɟ)
13

ɭ
/
ɭ
Ɉɤɨɧɱɚɧɢɟ ɬɚɛɥɢɰɵ 5
Ɉɛɨɡɧɚɱɟɧɢɟ ɋɨɞɟɪɠɚɧɢɟ
Ʌɨɝɢɱɟɫɤɨɟ ɨɬɪɢɰɚɧɢɟ (ɇȿ). ȼ ɤɚɱɟɫɬɜɟ ɥɨɝɢɱɟɫɤɢɯ
!
ɡɧɚɱɟɧɢɣ ɢɫɩɨɥɶɡɭɟɬɫɹ 0 – ɥɨɠɶ ɢ ɧɟ 0 – ɢɫɬɢɧɚ,
ɨɬɪɢɰɚɧɢɟɦ 0 ɛɭɞɟɬ 1, ɨɬɪɢɰɚɧɢɟɦ ɥɸɛɨɝɨ ɧɟɧɭɥɟɜɨɝɨ
ɱɢɫɥɚ ɛ
ɞɟɬ 0
ɍɜɟɥɢɱɟɧɢɟ ɧɚ ɟɞɢɧɢɰɭ:
– ɩɪɟɮɢɤɫɧɚɹ ɨɩɟɪɚɰɢɹ – ɭɜɟɥɢɱɢɜɚɟɬ ɨɩɟɪɚɧɞ ɞɨ ɟɝɨ
ɩɪɢɦɟɧɟɧɢɹ,
++
– ɩɨɫɬɮɢɤɫɧɚɹ ɨɩɟɪɚɰɢɹ – ɭɜɟɥɢɱɢɜɚɟɬ ɨɩɟɪɚɧɞ ɩɨɫɥɟ ɟɝɨ
ɩɪɢɦɟɧɟɧɢɹ.
int m = 1, n = 2;
int a = (m++)+n; // a = 4, m = 2, n = 2
int b = m+(++n); /
a = 3, m = 1, n = 3
ɍɦɟɧɶɲɟɧɢɟ ɧɚ ɟɞɢɧɢɰɭ:
– ɩɪɟɮɢɤɫɧɚɹ ɨɩɟɪɚɰɢɹ – ɭɦɟɧɶɲɚɟɬ ɨɩɟɪɚɧɞ ɞɨ ɟɝɨ
- -
ɩɪɢɦɟɧɟɧɢɹ,
– ɩɨɫɬɮɢɤɫɧɚɹ ɨɩɟɪɚɰɢɹ – ɭɦɟɧɶɲɚɟɬ ɨɩɟɪɚɧɞ ɩɨɫɥɟ ɟɝɨ
ɩɪɢɦɟɧɟɧɢɹ
ȼɵɱɢɫɥɟɧɢɟ ɪɚɡɦɟɪɚ (ɜ ɛɚɣɬɚɯ) ɞɥɹ ɨɛɴɟɤɬɚ ɬɨɝɨ ɬɢɩɚ,
ɤɨɬɨɪɵɣ ɢɦɟɟɬ ɨɩɟɪɚɧɞ
ɢɦɟɟɬ ɞɜɟ ɮɨɪɦɵ
sizeof ɜɵɪɚɠɟɧɢɟ
sizeof
sizeof (ɬɢɩ)
ɉɪɢɦɟɪɵ:
sizeof(float)//4
sizeof(1.0)//8, ɬɚɤ ɤɚɤ ɜɟɳɟɫɬɜɟɧɧɵɟ ɤɨɧɫɬɚɧɬɵ
ɩɨ
ɦɨɥɱɚɧɢɸ ɢɦɟɸɬ ɬɢɩ double
Ɉɩɟɪɚɰɢɢ ɫɞɜɢɝɚ (ɨɩɪɟɞɟɥɟɧɵ ɬɨɥɶɤɨ ɞɥɹ ɰɟɥɨɱɢɫɥɟɧɧɵɯ ɨɩɟɪɚɧɞɨɜ)
Ɉɛɨɡɧɚɱɟɧɢɟ ɋɨɞɟɪɠɚɧɢɟ
ɋɞɜɢɝ ɜɥɟɜɨ ɛɢɬɨɜɨɝɨ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɡɧɚɱɟɧɢɹ ɥɟɜɨɝɨ
<<
ɰɟɥɨɱɢɫɥɟɧɧɨɝɨ ɨɩɟɪɚɧɞɚ ɧɚ ɤɨɥɢɱɟɫɬɜɨ ɪɚɡɪɹɞɨɜ,
ɪɚɜɧɨɟ ɡɧɚɱɟɧɢɸ ɩɪɚɜɨɝɨ ɨɩɟɪɚɧɞɚ, ɨɫɜɨɛɨɞɢɜɲɢɟɫɹ
ɪɚɡɪɹɞɵ ɨɛɧɭɥɹɸɬɫɹ
ɋɞɜɢɝ ɜɩɪɚɜɨ ɛɢɬɨɜɨɝɨ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɡɧɚɱɟɧɢɹ ɩɪɚɜɨɝɨ
ɰɟɥɨɱɢɫɥɟɧɧɨɝɨ ɨɩɟɪɚɧɞɚ ɧɚ ɤɨɥɢɱɟɫɬɜɨ ɪɚɡɪɹɞɨɜ, ɪɚɜɧɨɟ
>>
ɡɧɚɱɟɧɢɸ ɩɪɚɜɨɝɨ ɨɩɟɪɚɧɞɚ, ɨɫɜɨɛɨɞɢɜɲɢɟɫɹ ɪɚɡɪɹɞɵ
ɨɛɧɭɥɹɸɬɫɹ, ɟɫɥɢ ɨɩɟɪɚɧɞ ɛɟɡɡɧɚɤɨɜɨɝɨ ɬɢɩɚ,
ɢ ɡɚɩɨɥɧɹɸɬɫɹ ɡɧɚɤɨɜɵɦ ɪɚɡɪ
ɹɞɨɦ, ɟɫɥɢ ɡɧɚɤɨɜɨɝɨ
Ɍɚɛɥɢɰɚ 6
14

1.4. ɉɪɢɦɟɧɟɧɢɟ ɮɭɧɤɰɢɣ
Ɏɭɧɤɰɢɹ – ɩɪɨɝɪɚɦɦɧɵɣ ɛɥɨɤ, ɤɨɬɨɪɵɣ ɦɨɠɟɬ ɜɵɡɵɜɚɬɶɫɹ ɢɡ ɥɸɛɨɣ ɱɚɫɬɢ ɩɪɨɝɪɚɦɦɵ. ɉɪɢ ɜɵɡɨɜɟ ɜ ɧɢɯ ɩɟɪɟɞɚɸɬɫɹ ɧɟɤɨɬɨɪɵɟ ɩɟɪɟɦɟɧɧɵɟ, ɤɨɧɫɬɚɧɬɵ ɢ ɜɵɪɚɠɟɧɢɹ, ɹɜɥɹɸɳɢɟɫɹ ɚɪɝɭɦɟɧɬɚɦɢ. Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɨɞɧɨ ɡɧɚɱɟɧɢɟ
ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɬɢɩɚ (ɨɩɪɟɞɟɥɹɟɬ ɬɢɩ ɮɭɧɤɰɢɢ), ɤɨɬɨɪɨɟ ɡɚɦɟɳɚɟɬ ɜ ɜɵɡɵɜɚɸɳɟɦ ɜɵɪɚɠɟɧɢɢ ɢɦɹ ɮɭɧɤɰɢɢ.
ɉɪɨɝɪɚɦɦɚ ɧɚ ɹɡɵɤɟ ɋ++ ɫɨɫɬɨɢɬ, ɩɨ
ɤɪɚɣɧɟɣ ɦɟɪɟ, ɢɡ ɨɞɧɨɣ ɮɭɧɤɰɢɢ –
ɮɭɧɤɰɢɢ main. ɋ ɧɟɟ ɜɫɟɝɞɚ ɧɚɱɢɧɚɟɬɫɹ ɜɵɩɨɥɧɟɧɢɟ ɩɪɨɝɪɚɦɦɵ.
ȼɫɬɪɟɬɢɜ ɢɦɹ ɮɭɧɤɰɢɢ ɜ ɜɵɪɚɠɟɧɢɢ, ɩɪɨɝɪɚɦɦɚ ɜɵɡɨɜɟɬ ɷɬɭ ɮɭɧɤɰɢɸ,
ɬ. ɟ. ɩɟɪɟɞɚɫɬ ɭɩɪɚɜɥɟɧɢɟ ɧɚ ɟɟ ɧɚɱɚɥɨ ɢ ɧɚɱɧɟɬ ɜɵɩɨɥɧɹɬɶ ɨɩɟɪɚɬɨɪɵ. Ⱦɨɫɬɢɝɧɭɜ ɤɨɧɰɚ ɮɭɧɤɰɢɢ ɢɥɢ ɨɩɟɪɚɬɨɪɚ return, ɭɩɪɚɜɥɟɧɢɟ ɜɟɪɧɟɬɫɹ ɜ ɬɭ ɬɨɱɤɭ, ɨɬɤɭɞɚ ɮɭɧɤɰɢɹ ɛɵɥɚ ɜɵɡɜɚɧɚ.
ɋɭɳɟɫɬɜɭɟɬ ɬɪɢ
ɩɨɧɹɬɢɹ:
– ɨɩɪɟɞɟɥɟɧɢɟ ɮɭɧɤɰɢɢ – ɨɩɢɫɚɧɢɟ ɞɟɣɫɬɜɢɣ, ɜɵɩɨɥɧɹɟɦɵɯ ɮɭɧɤɰɢɟɣ;
– ɨɛɴɹɜɥɟɧɢɟ ɮɭɧɤɰɢɢ (ɡɚɞɚɧɢɟ ɩɪɨɬɨɬɢɩɚ ɮɭɧɤɰɢɢ) – ɡɚɞɚɧɢɟ ɬɢɩɚ ɜɨɡ-
ɜɪɚɳɚɟɦɨɝɨ ɡɧɚɱɟɧɢɹ (ɬɢɩɚ ɮɭɧɤɰɢɢ), ɢɦɟɧɢ ɮɭɧɤɰɢɢ, ɫɩɢɫɤɚ ɩɟɪɟɞɚɜɚɟɦɵɯ ɜ
ɮɭɧɤɰɢɸ ɩɚɪɚɦɟɬɪɨɜ;
– ɜɵɡɨɜ ɮɭɧɤɰɢɢ.
Ɉɩɪɟɞɟɥɟɧɢɹ ɩɪɢɦɟɧɹɟɦɵɯ ɮɭɧɤɰɢɣ ɦɨɝɭɬ ɫɥɟɞɨɜɚɬɶ ɡɚ ɨɩɪɟɞɟɥɟɧɢɟɦ
ɮɭɧɤɰɢɢ main, ɩɟɪɟɞ ɧɢɦ, ɢɥɢ ɧɚɯɨɞɢɬɶɫɹ ɜ ɞɪɭɝɨɦ ɮɚɣɥɟ.
Ɉɛɳɢɣ ɜɢɞ ɨɩɪɟɞɟɥɟɧɢɹ ɮɭɧɤɰɢɢ [7]:
ɬɢɩ_
ɪɟɡɭɥɶɬɚɬɚ ɢɦɹ_ɮɭɧɤɰɢɢ (ɫɩɢɫɨɤ_ɮɨɪɦɚɥɶɧɵɯ_ɩɚɪɚɦɟɬɪɨɜ)
{
…
ɨɩɟɪɚɬɨɪɵ;
return; //ɦɨɠɟɬ ɨɬɫɭɬɫɬɜɨɜɚɬɶ
}
ɝɞɟ ɬɢɩ_ɪɟɡɭɥɶɬɚɬɚ – ɨɞɢɧ ɢɡ ɫɬɚɧɞɚɪɬɧɵɯ ɬɢɩɨɜ; ɢɦɹ_ɮɭɧɤɰɢɢ – ɥɸɛɨɣ ɞɨɩɭɫɬɢɦɵɣ ɢɞɟɧɬɢɮɢɤɚɬɨɪ; ɫɩɢɫɨɤ_ɮɨɪɦɚɥɶɧɵɯ_ɩɚɪɚɦɟɬɪɨɜ – ɩɟɪɟɱɢɫɥɟɧɢɟ ɜɫɟɯ
ɮɨɪɦɚɥɶɧɵɯ ɚɪɝɭɦɟɧɬɨɜ ɫ ɭɤɚɡɚɧɢɟɦ ɢɯ ɬɢɩɚ (ɨɛɴɹɜɥɟɧɢɟ ɩɟɪɟɦɟɧɧɵɯ, ɤɨɬɨɪɵɟ
ɛɭɞɭɬ ɩɟɪɟɞɚɧɵ ɜ ɮɭɧɤɰɢɸ ɩɪɢ ɨɛɪɚɳɟɧɢɢ ɤ ɧɟɣ), ɧɚɩɪɢɦɟɪ:
int factorial (int n) // Ɂɚɝɨɥɨɜɨɤ ɮɭɧɤɰɢɢ
{
int a; //Ɉɛɴɹɜɥɟɧɢɟ ɥɨɤɚɥɶɧɵɯ ɩɟɪɟɦɟɧɧɵɯ ɮɭɧɤɰɢɢ
…..//Ⱦɟɣɫɬɜɢɹ, ɜɵɩɨɥɧɹɟɦɵɟ ɮɭɧɤɰɢɟɣ
return a;
}
ȿɫɥɢ ɮɭɧɤɰɢɹ ɨɩɪɟɞɟɥɟɧɚ ɩɨɫɥɟ main, ɬɨ ɞɨ ɜɵɡɨɜɚ ɮɭɧɤɰɢɢ ɧɟɨɛɯɨɞɢɦɨ
ɮɭɧɤɰɢɢ ɢɦɟɟɬ ɬɚɤɨɣ ɠɟ ɜɢɞ, ɱɬɨ ɢ ɨɩɪɟɞɟɥɟɧɢɟ, ɬɨɥɶɤɨ ɫ ɬɨɣ ɪɚɡɧɢɰɟɣ, ɱɬɨ ɬɟɥɨ ɮɭɧɤɰɢɢ ɨɬɫɭɬɫɬɜɭɟɬ.
15

ɉɪɢ ɜɵɡɨɜɟ ɮɭɧɤɰɢɢ ɭɤɚɡɵɜɚɟɬɫɹ ɢɦɹ ɮɭɧɤɰɢɢ ɢ ɫɩɢɫɨɤ (ɜ ɫɤɨɛɤɚɯ) ɮɚɤ-
ɬɢɱɟɫɤɢɯ ɩɚɪɚɦɟɬɪɨɜ (ɩɟɪɟɦɟɧɧɵɯ, ɤɨɬɨɪɵɦ ɩɪɢɫɜɨɟɧɵ ɨɩɪɟɞɟɥɟɧɧɵɟ ɡɧɚɱɟɧɢɹ). ȼ ɤɚɱɟɫɬɜɟ ɮɚɤɬɢɱɟɫɤɢɯ ɩɚɪɚɦɟɬɪɨɜ ɦɨɝɭɬ ɩɪɢɦɟɧɹɬɶɫɹ ɤɚɤ ɡɧɚɱɟɧɢɹ, ɬɚɤ
ɢ ɩɟɪɟɦɟɧɧɵɟ. ȼ ɥɸɛɨɦ ɫɥɭɱɚɟ ɤɨɥɢɱɟɫɬɜɨ ɮɚɤɬɢɱɟɫɤɢɯ ɢ ɮɨɪɦɚɥɶɧɵɯ ɩɚɪɚɦɟɬɪɨɜ ɨɞɢɧɚɤɨɜɨ ɢ ɡɧɚɱɟɧɢɹ ɩɟɪɟɞɚɸɬɫɹ ɜ ɩɨɪɹɞɤɟ ɡɚɩɢɫɢ. Ɏɭɧɤɰɢɢ ɧɟɥɶɡɹ
ɩɟɪɟɞɚɜɚɬɶ ɦɚɫɫɢɜɵ
ɢ ɮɭɧɤɰɢɢ, ɚ ɬɨɥɶɤɨ ɭɤɚɡɚɬɟɥɢ ɧɚ ɧɢɯ, ɧɚɩɪɢɦɟɪ:
F = factorial (5);
T = factorial (2)-7;
M = factorial (n);
P = mm (d, c, b, a).
1.5. Ȼɚɡɨɜɵɟ ɤɨɧɫɬɪɭɤɰɢɢ ɫɬɪɭɤɬɭɪɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ
ɂɫɬɨɪɢɱɟɫɤɢ ɜ ɪɚɡɜɢɬɢɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɦɨɠɧɨ ɜɵɞɟɥɢɬɶ ɧɟɫɤɨɥɶɤɨ
ɩɪɢɧɰɢɩɢɚɥɶɧɨ ɨɬɥɢɱɚɸɳɢɯɫɹ ɬɟɯɧɨɥɨɝɢɣ. Ɍɟɯɧɨɥɨɝɢɟɣ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ
ɧɚɡɵɜɚɸɬ ɫɨɜɨɤɭɩɧɨɫɬɶ ɦɟɬɨɞɨɜ ɢ ɫɪɟɞɫɬɜ, ɩɪɢɦɟɧɹɟɦɵɯ ɜ ɩɪɨɰɟɫɫɟ ɪɚɡɪɚɛɨɬɤɢ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ.
ɂɡɧɚɱɚɥɶɧɨ ɩɨɧɹɬɢɟ ɬɟɯɧɨɥɨɝɢɢ ɤɚɤ ɬɚɤɨɜɨɣ ɩɨɹɜɢɥɨɫɶ ɜ ɩɟɪɢɨɞ «ɫɬɢ-
ɯɢɣɧɨɝɨ» ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ (
ɷɬɨ 60-ɟ ɝɨɞɵ ɩɪɨɲɥɨɝɨ ɫɬɨɥɟɬɢɹ). ȼ ɷɬɨɬ ɩɟɪɢɨɞ
ɨɬɫɭɬɫɬɜɨɜɚɥɨ ɩɨɧɹɬɢɟ ɫɬɪɭɤɬɭɪɵ ɩɪɨɝɪɚɦɦɵ, ɬɢɩɨɜ ɞɚɧɧɵɯ ɢ ɬ. ɞ. ȼɫɥɟɞɫɬɜɢɟ
ɷɬɨɝɨ ɤɨɞ ɩɨɥɭɱɚɥɫɹ ɡɚɩɭɬɚɧɧɵɦ, ɩɪɨɬɢɜɨɪɟɱɢɜɵɦ.
Ɍɪɚɞɢɰɢɨɧɧɨ ɩɪɢ ɨɛɭɱɟɧɢɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɸ ɨɫɧɨɜɧɨɟ ɜɧɢɦɚɧɢɟ ɭɞɟɥɹɟɬɫɹ ɢɡɭɱɟɧɢɸ ɞɜɭɯ ɬɟɯɧɨɥɨɝɢɣ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ, ɚ ɢɦɟɧɧɨ: ɩɪɨɰɟɞɭɪɧɨɦɭ
ɢ ɨɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɨɦɭ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɸ (ɈɈɉ).
ɇɟɫɦɨɬɪɹ ɧɚ ɬɨ ɱɬɨ ɨɫɧɨɜɧɵɦ ɦɟɬɨɞɨɦ ɪɚɡɪɚɛɨɬɤɢ ɤɨɦɦɟɪɱɟɫɤɨɝɨ
ɉɈ ɧɚ
ɫɟɝɨɞɧɹɲɧɢɣ ɞɟɧɶ ɹɜɥɹɟɬɫɹ ɨɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɨɟ ɩɪɨɟɤɬɢɪɨɜɚɧɢɟ (ɚ ɬɚɤɠɟ ɜɨ ɦɧɨɝɨɦ ɩɪɨɢɡɨɲɟɞɲɟɟ ɢɡ ɧɟɝɨ ɦɨɞɭɥɶɧɨɟ ɩɪɨɟɤɬɢɪɨɜɚɧɢɟ), ɢɡɭɱɟɧɢɟ
ɮɭɧɞɚɦɟɧɬɚɥɶɧɵɯ ɨɫɧɨɜ ɫɬɪɭɤɬɭɪɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɢ ɩɪɢɧɰɢɩɨɜ ɪɚɡɪɚɛɨɬɤɢ ɮɭɧɤɰɢɨɧɚɥɶɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɨɝɨ (ɩɪɨɰɟɞɭɪɧɨɝɨ) ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ ɨɫɬɚɟɬɫɹ ɚɤɬɭɚɥɶɧɵɦ.
ɉɪɨɰɟɞɭɪɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ – ɷɬɨ ɩɪɢɦɟɧɟɧɢɟ ɜ ɩɪɨɝɪɚɦɦɟ ɩɨɞ-
ɩɪɨɝɪɚɦɦ. ȼ ɉɚɫɤɚɥɟ ɷɬɨ ɩɪɨɰɟɞɭɪɵ ɢ ɮɭɧɤɰɢɢ, ɜ
ɋ++ – ɬɨɥɶɤɨ ɮɭɧɤɰɢɢ.
ɋɬɪɭɤɬɭɪɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ – ɷɬɨ ɩɪɢɦɟɧɟɧɢɟ ɜɦɟɫɬɨ ɨɩɟɪɚɬɨɪɚ
goto ɝɨɬɨɜɵɯ ɹɡɵɤɨɜɵɯ ɫɬɪɭɤɬɭɪ – ɜɟɬɜɥɟɧɢɣ ɢ ɰɢɤɥɨɜ. ȼ ɋ++ ɷɬɨ for, while, do
while. if else, switch.
Ɉɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ (ɈɈɉ) ɨɩɪɟɞɟɥɹɟɬɫɹ
ɤɚɤ ɬɟɯɧɨɥɨɝɢɹ ɫɨɡɞɚɧɢɹ ɫɥɨɠɧɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ, ɨɫɧɨɜɚɧɧɚɹ ɧɚ
ɩɪɟɞɫɬɚɜɥɟɧɢɢ ɩɪɨɝɪɚɦɦɵ ɜ ɜɢɞɟ ɫɨɜɨɤɭɩɧɨɫɬɢ ɨɛɴɟɤɬɨɜ, ɤɚɠɞɵɣ ɢɡ ɤɨɬɨɪɵɯ
ɹɜɥɹɟɬɫɹ ɷɤɡɟɦɩɥɹɪɨɦ ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɬɢɩɚ (ɤɥɚɫɫɚ), ɚ ɤɥɚɫɫɵ ɨɛɪɚɡɭɸɬ
ɢɟɪɚɪ-
ɯɢɸ ɫ ɧɚɫɥɟɞɨɜɚɧɢɟɦ ɫɜɨɣɫɬɜ.
Ɇɨɞɭɥɶɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ – ɷɬɨ ɪɚɡɛɢɟɧɢɟ ɩɪɨɝɪɚɦɦɵ ɧɚ ɛɥɨɤɢ
ɮɭɧɤɰɢɣ (ɦɨɞɭɥɢ), ɤɚɠɞɵɣ ɢɡ ɤɨɬɨɪɵɯ ɜɵɩɨɥɧɹɟɬ ɫɜɨɸ ɡɚɞɚɱɭ, ɢ ɤɨɬɨɪɵɟ
ɧɚɫɬɨɥɶɤɨ ɧɟɡɚɜɢɫɢɦɵ, ɱɬɨ ɤɚɠɞɨɦɭ ɦɨɞɭɥɸ ɞɨɫɬɚɬɨɱɧɨ ɡɧɚɬɶ ɬɨɥɶɤɨ ɢɧɬɟɪ-
16

ɮɟɣɫɵ ɞɪɭɝɢɯ (ɬ. ɟ. ɢɦɟɧɚ ɮɭɧɤɰɢɣ ɦɨɞɭɥɹ), ɚ ɪɟɚɥɢɡɚɰɢɹ ɷɬɢɯ ɮɭɧɤɰɢɣ ɟɝɨ ɧɟ
ɢɧɬɟɪɟɫɭɟɬ.
ɍɱɟɛɧɨɟ ɩɨɫɨɛɢɟ ɨɫɧɨɜɚɧɨ ɧɚ ɨɫɧɨɜɧɵɯ ɩɨɧɹɬɢɹɯ ɩɪɨɰɟɞɭɪɧɨɝɨ ɢ ɫɬɪɭɤɬɭɪɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ.
ȼ ɬɟɨɪɢɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɞɨɤɚɡɚɧɨ, ɱɬɨ ɩɪɨɝɪɚɦɦɭ ɞɥɹ ɪɟɲɟɧɢɹ ɡɚɞɚɱɢ ɥɸɛɨɣ ɫɥɨɠɧɨɫɬɢ ɦɨɠɧɨ ɫɨɫɬɚɜɢɬɶ ɬɨɥɶɤɨ ɢɡ ɬɪɟɯ ɫɬɪɭɤɬɭɪ:
1) ɥɢɧɟɣɧɨɣ;
2) ɪɚɡɜɟɬɜɥɹɸɳɟɣɫɹ;
3) ɰɢɤɥɢɱɟɫɤɨɣ.
ɗɬɢ
ɫɬɪɭɤɬɭɪɵ ɧɚɡɵɜɚɸɬɫɹ ɛɚɡɨɜɵɦɢ ɤɨɧɫɬɪɭɤɰɢɹɦɢ ɫɬɪɭɤɬɭɪɧɨɝɨ ɩɪɨ-
ɝɪɚɦɦɢɪɨɜɚɧɢɹ.
Ʌɢɧɟɣɧɵɣ ɚɥɝɨɪɢɬɦ. Ⱥɥɝɨɪɢɬɦ ɥɢɧɟɣɧɨɣ ɫɬɪɭɤɬɭɪɵ – ɷɬɨ ɚɥɝɨɪɢɬɦ,
ɞɟɣɫɬɜɢɹ ɤɨɬɨɪɨɝɨ ɜɵɩɨɥɧɹɸɬɫɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨ, ɨɞɧɨ ɡɚ ɞɪɭɝɢɦ (ɪɢɫ. 2, ɚ).
Ɍɚɤɨɣ ɩɨɪɹɞɨɤ ɜɵɩɨɥɧɟɧɢɹ ɞɟɣɫɬɜɢɣ ɧɚɡɵɜɚɟɬɫɹ ɟɫɬɟɫɬɜɟɧɧɵɦ, ɩɨɷɬɨɦɭ ɜ ɫɯɟɦɚɯ ɚɥɝɨɪɢɬɦɨɜ ɥɢɧɟɣɧɨɣ ɫɬɪɭɤɬɭɪɵ ɧɟɬ ɫɢɦɜɨɥɚ Ɋɟɲɟɧɢɹ.
ȼ ɛɨɥɶɲɢɧɫɬɜɟ ɢɧɠɟɧɟɪɧɵɯ ɡɚɞɚɱ ɜɵɱɢɫɥɢɬɟɥɶɧɵɣ ɩɪɨɰɟɫɫ ɡɚɜɢɫɢɬ ɨɬ
ɜɵɩɨɥɧɟɧɢɹ ɧɟɤɨɬɨɪɵɯ ɭɫɥɨɜɢɣ
ɢ ɟɫɬɟɫɬɜɟɧɧɵɣ ɩɨɪɹɞɨɤ ɜɵɩɨɥɧɟɧɢɹ ɚɥɝɨɪɢɬɦɚ ɧɚɪɭɲɚɟɬɫɹ, ɬ. ɟ. ɧɚɛɥɸɞɚɟɬɫɹ ɢɥɢ ɪɚɡɜɟɬɜɥɺɧɧɵɣ, ɢɥɢ ɰɢɤɥɢɱɟɫɤɢɣ ɜɵɱɢɫɥɢɬɟɥɶɧɵɣ ɚɥɝɨɪɢɬɦ.
Ɋɢɫ. 2. Ȼɚɡɨɜɵɟ ɤɨɧɫɬɪɭɤɰɢɢ: ɚ – ɥɢɧɟɣɧɚɹ; ɛ – ɜɟɬɜɥɟɧɢɟ; ɜ – ɰɢɤɥɢɱɟɫɤɚɹ
Ɋɚɡɜɟɬɜɥɺɧɧɵɣ ɚɥɝɨɪɢɬɦ. Ɋɚɡɜɟɬɜɥɟɧɧɵɣ (ɪɚɡɜɟɬɜɥɹɸɳɢɣɫɹ) ɜɵɱɢɫɥɢɬɟɥɶɧɵɣ ɩɪɨɰɟɫɫ – ɷɬɨ ɩɪɨɰɟɫɫ, ɜ ɤɨɬɨɪɨɦ ɩɪɟɞɭɫɦɨɬɪɟɧɨ ɪɚɡɜɟɬɜɥɟɧɢɟ ɜɵɩɨɥɧɹɟɦɨɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɞɟɣɫɬɜɢɣ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɪɟɡɭɥɶɬɚɬɚ ɩɪɨɜɟɪɤɢ ɤɚɤɨɝɨ-ɥɢɛɨ ɭɫɥɨɜɢɹ (ɪɢɫ. 2, ɛ). ȼ ɷɬɢɯ ɚɥɝɨɪɢɬɦɚɯ ɟɫɬɟɫɬɜɟɧɧɵɣ ɩɨɪɹɞɨɤ ɜɵɩɨɥɧɟɧɢɹ ɞɟɣɫɬɜɢɣ ɧɚɪɭɲɚɟɬɫɹ. Ɋɚɡɜɟɬɜɥɺɧɧɵɣ ɚɥɝɨɪɢɬɦ ɫɨɞɟɪɠɢɬ
ɛɥɨɤ ɩɪɨɜɟɪɤɢ
17

ɭɫɥɨɜɢɹ Ɋɟɲɟɧɢɟ, ɢ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɪɟɡɭɥɶɬɚɬɚ ɩɪɨɜɟɪɤɢ ɜɵɩɨɥɧɹɟɬɫɹ ɬɨ ɢɥɢ
ɢɧɨɟ ɞɟɣɫɬɜɢɟ.
ɐɢɤɥɢɱɟɫɤɢɣ ɚɥɝɨɪɢɬɦ. Ȼɨɥɶɲɢɧɫɬɜɨ ɡɚɞɚɱ, ɪɟɲɚɟɦɵɯ ɜ ɢɧɠɟɧɟɪɧɨɣ
ɩɪɚɤɬɢɤɟ, ɢɦɟɸɬ ɰɢɤɥɢɱɟɫɤɭɸ ɫɬɪɭɤɬɭɪɭ(ɪɢɫ. 2, ɜ). ɐɢɤɥɢɱɟɫɤɚɹ ɫɬɪɭɤɬɭɪɚ
ɩɨɡɜɨɥɹɟɬ ɫɭɳɟɫɬɜɟɧɧɨ ɭɦɟɧɶɲɢɬɶ ɨɛɴɺɦ ɚɥɝɨɪɢɬɦɚ, ɩɪɟɞɫɬɚɜɢɬɶ ɟɝɨ ɤɨɦɩɚɤɬɧɨ ɡɚ ɫɱɟɬ ɨɪɝɚɧɢɡɚɰɢɢ ɩɨɜɬɨɪɟɧɢɣ ɛɨɥɶɲɨɝɨ ɱɢɫɥɚ ɨɞɢɧɚɤɨɜɵɯ ɜɵɱɢɫɥɟɧɢɣ
ɧɚɞ ɪɚɡɧɵɦɢ ɞɚɧɧɵɦɢ ɞɥɹ ɩɨɥɭɱɟɧɢɹ
ɧɟɨɛɯɨɞɢɦɨɝɨ ɪɟɡɭɥɶɬɚɬɚ. Ɇɧɨɝɨɤɪɚɬɧɨ
ɩɨɜɬɨɪɹɸɳɢɟɫɹ ɭɱɚɫɬɤɢ ɧɚɡɵɜɚɸɬɫɹ ɰɢɤɥɚɦɢ ɢɥɢ ɬɟɥɨɦ ɰɢɤɥɚ. ɉɟɪɟɦɟɧɧɚɹ ɚɥɝɨɪɢɬɦɚ, ɤɨɬɨɪɚɹ ɩɪɢ ɤɚɠɞɨɦ ɜɵɩɨɥɧɟɧɢɢ ɰɢɤɥɚ ɩɪɢɧɢɦɚɟɬ ɧɨɜɨɟ ɡɧɚɱɟɧɢɟ,
ɧɚɡɵɜɚɟɬɫɹ ɩɚɪɚɦɟɬɪɨɦ ɰɢɤɥɚ (ɢɥɢ ɩɟɪɟɦɟɧɧɨɣ ɰɢɤɥɚ).
ɐɟɥɶɸ ɩɪɢɦɟɧɟɧɢɹ ɛɚɡɨɜɵɯ ɤɨɧɫɬɪɭɤɰɢɣ ɹɜɥɹɟɬɫɹ ɩɨɥɭɱɟɧɢɟ ɩɪɨɝɪɚɦɦɵ
ɩɪɨɫɬɨɣ ɫɬɪɭɤɬɭɪɵ. Ɍɚɤɭɸ ɩɪɨɝɪɚɦɦɭ ɥɟɝɤɨ ɱɢɬɚɬɶ, ɨɬɥɚɠɢɜɚɬɶ ɢ ɩɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɜɧɨɫɢɬɶ ɜ ɧɟɟ ɢɡɦɟɧɟɧɢɹ. ɋɬɪɭɤɬɭɪɧɨɟ
ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɬɚɤɠɟ ɧɚɡɵɜɚɸɬ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɛɟɡ goto, ɬɚɤ ɤɚɤ ɱɚɫɬɨɟ ɩɪɢɦɟɧɟɧɢɟ ɨɩɟɪɚɬɨɪɨɜ ɩɟɪɟɯɨɞɚ ɡɚɬɪɭɞɧɹɟɬ ɩɨɧɢɦɚɧɢɟ ɥɨɝɢɤɢ ɪɚɛɨɬɵ ɩɪɨɝɪɚɦɦɵ. Ɉɞɧɚɤɨ ɢɧɨɝɞɚ ɜɫɬɪɟɱɚɸɬɫɹ ɫɢɬɭɚɰɢɢ, ɜ ɤɨɬɨɪɵɯ ɩɪɢɦɟɧɟɧɢɟ ɨɩɟɪɚɬɨɪɨɜ ɩɟɪɟɯɨɞɚ, ɧɚɨɛɨɪɨɬ, ɭɩɪɨɳɚɟɬ ɫɬɪɭɤɬɭɪɭ ɩɪɨɝɪɚɦɦɵ.
Ⱦɥɹ ɪɟɚɥɢɡɚɰɢɢ ɚɥɝɨɪɢɬɦɚ ɩɪɢɦɟɧɹɸɬɫɹ ɫɩɟɰɢɚɥɶɧɵɟ ɨɩɟɪɚɬɨɪɵ. Ʉ ɧɢɦ
ɨɬɧɨɫɹɬ:
1) ɫɨɫɬɚɜɧɵɟ ɨɩɟɪɚɬɨɪɵ;
2) ɨɩɟɪɚɬɨɪɵ ɜɵɛɨɪɚ (if-else, switch-case);
3) ɨɩɟɪɚɬɨɪɵ ɰɢɤɥɨɜ (while, do-while, for);
4) ɨɩɟɪɚɬɨɪɵ
ɩɟɪɟɞɚɱɢ ɭɩɪɚɜɥɟɧɢɹ (break, return, continue).
1.6. Oɩɟɪɚɬɨɪɵ ɹɡɵɤɚ ɋ++
Ɉɩɟɪɚɬɨɪ ɭɫɥɨɜɢɹ if
ɗɬɨɬ ɨɩɟɪɚɬɨɪ ɩɨɡɜɨɥɹɟɬ ɜɵɛɪɚɬɶ ɨɞɢɧ ɢɡ ɜɚɪɢɚɧɬɨɜ ɜɵɩɨɥɧɟɧɢɹ ɞɟɣɫɬɜɢɣ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɭɫɥɨɜɢɹ. ɉɪɢɦɟɧɹɸɬɫɹ ɩɪɨɫɬɵɟ ɢ ɜɥɨɠɟɧɧɵɟ ɤɨɧɫɬɪɭɤɰɢɢ ɨɩɟɪɚɬɨɪɚ if (ɪɢɫ. 3, ɚ, ɛ). Ɉɛɳɢɣ ɜɢɞ ɨɩɟɪɚɬɨɪɚ [7]
if (ɭɫɥɨɜɢɟ)
{
ɨɩɟɪɚɬɨɪ_1;
}
else
{
ɨɩɟɪɚɬɨɪ_2;
}
ȿɫɥɢ ɭɫɥɨɜɢɟ ɢɫɬɢɧɧɨ (ɧɟ ɪɚɜɧɨ 0), ɜɵɩɨɥɧɹɟɬɫɹ ɨɩɟɪɚɬɨɪ_1, ɟɫɥɢ
ɥɨɠɧɨ,
ɬɨ ɜɵɩɨɥɧɹɟɬɫɹ ɨɩɟɪɚɬɨɪ_2.
ȼ ɤɚɱɟɫɬɜɟ ɜɵɪɚɠɟɧɢɹ-ɭɫɥɨɜɢɹ ɦɨɝɭɬ ɩɪɢɦɟɧɹɬɶɫɹ ɚɪɢɮɦɟɬɢɱɟɫɤɨɟ ɜɵɪɚɠɟɧɢɟ, ɨɬɧɨɲɟɧɢɟ ɢ ɥɨɝɢɱɟɫɤɨɟ ɜɵɪɚɠɟɧɢɟ. ȿɫɥɢ ɡɧɚɱɟɧɢɟ ɜɵɪɚɠɟɧɢɹ-
18

ɭɫɥɨɜɢɹ ɨɬɥɢɱɧɨ ɨɬ ɧɭɥɹ (ɬ. ɟ. ɢɫɬɢɧɧɨ), ɬɨ ɜɵɩɨɥɧɹɟɬɫɹ ɨɩɟɪɚɬɨɪ, ɫɥɟɞɭɸɳɢɣ
ɡɚ ɭɫɥɨɜɧɵɦ.
ɉɨɥɧɚɹ ɮɨɪɦɚ ɩɪɢɦɟɧɹɟɬɫɹ, ɟɫɥɢ ɧɟɨɛɯɨɞɢɦɨ ɜɵɩɨɥɧɟɧɢɟ ɡɚɞɚɱɢ ɩɪɢ
ɧɚɥɢɱɢɟ ɞɜɭɯ ɭɫɥɨɜɢɣ.
Ɋɢɫ. 3. Ȼɥɨɤ-ɫɯɟɦɚ ɨɩɟɪɚɬɨɪɚ if/else:
ɚ – ɩɪɨɫɬɚɹ ɤɨɧɫɬɪɭɤɰɢɹ; ɛ – ɜɥɨɠɟɧɧɚɹ ɤɨɧɫɬɪɭɤɰɢɹ
ȿɫɥɢ ɬɪɟɛɭɟɬɫɹ ɩɪɨɜɟɪɢɬɶ ɧɟɫɤɨɥɶɤɨ ɭɫɥɨɜɢɣ, ɢɯ ɨɛɴɟɞɢɧɹɸɬ ɡɧɚɤɚɦɢ ɥɨɝɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ:
if (a<b && (a>d || a = = 0))
{
b++;
}
else
{
b* = a; a = 0;
}
19

Ʉɨɧɫɬɪɭɤɰɢɹ else ɧɟɨɛɹɡɚɬɟɥɶɧɚ, ɧɚɩɪɢɦɟɪ:
int x, z;
if (x>7)
{
z = x + 4;
}
else
{
z = x + x;
};
Ɉɩɟɪɚɬɨɪ ɜɵɛɨɪɚ switch
ɉɪɢ ɜɵɩɨɥɧɟɧɢɢ ɨɩɟɪɚɬɨɪɚ switch, ɜɵɱɢɫɥɹɟɬɫɹ ɜɵɪɚɠɟɧɢɟ, ɡɚɩɢɫɚɧɧɨɟ
ɩɨɫɥɟ switch, ɨɧɨ ɞɨɥɠɧɨ ɛɵɬɶ ɰɟɥɨɱɢɫɥɟɧɧɵɦ. ɉɨɥɭɱɟɧɧɨɟ ɡɧɚɱɟɧɢɟ ɜɵɪɚɠɟɧɢɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨ ɫɪɚɜɧɢɜɚɟɬɫɹ ɫ ɤɨɧɫɬɚɧɬɚɦɢ, ɤɨɬɨɪɵɟ ɡɚɩɢɫɚɧɵ ɫɥɟɞɨɦ ɡɚ
case (ɪɢɫ. 4). ɉɪɢ ɩɟɪɜɨɦ ɠɟ ɫɨɜɩɚɞɟɧɢɢ ɜɵɩɨɥɧɹɸɬɫɹ ɨɩɟɪɚɬɨɪɵ, ɨɩɢɫɚɧɧɵɟ
ɩɨɫɥɟ ɤɨɧɫɬɚɧɬɵ case. ȿɫɥɢ ɜɵɩɨɥɧɟɧɧɵɟ ɨɩɟɪɚɬɨɪɵ ɧɟ ɫɨɞɟɪɠɚɬ ɨɩɟɪɚɬɨɪɚ ɩɟɪɟɯɨɞɚ
, ɬɨ ɞɚɥɟɟ ɜɵɩɨɥɧɹɸɬɫɹ ɨɩɟɪɚɬɨɪɵ ɜɫɟɯ ɫɥɟɞɭɸɳɢɯ ɜɚɪɢɚɧɬɨɜ, ɩɨɤɚ ɧɟ
ɩɨɹɜɢɬɫɹ ɨɩɟɪɚɬɨɪ ɩɟɪɟɯɨɞɚ ɢɥɢ ɧɟ ɡɚɤɨɧɱɢɬɫɹ ɩɟɪɟɤɥɸɱɚɬɟɥɶ. ȿɫɥɢ ɡɧɚɱɟɧɢɟ
ɜɵɪɚɠɟɧɢɹ, ɡɚɩɢɫɚɧɧɨɝɨ ɩɨɫɥɟ switch, ɧɟ ɫɨɜɩɚɥɨ ɧɢ ɫ ɨɞɧɨɣ ɤɨɧɫɬɚɧɬɨɣ, ɬɨ
ɜɵɩɨɥɧɹɸɬɫɹ ɨɩɟɪɚɬɨɪɵ, ɤɨɬɨɪɵɟ ɫɥɟɞɭɸɬ ɡɚ ɦɟɬɤɨɣ default. Ɇɟɬɤɚ default ɦɨɠɟɬ ɨɬɫɭɬɫɬɜɨɜɚɬɶ.
Ɉɩɟɪɚɬɨɪ switch ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɨɪɝɚɧɢɡɚɰɢɢ ɜɵɛɨɪɚ ɢɡ ɦɧɨɠɟɫɬɜɚ
ɪɚɡɥɢɱɧɵɯ ɜɚɪɢɚɧɬɨɜ. Ɏɨɪɦɚɬ ɨɩɟɪɚɬɨɪɚ
ɫɥɟɞɭɸɳɢɣ [7]:
switch ( ɜɵɪɚɠɟɧɢɟ_ɜɵɛɨɪɚ )
{
case ɡɧɚɱɟɧɢɟ_1 : ɨɩɟɪɚɬɨɪ_1;
break; // ɇɟ ɨɛɹɡɚɬɟɥɶɧɨ
case ɡɧɚɱɟɧɢɟ_2 : ɨɩɟɪɚɬɨɪ_2;
break; // ɇɟ ɨɛɹɡɚɬɟɥɶɧɨ
...
case ɡɧɚɱɟɧɢɟ_n : ɨɩɟɪɚɬɨɪ_n;
break; // ɇɟ ɨɛɹɡɚɬɟɥɶɧɨ
default : ɨɩɟɪɚɬɨɪ; // ɇɟ ɨɛɹɡɚɬɟɥɶɧɨ
}
Ɂɞɟɫɶ ɜɵɪɚɠɟɧɢɟ_ɜɵɛɨɪɚ – ɥɸɛɨɟ ɜɵɪɚɠɟɧɢɟ ɢɥɢ ɩɟɪɟɦɟɧɧɚɹ, ɡɧɚɱɟɧɢɟ
ɤɨɬɨɪɵɯ ɞɨɥɠɧɨ ɛɵɬɶ ɰɟɥɵɦ; ɡɧɚɱɟɧɢɟ – ɰɟɥɵɟ ɢɥɢ ɫɢɦɜɨɥɶɧɵɟ ɤɨɧɫɬɚɧɬɵ.
ȼɫɟ
ɨɧɢ ɞɨɥɠɧɵ ɛɵɬɶ ɭɧɢɤɚɥɶɧɵɦɢ.
ɉɨɪɹɞɨɤ ɜɵɩɨɥɧɟɧɢɹ ɨɩɟɪɚɬɨɪɚ switch:
− ɜɵɱɢɫɥɹɟɬɫɹ ɜɵɪɚɠɟɧɢɟ_ɜɵɛɨɪɚ;
− ɜɵɱɢɫɥɟɧɧɨɟ ɡɧɚɱɟɧɢɟ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨ ɫɪɚɜɧɢɜɚɟɬɫɹ ɫɨ ɡɧɚɱɟɧɢɹɦɢ,
ɫɥɟɞɭɸɳɢɦɢ ɡɚ ɤɥɸɱɟɜɵɦɢ ɫɥɨɜɚɦɢ case;
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
