Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование Методичка.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
5.33 Mб
Скачать

Блок-схема алгоритму складної циклічної структури

3

4

5

Так

1

8

9

2

6

7

Ні

Так

Ні

10

11

12

Мал. 9

(i>n)

(X>Xk)

(i>n)

Алгоритм обліку суми і добутку

Розрахувати суму і добуток елементів Xi масиву {Xi}n:

n n

S = ∑ Xi, P = ∏ Xi, Xi {Xi}n (i  [1; n])

i=1 i=1

Аналіз задачі.

Для обліку суми можна використати ітераційну формулу S = S + Xi і пере­дусім покласти S = 0 для того, щоби під час ітераційного процесу (i = 1, 2, ..., n) не додавати черговий елемент Xi множини {Xi}n до комірки S із невизначеним значенням (бо динамічна неініційована абияким значенням комірка оперативної пам’яті містить «сміття»).

Для обліку добутку можна використати ітераційну формулу P = P · Xi і пе­редусім покласти P = 1 для того, щоби під час ітераційного процесу (i = 1, 2, ..., n) на найпершій ітерації (при i = 1) отримати P = 1 · X1 = X1.

Алгоритм (блок схему див. на мал. 10):

Початок.

Крок 1. Введення значення змінної n.

Крок 2. i = 1 (тут i - параметр циклу введення елементів масиву {Xi}n).

Крок 3. Введення елементу Xi масиву {Xi}n.

Крок 4. i = i + 1.

Крок 5. Якщо і  n, то перехід до кроку 3 ().

Крок 6. Присвоювання: S = 0; P = 1.

Крок 7. i = 1.

Крок 8. S = S + Xi.

Крок 9. P = P · Xi.

Крок 10. i = i + 1.

Крок 11. Якщо і  n, то перехід до кроку 8 ().

Крок 12. Виведення значень S i P .

Кінець.

Для зменшення кількості ітерацій можна об’єднати цикли введення еле­ментів масиву {Xi}n і обліку S i P. Можна також на кроці 6 покласти S = X1 i P = X1, а тоді ітерації починати зі значення i = 2 (на кроці 7 покласти i = 2).

Блок-схема алгоритму обліку суми і добутку

1

2

3

(i>n)

6

7

4

5

8

9

Мал. 10

Алгоритм пошуку мінімуму і максимуму

Знайти мінімальний і максимальний елементи серед усіх елементів Xi множини {Xi}n:

min ≤ Xi, (min {Xi}n)

max ≥ Xi, (max {Xi}n) i  [1; n].

Аналіз задачі.

Для розв’язання задачи треба насамперед ініціювати початкові значення мінімуму (min) і максимуму (max). Для цього підходить значення першого елементу масиву {Xi}n. Далі на кожній i-ій ітерації (i  [1; n]) циклу перебору еле­ментів масиву {Xi}n треба попарно порівню­вати поточний елемент із поточ­ними зна­ченнями min i max. Якщо аби­який елемент масиву {Xi}n є меншим за min чи бі­льшим за max, то запам’ято­вувати його значення відповідно у min чи у max.

Алгоритм (блок схему див. на мал. 11):

Початок.

Крок 1. Введення значення змінної n.

Крок 2. i = 1 (тут i - параметр циклу введення елементів масиву {Xi}n).

Крок 3. Введення елементу Xi масиву {Xi}n.

Крок 4. i = i + 1.

Крок 5. Якщо і  n, то перехід до кроку 3 ().

Крок 6. Присвоювання: min = X1; max = X1.

Крок 7. i = 2.

Крок 8. Якщо Xi ≤ min, то покласти min = Xi і перейти до кроку 10.

Крок 9. Якщо Xi ≥ max, то покласти max = Xi.

Крок 10. i = i + 1.

Крок 11. Якщо і  n, то перехід до кроку 8 ().

Крок 12. Виведення значень min i max .

Кінець.

Для зменшення кількості ітерацій можна об’єднати цикли введення еле­ментів масиву {Xi}n і обліку min i max.

Інший варіант алгоритму передбачає ініціювання min найбільшим можли­вим значенням MAX_VAR дійсного числа на комп’ютері, max - найменшим можливим значенням (-MAX_VAR), але тоді ітерації треба починати зі значення i = 1 (на кроці 7 покласти i = 1) і у кроці 8 не переходити до кроку 10.