Розробка алгоритмів розвязування задач на ЕОМ ставить деякі природні вимоги до алгоритмів: алгоритм має бути зрозумілим і легко сприйматися не тільки його розробником, необхідно, щоб алгоритм можна було легко перевірити, а також модифікувати його без суттєвої перебудови всієї структури.
Тому при розробці алгоритмів дотримуються особливої методики, що називається структурним підходом. За цим підходом алгоритми, як в конструкторі, “збираються” з трьох базових структур: слідування, розгалуження, цикл, кожна з яких має один вхід і один вихід.
БАЗОВА СТРУКТУРА “СЛІДУВАННЯ”
Ця структура (мал. 1) складається із двох функціональних блоків F1, F2 і означає, що два функціональних блока можуть розміщуватися один за одним.
БАЗОВА СТРУКТУРА “РОЗГАЛУЖЕННЯ”
Ця g>Базова структура “слідування”
Ця структура (мал. 1) складається із двох функціональних блоків F1, F2 і означає, що два функціональних блока можуть розміщуватися один за одним.
БАЗОВА СТРУКТУРА “РОЗГАЛУЖЕННЯ”
Ця структура (мал. 2) складається з логічного блоку, у якому перевіряється деяка умова U, та функціональних блоків F1, F2. При цьому функціональний блок F2 може бути відсутнім. Якщо умова U виконується, то відбувається вихід з блоку за стрілкою “+”, якщо ні - за стрілкою “-“.
БАЗОВА СТРУКТУРА “ЦИКЛ”
До складу структури входить логічний блок з перевіркою умови U і функціональний блок F, який називається тілом циклу. Зі структури “цикл” слідує, що тіло F може виконуватися неодноразово.
У залежност структура (мал. 2) складається з логічного блоку, у якому перевіряється деяка умова U, та функціональних блоків F1, F2. При цьому функціональний блок F2 може бути відсутнім. Якщо умова U виконується, то відбувається вихід з блоку за стрілкою “+”, якщо ні - за стрілкою “-“.
БАЗОВА СТРУКТУРА “ЦИКЛ”
До складу структури входить логічний блок з перевіркою умови U і функціональний блок F, який називається тілом циклу. Зі структури “цикл” слідує, що тіло F може виконуватися неодноразово.
У залежності від взаємного розташування логічного та функціонального блоків, розрізняють цикли двох видів:
- цикл-поки: тіло циклу розташоване після перевірки умови (мал. 3). Поки умова виконується, виконується і тіло. Тому можливий випадок, коли тіло циклу жодного разу не виконається. Тут U являється умовою продовження циклу (кожен раз, коли U істинно, тіло F виконується);
- цикл-до: Тіло циклу розташоване до перевірки умови (мал. 4), тому тіло циклу завжди виконається хоча б один раз, незалежно від виконання умови. Тут U являється умовою виходу з циклу (як тільки U стає істинним, p>
БАЗОВА СТРУКТУРА “ЦИКЛ”
До складу структури входить логічний блок з перевіркою умови U і функціональний блок F, який називається тілом циклу. Зі структури “цикл” слідує, що тіло F може виконуватися неодноразово.
У залежності від взаємного розташування логічного та функціонального блоків, розрізняють цикли двох видів:
- цикл-поки: тіло циклу розташоване після перевірки умови (мал. 3). Поки умова виконується, виконується і тіло. Тому можливий випадок, коли тіло циклу жодного разу не виконається. Тут U являється умовою продовження циклу (кожен раз, коли U істинно, тіло F виконується);
- цикл-до: Тіло циклу розташоване до перевірки умови (мал. 4), тому тіло циклу завжди виконається хоча б один раз, незалежно від виконання умови. Тут U являється умовою виходу з циклу (як тільки U стає істинним, виконання тіла F припиняється).
СКЛАДАННЯ БЛОК-СХЕМ
За структурним підходом дотримуються домовленостей: при складанні блок-схем дозволяється використовувати тільки три вказані базові структури. При цьому один з функціональних блоків можна заміняти будь-якою з базових структур. Такі домовленості дозволяють конструювати складні за змістом алгоритми, розвиваючи їх не тільки “в ширину”, але і “в глибину”.
Складемо блок-схему, скориставшись структурою “слідування”, в якій на місці блоку F2 вставимо структуру “цикл-до”, а в останній замість блоку F вставимо структуру “розгалуження”. Матимемо структуру, як на мал. 5.
Сконструйовані у такий спосіб алгоритми мають чітку і зрозумілу структуру, бо складаються з обмеженої кількості блоків, побудованих аналогічно.
Розробка алгоритмів розвязування задач на ЕОМ ставить деякі природні вимоги до алгоритмів: алгоритм має бути зрозумілим і легко сприйматися не тільки його розробником, необхідно, щоб алгоритм можна було легко перевірити, а також модифікувати його без суттєвої перебудови всієї структури.
Тому при розробці алгоритмів дотримуються особливої методики, що називається структурним підходом. За цим підходом алгоритми, як в конструкторі, “збираються” з трьох базових структур: слідування, розгалуження, цикл, кожна з яких має один вхід і один вихід.
Базова структура “слідування”
Ця структура (мал. 1) складається із двох функціональних блоків F1, F2 і означає, що два функціональних блока можуть розміщуватися один за одним.
Базова структура “розгалуження”
Ця структура (мал. 2) складається з логічного блоку, у якому перевіряється деяка умова U, та функціональних блоків F1, F2. При цьому функціональний блок F2 може бути відсутнім. Якщо умова U виконується, то відбувається вихід з блоку за стрілкою “+”, якщо ні - за стрілкою “-“.
Базова структура “цикл”
До складу структури входить логічний блок з перевіркою умови U і функціональний блок F, який називається тілом циклу. Зі структури “цикл” слідує, що тіло F може виконуватися неодноразово.
У залежності від взаємного розташування логічного та функціонального блоків, розрізняють цикли двох видів:
- цикл-поки: тіло циклу розташоване після перевірки умови (мал. 3). Поки умова виконується, виконується і тіло. Тому можливий випадок, коли тіло циклу жодного разу не виконається. Тут U являється умовою продовження циклу (кожен раз, коли U істинно, тіло F виконується);
- цикл-до: Тіло циклу розташоване до перевірки умови (мал. 4), тому тіло циклу завжди виконається хоча б один раз, незалежно від виконання умови. Тут U являється умовою виходу з циклу (як тільки U стає істинним, виконання тіла F припиняється).
СКЛАДАННЯ БЛОК-СХЕМ
За структурним підходом дотримуються домовленостей: при складанні блок-схем дозволяється використовувати тільки три вказані базові структури. При цьому один з функціональних блоків можна заміняти будь-якою з базових структур. Такі домовленості дозволяють конструювати складні за змістом алгоритми, розвиваючи їх не тільки “в ширину”, але і “в глибину”.
Складемо блок-схему, скориставшись структурою “слідування”, в якій на місці блоку F2 вставимо структуру “цикл-до”, а в останній замість блоку F вставимо структуру “розгалуження”. Матимемо структуру, як на мал. 5.
Сконструйовані у такий спосіб алгоритми мають чітку і зрозумілу структуру, бо складаються з обмеженої кількості блоків, побудованих аналогічно.
|