МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Приклади побудови структурних схем алгоритмів.Алгоритмічна підготовка пов'язана з розвитком логічного мислення, з розумінням того, що все різноманіття способів організації дій базується на кінцевому числі алгоритмічних конструкцій, з формуванням уміння «мислити структурами», представляти їх у вигляді формалізованих записів. Оскільки найбільш адекватним способом подання алгоритмічних структур є блок-схема, то даний спосіб запису алгоритму необхідно використовувати на всіх етапах навчання. Застосування структурних схем (блок-схем) дозволяє полегшити розуміння структури алгоритму, сконцентрувати увага на знаходженні способу рішення завдання, а не на синтаксисі мови, здійснити логічний аналіз алгоритму та швидку перевірку його правильності на рівні ідеї, розібрати більше число алгоритмічних завдань. На початковому етапі навчання відповідно до принципу мінімальної достатності методичних засобів, доцільно використовувати три базових конструкції: одна проста команда – слідування, та дві складні команди – розгалуження (у повній та скороченій формі) та повторення (з предумовою та постумовою), поданих стандартним чином. Кожна із трьох структур має один вхід та один вихід, що дає можливість виконати як наступну деталізацію алгоритму, так і його перетворення убік укрупнення блоків та зведення їх до одного.
Варто приділяти увагу оформленню конструкцій стандартним чином, що допомагає їх розпізнавати в алгоритмічних приписах. При цьому відпадає необхідність позначати стрілки написами типу «+» й «–» або «так» та «ні», оскільки для зображення складових команд використовують певні шаблони: у команді розгалуження дія, що виконується при дотриманні умови, розташовується завжди праворуч, у команді повторення із передумовою дія повторюється, якщо умова дотримується, а з постумовою – якщо умова не дотримується. З'єднуючи основні структури послідовно або вкладенням, можна «зібрати» алгоритм будь-якого ступеня складності. Зазначений структурний підхід до розробки алгоритмів дозволяє здійснити переклад запису алгоритму з мови блок-схем на мову процедурного програмування без внесення змін у конструкцію алгоритмічних приписань. У ході пошуку рішення завдання не завжди можна отримати блок-схему в структурному виді. Тому необхідно опанувати прийомами приведення алгоритмічного припису до структурного запису. Такими спеціальними прийомами є інвертування умови складової команди, дублювання блоку, з'єднання умов складених команд та введення додаткової змінної – ознаки. Слід розглянути кілька прикладів, які ілюструють зазначений підхід. Приклад 1. Дві блок-схеми одного й того самого фрагмента алгоритму наведені на мал. 1. У схемі ліворуч досить важко виділити базові структури алгоритму, знайти крапки входу та виходу в складених командах, визначити чи є вкладеність однієї базової конструкції в іншу або ж з'єднання йде послідовно. Інвертувавши умову команди повторення, з'єднавши стрілки до виходу з команди розгалуження та представивши запис відповідно до шаблона команд, отримуємо структурний запис алгоритму.
У схемі праворуч можна легко побачити команду слідування, послідовно з'єднану з командою повторення із предумовою, що у свою чергу містить вкладену команду розгалуження в скороченій формі. Причому, обвівши кожну складову команду пунктиром, можна визначити по одному входу виходу в командах слідування, розгалуження та повторення, що дає можливість здійснити покрокове перетворення запису алгоритму, як по шляху його деталізації, так і укрупнення. Приклад 2. Вихідний запис наступного алгоритму, можна перетворити до структурного виду двома способами: дублюванням блоку з інвертуванням умови зовнішньої команди розгалуження та об'єднанням умов двох команд розгалуження логічною операцією кон’юнкцією. Очевидно, що другий спосіб скорочує запис алгоритму. Однак спочатку перевагу варто віддати першому способу, оскільки з методичної точки зору при навчанні складанню структур він більше цікавий, тому що дає можливість розглянути поєднання команд розгалуження за допомогою вкладення. Застосування другого способу можливо після вивчення елементів математичної логіки.
Приклад 3. Перший і третій способи представлення алгоритму до структурного виду використають прийоми, розглянуті вище: дублювання блоку та з'єднання умов команд розгалужень логічними операціями. Другий спосіб заснований на введенні додаткової змінної – ознаки (або прапорця), що міняє своє значення, якщо жодна з умов не виконується й визначає остаточний вибір між діями S1 та S2. Хоча запис алгоритму подовжується ще на одну команду розгалуження, але це дає можливість уникнути багатократного дублювання тієї самої дії S1.
Приклад 4. Аналізуючи вихідний запис алгоритму, можна визначити, що в алгоритмі є не одна, а дві умови P1 й P2 закінчення циклу. Причому залежно від того, яка умова виявилася причиною завершення циклу, виконується дія або S2 або S3.
Розглянемо всі випадки виконання даного алгоритму: − поки P1 – істина, а P2 – неправда, повторюється виконання дії S1; − якщо P1 – істина й P2 – істина, то виконується дія S2; − якщо P1 – неправда, то виконується дія S3. На підставі трьох висловлювань можна зробити висновок, що в структурному записі алгоритму буде команда повторення, що відповідає першому твердженню й команда розгалуження, що відповідає другому й третьому твердженню. Причому в другому твердженні умову P2 можна ігнорувати, тому що її істинність очевидна при завершенні виконання циклу, хоча умова P1істина. У результаті міркувань отримаємо перший спосіб структурування запису алгоритму: інвертування умови P2 і з'єднання його кон’юнкцією з умовою P1 для організації циклу, а потім залежно від того, яка саме умова привела до виходу із циклу, виконання однієї з дій. У другому способі отримання структурного запису пропонується використовувати додаткову змінну F, що керує умовними переходами й дозволяє завершити цикл при дотриманні умови P2 і не дотриманні умови P1. Запис алгоритму другим способом становить інтерес й у тому випадку, коли встановлені обмеження на спосіб рішення завдання. Наприклад, пропонується відмовитися від використання логічних операцій. Такий методичний прийом дає можливість запропонувати завдання підвищеного рівня складності. Таким чином, знання й застосування прийомів структурування алгоритмічних приписів дає можливість розробляти алгоритми, які читабельні, легко перевіряються, надійні з погляду правильності, допускають модифікацію без істотної перебудови всієї структури й ефективні. Використання даної методики дозволить забезпечити наочність навчання, організувати колективну роботу учнів по розробці окремих блоків одного складного алгоритму, оперативно аналізувати логічну структуру алгоритму, перетворити алгоритмічний запис у структурну форму, організувати різні рівні складності. Структурний підхід до розробки алгоритмів варто застосовувати на всіх етапах навчання основам алгоритмізації. Питання до лекції: 1. Перелічіть основні принципи, на яких ґрунтується структурний підхід до побудови алгоритмів. 2. У чому полягає сутність структурного програмування? 3. У чому полягає сутність технології структурного програмування? 4. Поясніть сутність методу «покрокової деталізації» при структурному підході до побудові алгоритмів. 5. Поясніть сутність модуля алгоритму. 6. Наведіть приклади структурної побудови алгоритмів та поясніть їх. Читайте також:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|