3. Алгоритм. Форми опису алгоритмів.
Алгоритм — набір інструкцій, які описують порядок дій виконавця, щоб досягти результату розв'язання задачі за скінченну кількість дій; система правил виконання дискретного процесу, яка досягає поставленої мети за скінченний час. Для візуалізації алгоритмів часто використовують блок-схеми.
Алгоритми представляють за допомогою конкретних образотворчих засобів, склад і правила вживання яких утворюють конкретні способи або форми запису алгоритмів. Існує декілька таких способів:
словесний;
словесно-формульний;
графічна схема;
блок-схема;
операторна схема;
НІРО-схема;
таблиця рішень, тощо.
4. Основні вимоги до блок-схеми.
Блок-схеми. Це форма представлення, при якій процес розв’язання задачі поділяється на окремі етапи (або операції), які представляються у вигляді спеціальних блоків, конфігурація яких вказує тип дій. Зв'язки між блоками визначають послідовність цих дій.
Призначення кожного із таких блоків, а також правила їх застосування регламентовані Міждержавним стандартом Єдиної системи програмної документації (ЄСПД) ГОСТ 19.701-90 «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения».
Графічне зображення блоку |
Найменування |
Функція |
|
Термінатор (пуск-зупинка) |
Позначення початку і кінця алгоритму. |
|
Дані (введення-виведення) |
Перетворення даних у форму, придатну для обробки (введення) або відображення результатів обробки (виведення). Використовується для позначення будь-якої операції введення / виведення. |
|
Процес (операторний блок) |
Виконання операції або групи операцій у результаті яких змінюється значення, форма представлення або розташування даних. Типове його використання – позначення оператора присвоювання. |
|
Рішення (умовний блок) |
Вибір подальшого напрямку виконання алгоритму залежно від умови. Використовується для позначення умовного оператора або оператора варіанта. |
|
Зумовлений процес (підпрограма) |
Відображає виконання процесу, який складається з однієї або кількох операцій, що визначені в іншому місці програми. Використовується для позначення виклику підпрограм (процедур і функцій). |
|
Межі циклу |
Символ складається з двох частин - відповідно, початок і кінець циклу - операції, що виконуються всередині циклу, розміщуються між ними. Умови циклу і збільшення записуються всередині символу початку або кінця циклу - в залежності від типу організації циклу. |
|
З'єднувач |
Відображає зв'язок між перерваними лініями потоку інформації (наприклад, на іншій сторінці). |
|
Коментар |
Використовується для надання більш детальної інформації про кроки, процеси або групи процесів. |
Розмір а повинен вибиратися з ряду 10, 15, 20 мм. Допускається збільшувати розмір а на число, кратне 5. Розмір b дорівнює 1,5а. При ручному виконанні схем алгоритмів допускається встановлювати b рівним 2a. |
Операторний блок - це прямокутник, в який вписується деяка дія або вираз. Цей блок може мати декілька входів і тільки один вихід, що забезпечує однозначність у визначенні послідовності виконуваних дій.
Умовний блок позначається ромбом, в який вписується деяка умова. Має один вхід і два або більше альтернативних виходів, з яких тільки один може бути обраний після обчислення умов, визначених всередині цього елементу.
При складанні блок-схем необхідно керуватися наступними правилами:
блок-схема повинна містити одну початкову, одну кінцеву й кінцеве число інших вершин;
входи ій виходи різних вершин з'єднуються дугами, спрямованими тільки від виходу до входу;
кожен вихід будь-якої вершини з'єднується тільки з одним входом;
для будь-якої вершини існує, принаймні, один шлях із цієї вершини до кінцевої, що проходить через інші вершини у напрямку з'єднуючих їх дуг.
Блок-схемна форма представлення алгоритму найбільш поширена, бо вона наочна і дозволяє представляти алгоритм з різним ступенем деталізації. Перевагою блок-схем є те, що за їх допомогою можна наочно продемонструвати структуру алгоритму в цілому, відобразивши його логіку (показавши розгалуження шляхів розв'язання задачі залежно від виконання певної умови, численні повторення окремих етапів обчислювального процесу).
Проектування логіки програмного модуля.
Шаблон проєктування програмного забезпечення модуль реалізує властивості і синтаксичну структуру визначену як парадигма модульного програмування при використанні в мовах програмування які мають неповну підтримку цієї концепції.
При розробці програмного забезпечення, Модуль це шаблон проєктування, який дозволяє реалізувати концепцію програмних модулів, яка визначена в модульному програмуванні, в мові програмування з неповною підтримкою цієї концепції.
Цей шаблон може реалізовуватись багатьма способами, в залежності від мови програмування для якої він застосовуються, наприклад із застосуванням шаблону одинак, статичними членами класу при об'єктному програмуванні і глобальними функціями при процедурному програмуванні.
Для того, щоб цей шаблон можна було реалізувати за допомогою шаблону одинака, або за допомогою іншого способу групування пов'язаного коду, необхідно виконати наступні умови:
Частина коду має мати глобальну або публічну область видимості і спроєктована для глобального/публічного використання. Додаткові приховані і захищені методи або код можуть виконуватись через доступ до публічного коду.
Модуль повинен мати функцію ініціалізації яка є еквівалентною, або комплементарною методу конструктора об'єкта. Така можливість відсутня при використанні звичайних просторів імен.
Модуль повинен мати функцію фіналізації, яка є еквівалентною, або комплементарною методу деструктора об'єкта. Така можливість відсутня при використанні звичайних просторів імен.
Члени модуля можуть потребувати виконання коду ініціалізації/фіналізації, який виконується за допомогою функції ініціалізації/фіналізації модуля.
Загалом більша частина членів модуля виконує операції з зовнішніми елементами по відношенню до цього класу, які передаються як аргументи при викликанні функцій. Такі функції являють собою "утиліти", "засоби" або "бібліотеки".
Висновок: на даній лабораторній роботі ми розробляли алгоритм розв'язання задачі, та записували його у вигляді блок схемі.