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

Алгоритмизация в инженерных задачах. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]