П’ятий спосіб максимально наближений до комп’ютера — це
Домашнє завдання:
• Прочитати сторінки 7—16 запропонованого підручника;
• Вивчити означення: алгоритм, властивості алгоритму, способи подання алгоритму;
• Придумати та записати у зошит будь-який алгоритм на побутову тему(кулінарний, прибирання кімнати, виконання уроків і т.д.);
Мета: Дати поняття про базові структури алгоритмів. Навчити розпізнавати базові структури в запропонованих алгоритмах.
Теоретичний матеріал
Навіть ще не маючи досвіду в створенні алгоритмів, ми інтуїтивно розуміємо, що вони розрізняються за своєю структурою. Так, є алгоритми, що виконуються за будь-яких обставин.
Але таке трапляється нечасто, тому що людина завжди коригує свої плани залежно від оточуючих умов, і тому виникає ситуація «якщо трапиться...», «якщо зустрінуся...», «якщо встигну...» тощо. А іноді ми змушені повторювати якийсь процес кілька разів, доки не отримаємо бажаного результату. Найчастіше ж ми і умови враховуємо, і повторюємо щось. Ось так і виникають різні типи алгоритмів.
Існує чотири базових структури алгоритмів: лінійні; розгалужені; циклічні; змішані. Найпростіша в написанні та виконанні перша з цих структур —
Простими є ті команди, що виконуються безумовно, тобто після першої команди виконується друга, потім третя і тощо. Загальний вигляд лінійного алгоритму, поданий мовою блок-схем, наступний:
На відміну від людини, виконавець «комп’ютер» не може відмовитися від виконання команди, він не може подібно недбалому учню сказати «не хочу», «не можу», «в мене болить голова і поганий настрій». Команда, записана в алгоритмі, повинна бути виконаною, тому, якщо знехтувати суто людськими якостями («не хочу», «не можу» і т.д.), лінійним можна назвати алгоритм ранкового збирання до школи:
Та навіть у такому простому алгоритмі ви відразу ж знайдете недоліки. Наприклад, що робити, коли я себе погано почуваю (захворів), а якщо я вже зібрав речі звечора, а якщо я не встиг напередодні вивчити всі уроки і мені необхідно щось повторити, а що значить одягнути верхній одяг (залежить від пори року, погоди тощо). Якщо ж спробувати прослідкувати за вашою поведінкою протягом дня, то з’ясується, що майже ніколи ви не дієте за лінійним алгоритмом. Весь час ви аналізуєте ситуацію, змінюєте свою поведінку та свої плани, пристосовуєтеся до обставин.
Тому набагато частіше зустрічається другий тип алгоритму —
Мовою блок-схем розгалужений алгоритм подається таким чином:
Тепер розглянемо, що ж таке
Виходячи з цього, речення «Якого кольору твій піджак?» не можна вважати умовою, а речення «Твоє волосся русяве?»—можна.
Дуже часто в житті ми змушені враховувати велику кількість найрізноманітніших умов. Наприклад, ми йдемо гуляти на вулицю, якщо «мама відпустила» та «гарна погода», а ще якщо «подруга покликала». Уроки дехто з учнів робить, якщо знов таки «тато примусив», або «вчителька дуже сувора». Такі умови називаються
Перше з цих слів («або») використовується у тих випадках, коли необхідне виконання хоча б однієї з умов, тобто хоча б одна з умов є істинною. Наприклад, діти залишаються вдома (не йдуть до школи), якщо «сьогодні вихідний»,
Друге слово («та»), навпаки, використовується лише в тих випадках, коли тільки одночасне виконання всіх умов приводить до результату. Наприклад, тільки у випадку вже зроблених домашніх справ
Однак, навіть маючи в своєму арсеналі команду розгалуження, важко реалізувати алгоритми, що потребують багаторазового повторення деякої послідовності однакових дій. У цих випадках нас виручає