У структурі цикл-Поки для виконання вказівки треба спочатку визначити, істинне чи хибне твердження. Якщо істинне (+), то виконується набір простіших вказівок слідування і знову повертаються до визначення істинності твердження. Так продовжується поки твердження не стане хибним. Тоді виконання вказівки закінчиться.
Базові структури алгоритмів: слідування (1); розгалуження – повне (2), неповне (3); повторення – цикл-Поки (4), цикл-До (5)
У структурі цикл-До спочатку виконується набір простіших вказівок слідування, а потім визначається істинність твердження. Якщо твердження хибне, то знову виконується набір вказівок. Якщо ж твердження істинне, то виконання вказівки циклу вважається закінченим.
Будь-який алгоритм подається у вигляді лінійної послідовності базових алгоритмічних структур.
Лінійний алгоритм – алгоритм, у якому використовується тільки структура «слідування».
Алгоритм з розгалуженням – алгоритм, в основі якого лежить структура «розгалуження».
Циклічний алгоритм – алгоритм, в основі якого лежить структура «повторення».
Основні етапи розв’язання прикладної задачі з використанням ЕОМ
Розв’язування задач у будь-якій сфері діяльності – це одержання певних результатів (результатів обчислень, побудови, роботи тощо).
Хоча ЕОМ є універсальним пристроєм для розв’язання різноманітних навчальних і виробничих задач, її система команд базується на арифметичних (наприклад додавання), логічних (наприклад, І, ЧИ, НІ) та деяких інших. Тому для виконання практично всіх алгоритмів розв’язування задач у будь-якій предметній галузі необхідним стає опис постановки задачі та методів її розв’язання мовою математики, а потім вираження їх у формі програм.
Етапи розв’язання задач на ЕОМ:
1. Математична постановка задачі.
2. Визначення методів розв’язування.
3. Складання сценарію роботи з ЕОМ.
4. Конструювання алгоритму.
5. Переклад алгоритму в програму.
6. Введення і випробування програми.
7. Одержання результатів розв’язання.
При постановці задачі необхідно визначити і перелічити всі вхідні дані та дані, які необхідно знайти, відповісти на запитання: за яких умов можна одержати потрібні результати, а за яких ні, а також визначити, які результати будуть вважатися правильними.
На другому етапі необхідно не тільки обрати спосіб одержання результатів, а й оптимальний метод розв’язування задач, який би давав найбільш правильну відповідь. Правильність розв’язування задач на ЕОМ перш за все залежить від правильності обраного методу розв’язування.
Для написання сценарію програми необхідно продумати правила введення даних в ЕОМ, форму подання інформації користувачам, реакцію машини на вказівки і дані, які вводяться. Сценарії повинні визначати правила роботи користувачів з ЕОМ.
За складеним сценарієм і описом методу складемо алгоритм розв’язування задачі.
Програмування (написання програм при наявності алгоритмів) – кодування алгоритмів вибраною мовою програмування.
Тестування – процес підготовки, виконання програми та аналіз результатів з метою виявлення помилок. Введення і випробування створеної програми здійснюємо за заздалегідь підготовленим планом. Програму виконують на ЕОМ з різними значеннями аргументів, які б забезпечували перевірку всіх можливих умов, при яких може виникнути помилка. Оцінюється правильність одержаних результатів.
На основі отриманих результатів будують таблиці, графіки, аналізують і пояснюють у термінах вихідних даних задачі.
Алгоритмічні етюди
Задачі про перевезення
Існує група задач, у яких треба перевезти, наприклад через річку, яку-небудь кількість дійових осіб. Але при цьому існують обмеження.
Якась людина (перевізник) повинна перевезти через річку вовка, козу та капусту. У її розпорядженні є човен. Але човен може взяти, крім перевізника, тільки або вовка, або козу, або капусту. Залишити без нагляду вовка з козою або козу з капустою не можна.
Розв’язання задачі: