Мал. 19. Етапи розробки програмного забезпечення для ІС
При визначенні змісту і форми вихідної інформації варто забезпечити можливо більш швидке та правильне сприйняття як цифрової, так і графічної інформації, отриманої в ході вирішення. Вид представлення інформації істотно впливає на слушність її інтерпретації. Невдало подана на екрані дисплея або роздрукована на принтері інформація може призвести до помилкового висновку про отриманий результат. Звичайно форму видачі результатів намагаються наблизити до форми документа, призначеного для практичного використання. Це дозволяє використовувати отримані результати у вигляді документів і включати їх в управлінську діяльність різноманітних органів.
Формалізація задачі - обгрунтування методу її вирішення (наприклад, метод вирішення системи рівнянь, метод обчислення усереднених значень статистичних даних і інше). При цьому розгорнутий змістовний опис задачі замінюється на згорнуту формалізовану схему, у якій значеневі компоненти позначені відповідними символами. У згорнутому формалізованому вигляді поставлена задача може бути подана, наприклад, узагальненою функцією виду: Y= f(Х1, Х2... . ХN), де Y - вихідний розмір, шукана функція, Х - вхідні розміри, аргументи. Формалізована схема відбиває лише сукупність змінних задачі, її вхідні та вихідні величини, але не відбиває зв'язків між ними. Завершальною ланкою формалізації задачі є побудова математичної моделі її вирішення. Модель повинна відбивати усі необхідні перемінні та їхні взаємні зв'язки. Тільки на цих умовах можливо правильне вирішення задачі. Побудова адекватних моделей для соціально-економічних і міжнародних задач - складний і трудомісткий процес. Це пояснюється наявністю діалектичного протиріччя між вимогами, з одного боку, відповідності опису дійсності, а з іншого, аналітичної простоти одержуваної моделі для можливості її реалізації ІС . У цьому зв'язку математичне моделювання слушно називають вузькою стежкою між болотом переускладнень і пастками переспрощень. Прагнення одержати адекватну модель досліджуваного процесу звичайно призводить до її ускладнення, у той же час прості та зручні для реалізації на комп'ютері системі моделі частіше усього погано описують реальні процеси. На практиці звичайно вибирається якийсь компромісний варіант. Відзначимо лише, що при вирішенні задач на комп'ютері ІС найбільший інтерес для користувача являють математичні моделі різноманітних видів і рівнів складності. Для порівняно простих розрахункових задач вони представляються формулами, системами рівнянь, нерівностей і т.д.
Головним змістом даного етапу вирішення задачі ІС є побудова алгоритму. Поняття алгоритму є одним із найважливіших не тільки в інформатиці, але й у цілому ряді інших наук. Зупинимося на ньому докладніше.
У своїй діяльності людина постійно зустрічається з множиною задач, від самих простих до дуже складних. Для вирішення багатьох із них існують визначені правила, що пояснюють виконавцю, як розв'язувати дану задачу. Ці правила людина може вивчити заздалегідь або сформулювати самостійно у процесі вирішення. Чим точніше і зрозуміліше будуть описані правила вирішення задачі, тим швидше людина опанує ними і буде ефективніше їх застосовувати.
Серед різноманітних правил особливу роль відіграють правила, що визначають деяку послідовність дій, які ведуть до досягнення необхідного результату. Їх називають алгоритмами.
Слово “алгоритм” походить від ALHORIZM - латинської форми написання імені великого математика IX сторіччя Аль-Хорезми, що сформулював правила виконання арифметичних дій. Спочатку під алгоритмами розуміли тільки правила виконання чотирьох арифметичних дій над багатозначними числами. Надалі це поняття почали використовувати взагалі для позначення дій, що призводять до вирішення поставленої задачі.
Таким чином, алгоритм - це зрозуміле і точне розпорядження (указівка) виконавцю вчинити послідовність дій, спрямованих на досягнення вказаної цілі або на вирішення поставленої задачі. Отже, навіть не вживаючи самого слова “алгоритм”, ми постійно користуємося їм у своїй діяльності.
Розробка алгоритму потребує глибоких знань у даній предметній області, ретельного аналізу шляхів вирішення поставленої задачі, а тому здійснюється спільними зусиллями постановника задачі та фахівців з алгоритмізації і програмування. Загальна структура алгоритму вирішення задачі повинна базуватися на логічній послідовності переробки вхідної інформації у вихідну, що містить усі необхідні результати. Алгоритм повинний мати властиві йому характеристики, такі як визначеність, або точність, масовість, результативність і дискретність.
Визначеність (точність) алгоритму. У алгоритмі повинно бути однозначно і точно визначене усе, що потрібно для вирішення задачі. Якщо вирішення задачі задано у вигляді алгоритму, то для того, щоб одержати результат по заданим вихідним даним, достатньо виконувати тільки ті дії, що вказані в алгоритмі. Визначеність алгоритму гарантує можливість вирішення задачі на комп'ютері ІС.
Масовість алгоритму. Алгоритм дозволяє одержати результати для різноманітних вихідних даних, тобто припускається багатократне його використання при вирішенні однотипних задач. Інакше витрати на його розробку і реалізацію не будуть виправдані. Широта застосування кожного алгоритму не може бути безмежною. Тому межі застосування алгоритму суворо обумовлюються.
Результативність алгоритму. Виконання алгоритму повинно зводитися до виконання кінцевої кількості дій за прийнятний для користувача проміжок часу. У протилежному випадку комп’ютер ІС буде виконувати розрахунки як завгодно довго без одержання кінцевого результату доти, поки його не зупинять. Тому в алгоритмі повинний бути показаний спосіб закінчення розрахунків.
Дискретність алгоритму. Кожна дія, визначена алгоритмом, повинна бути закінчена до того, як виконавець перейде до наступної дії (кроку). Кількість кроків, що приводять до результату, є важливою характеристикою алгоритму.
Опис алгоритму можна скласти в текстовій формі, але частіше його подають із метою наочності у вигляді блок-схеми, що є графічним зображенням процесу обчислень.
Призначення блок-схеми полягає в наочному представленні алгоритму вирішення задачі; у ній знаходить відображення технологічний процес обробки інформації на комп'ютері; крім того, вона дозволяє глибше вивчити задачу, виявити хиби в її постановці і своєчасно усунути їх, виділити типові частини структури алгоритму (мал.20).
При упорядкуванні блок-схеми використовуються стандартні символічні позначення головних функціональних елементів обчислювального процесу: вхідні дані позначаються прямокутником, логічні умови - ромбом, введення інформації -паралелограмом і т.д.
Усередині символів записується назва дії або групи дій. Блоки між собою з'єднуються лініями із стрілками, що вказують напрямок дії. З символу “умова” виходять дві стрілки, над однією з них ставлять “так”, що означає виконання умов, над іншою - “ні”. З інших символів виходить по одній стрілці.
Оскільки алгоритм містить докладний опис усіх дій, то для його наочного представлення застосовується метод послідовного уточнення. Цей метод полягає в тому, що спочатку алгоритм будується у вигляді блок-схеми, що складається зі великих блоків і відбиває логічну структуру моделі. Потім відповідно до блок-схеми записується докладний алгоритм. Кожний блок уточнюється, деталізувається. Це уточнення також може бути неповним і тоді його блоки, у свою чергу, уточнюються.
Такий метод полегшує побудову алгоритму, помилковий процес послідовно розчленовується на більш елементарні дії. Ступінь деталізації алгоритму повинна бути оптимальною з огляду найбільш ефективної організації програмування.
Упорядкування алгоритму або, як прийнято говорити, алгоритмізація - це процес, що передує програмуванню. Тому алгоритм повинний бути зрозумілим програмісту. Під цією якістю припускається можливість програміста правильно скласти програму відповідно до сутності алгоритму. Тут важливого значення набуває така властивість алгоритму як визначеність (точність).
Найпростіші алгоритми бувають трьох типів: лінійні, такі, що розгалужуються та циклічні.
Найменування | Позначення | Функціональне призначення |
1. ПРОЦЕС | Виконання операцій або групи операцій, в результаті яких змінюються які-небуть величини | |
2. РОЗВ`ЯЗАННЯ (ЛОГІЧНА УМОВА) | Вибір напрямку алгоритму в залежності від умов | |
3. ВВЕДЕННЯ-ВИВЕДЕННЯ | Введення та перетворення формул які придатні для обробки. Вивід, відображення результатів обробки | |
4. ДОКУМЕНТ | Носій – папір | |
5. КОМЕНТАРІЙ, АНОТАЦІЯ | Звя`зок між елементом схеми та поясненням | |
6. ДИСПЛЕЙ | Введення та виведення інформації за допомогою клавіатури екранних пристроїв | |
7. ПУСК (ПОЧАТОК), ЗУПИНКА (КІНЕЦЬ) | Початок та кінець процесів обробки |
Дата добавления: 2014-12-04; просмотров: 1059;