Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Структурное програмування: передумови та призначення; основні критерії оцінки якості програми для ЭВМ

РефератДопомога в написанніДізнатися вартістьмоєї роботи

При низхідному методі конструювання алгоритму і програми спочатку розглядається вся завдання загалом. На кожному наступному етапі завдання розбивається більш дрібні подзадачи, кожна подзадача, в остаточному підсумку ще на менші подзадачи й дуже до того часу, доки отримають такі подзадачи, які легко кодуються на обраному мові програмування. У цьому кожному кроці уточнюються дедалі нові деталі… Читати ще >

Структурное програмування: передумови та призначення; основні критерії оцінки якості програми для ЭВМ (реферат, курсова, диплом, контрольна)

МІНІСТЕРСТВО СПІЛЬНОГО І ПРОФЕСІЙНОГО ОСВІТИ РФ.

АСТРАХАНСЬКИЙ ДЕРЖАВНИЙ ПЕДАГОГІЧНИЙ УНИВЕРСИТЕТ.

Структурне програмування: передумови та призначення структурного програмування, основні критерії оцінки якості програми для ЭВМ.

Реалізація структурного програмування мовою «Е-практикума».

Виконав: студент V курсу додаткової спеціальності «інформатика «.

Безниско Евгений.

Астрахань — 1999.

Передумови та призначення структурного программирования.

Традиційна технологія програмування формувалася біля підніжжя обчислювальної техніки, як у розпорядженні користувачів були обмежені ЕОМ, а розробник програм була на той водночас і головним її користувачем. У умовах головну увагу зверталося на отримання ефективних програм, у сенсі оптимального використання ресурсів ЭВМ.

Нині, коли сфера застосування ЕОМ надзвичайно розширилася, розробка й експлуатація програм здійснюється, зазвичай, різними людьми. Тому поруч із ефективністю першому плані висуваються та інші важливі характеристики програм такі, як зрозумілість, хороша документованість, надійність, гнучкість, зручність супроводження і про т.п. Проблема розробки програм, які мають такі риси, пояснюється трудомісткістю процесу програмування і пов’язаних із цим швидким зростанням вартості програмного обеспечения.

До сформування «хорошою «програми виникає потреба дотримуватися принципів чи певної дисципліни програмування. Значний прогрес у сфері програмування досягається з допомогою з так званого структурного программирования.

Поява нову технологію, чи, як ще кажуть, дисципліни програмування, заснованої на структурному підході, пов’язаний з ім'ям відомого голландського вченого Э. Дейкстры (1965 р.). У працях він висловив припущення, що оператор GOTO можна виключити з мов програмування І що кваліфікація програміста зворотно пропорційна числу операторів GOTO у його програмах. Така дисципліна програмування спрощує і структуризирует программу.

Проте уявлення про структурному програмуванні, як «про програмуванні без використання оператора GOTO, є помилковим. Наприклад, Хоор визначає структурне програмування як «систематичне використання абстракції керувати масою деталей і загальнодосяжний спосіб документування, який допомагає проектувати програму » .

Структурне програмування можна тлумачити як «проектування, написання і тестування програми відповідно до наперед визначеної дисципліною » .

Структурний підхід до програмування таки має своєю метою зниження трудомісткості всього процесу створення програмного забезпечення від технічного завдання розробці до завершення експлуатації. Він означає необхідність єдиної дисципліни усім стадіях розробки програми. У поняття структурного підходи до програмування зазвичай мають спадні методи розробки програм (принцип «згори донизу»), власне структурне програмування так званий наскрізний структурний контроль.

Основною метою структурного програмування є зменшення труднощів тестування й докази правильності програми. Це особливо важливо розробки великих програмних систем. Досвід застосування методів структурного програмування розробки низки складних операційними системами показує, що правильність логічного структури системи піддається доведенню, а сама програма допускає досить повне тестування. У результаті готової програмі зустрічаються лише тривіальні помилки кодування, які легко исправляются.

Структурне програмування покращує зрозумілість і читабельність програм. Програми, написані з традиційних методів, особливо ті, які перевантажені операторами GOTO, мають хаотичну структуру. Структуровані програми мають послідовну організацію, тому можливо читати цю програму згори до низу без перерыва.

Нарешті, структурне програмування покликане поліпшити ефективність программ.

Отже, структурне програмування є деякі принципи написання програм, у відповідності зі суворої дисципліною і має метою полегшити процес тестування, підвищити продуктивності праці програмістів, поліпшити зрозумілість і читабельність програми, і навіть підвищити її эффективность.

Основні критерії оцінки якості програми для ЭВМ.

Відомо, що хоча б алгоритм може бути реалізований на ЕОМ у різний спосіб, тобто. то, можливо складено кілька різних програм, вирішальних те ж задачу.

Отже, треба мати деякі критерії оцінки програми, з допомогою яких можна судити наскільки програми краще інший. Аналіз і - оцінка програми мають переважно якісний характер.

1. Програма працює і вирішує це завдання. Зрозуміло, що ця характеристика програми є найбільш важной.

У зв’язку з цим кожна програма мусить бути стоїть, аби якомога було перевірити правильність отриманих результатів. Така перевірка проводиться у процесі налагодження програми, на певних наборах вхідних даних, котрим наперед відомий відповідь. Але налагодження може довести лише наявність помилок у програмі, однак може довести правильності програми для всіх можливих обчислень, що реалізуються за її допомогою. У зв’язку з цим необхідна розробляються методи аналітичної верифікації программы.

Для аналітичного докази правильності програми потрібно, щоб програма легко аналізувалася. Це означає, що ваша програма повинна бути стоїть, щоб було зрозуміти, як з її допомогою виходить даний ответ.

2. Мінімальна час, затрачуване на тестування і налагодження програми. Тестування і налагодження програми — необхідний етап у процесі виконання завдання на ЕОМ. Він займає від третини майже половину всієї розробки програми, тому важливо зменшити час, затрачуване на тестування і отладку.

Тестування і налагодження програми полегшується, якщо програма просто аналізується і оснащена необхідними коментарями, полегшуючими її розуміння. Хороші коментарі можуть прискорити процес отладки.

Порозуміння спікера і налагодження програми полегшується, якщо вона не має просту і ясну структуру, зокрема, якщо обмежена використання операторів передачі управління (GOTO). Перевантаженість програми цими операторами призводить до хаотичної структурі та утрудняє отладку.

Ще одне важливе принцип — використання мнемонічних позначень для змінних. Мови програмування представляють тут цілком достатні можливості. Для кращого розуміння програми необхідно використовувати мнемоніку, яка відображатиме фізичний (математичний, економічний тощо.) сенс перемінної (наприклад, SPEED — скорость).

3. Зменшення витрат за супровід. Розроблена і налагоджена програма варта багаторазового використання, і його експлуатацією, зазвичай, займаються не розробники, інші програмісти, що входять до так звану групу супроводу. Програмістам, супроводжувачем програму, найчастіше доводиться продовжувати налагодження програми розвитку й виробляти її, у зв’язку з зміною технічного завдання, запровадженням нових засобів програмного забезпечення чи виявленням нових помилок, і недоробок в программе.

Для зменшення витрат за супровід необхідно, щоб кожен розробник враховував складність супроводу. Слід розробляти, налагоджувати і оформляти програму з огляду на те, що її використовуватимуть і супроводжувати інші программисты.

4. Гнучкість програми. Розроблена програма звичайно знаходиться в експлуатації тривалий час. Упродовж цього терміну можуть змінитися вимоги до розв’язуваної завданню, технічне завдання, вимоги до програми. З’являється необхідність внести певні зміни щодо у програмі, що деякі випадках буває важко зробити, т.к. розробником не передбачена така можливість. «Хороша «програма повинна допускати модификацию.

5. Зменшення витрат за розробку. Програмування є колективним працею. Склад групи програмістів, працюючих над рішенням даного завдання, може по будь-яким причин змінитися. Тому проектування розробка програми мають вестися в такий спосіб, щоб було можливе за необхідності передати її завершення іншому програмісту. Недотримання цієї вимоги часто призводить до зриву термінів здачі програм, у эксплуатацию.

6. Простота і ефективність. Програма мусить бути просто організована. Це може виявлятися й у структурі програми, й у використанні і найбільш природних коштів мови програмування, й у перевагу простих структур даних, і т.п.

Ефективність програми належить до головних її характеристик. Тому часто на шкоду іншим якостям програми розробники вдаються до складним хитруванням, аби знизити обсяг використовуваної пам’яті чи скоротити час виконання програми. В багатьох випадках витрачені цього зусилля не справджуються. Розумний підхід підвищення ефективності програми у тому, щоб виявити найбільш «вузькі «місця та постаратися їх улучшить.

Реалізація структурного програмування на языке.

«Е-практикума».

До основним методам структурного програмування належить, колись всього, відмови від безсистемного вживання оператора GOTO і переважне використання інших структурованих операторів, методи спадного проектування розробки програми, ідеї покрокової деталізації та інших угоди, касающиесся дисципліни программирования.

Будь-яка програма, відповідно до структурним підходом до програмування, то, можливо побудована тільки з використанням трьох основних типів блоков.

1. Функціональний блок, який блок-схеме змальовується як прямокутників з однією входом і одного выходом:

Функціональному блоку в мовами програмування відповідають оператори введення та виведення або будь-якої оператор присваивания.

У нинішньому вигляді функціонального блоку то, можливо зображено будь-яка послідовність операторів, виконуються одна одною, має один вхід і тільки выход.

2. Умовна конструкція. Цей блок включає перевірку деякого логічного умови (P), залежно від якої виконується або один (S1), чи інший (S2) операторы:

Мовою «Е-практикума » :

. якщо.

.. то.

.. інакше.

. все.

3. Блок узагальненого циклу. Цей блок забезпечує багаторазове повторення виконання оператора P. S поки виконано логічне умова P:

Мовою «Е-практикума «цикли реалізуються 2 способами. Цикл з параметром:

. нц для від до.

. .

. .

.. …

. кц.

Цикл з предусловием:

. нц поки.

. .

. .

.. …

. кц.

При конструюванні програми з допомогою розглянутих типів блоків ці блоки утворюють лінійну ланцюжок отже вихід одного блоку приєднується до входу наступного. Отже, програма має лінійну структуру, причому порядок прямування блоків відповідає порядку, в якому выполняются.

Така структура значно полегшує читання й розуміння програми, а також спрощує доказ її правильності. Оскільки лінійна ланцюжок блоків можуть звести одного блоку, то будь-яка програма може, в остаточному підсумку, розглядатися як функціональний блок з один входом і одного выходом.

Під час проектування і написанні програми треба зробити зворотне перетворення, тобто цього блоку розбити на послідовність подблоков, потім кожен подблок розбити на послідовність дрібніших блоків до того часу, коли будуть отримані «атомарні «блоки, розглянутих вище типів. Такий метод конструювання програми прийнято називати спадним («згори донизу »).

При низхідному методі конструювання алгоритму і програми спочатку розглядається вся завдання загалом. На кожному наступному етапі завдання розбивається більш дрібні подзадачи, кожна подзадача, в остаточному підсумку ще на менші подзадачи й дуже до того часу, доки отримають такі подзадачи, які легко кодуються на обраному мові програмування. У цьому кожному кроці уточнюються дедалі нові деталі («покрокова деталізація »).

У процесі низхідного проектування зберігається сувора дисципліна програмування, тобто розбивка на подзадачи здійснюється шляхом застосування тільки розглянутих типів конструкцій (функціональний блок, умовна конструкція, узагальнений цикл), тому, зрештою, виходить добре структурована программа.

Мовою «Е-практикума «послідовну деталізацію можна реалізувати як допоміжного алгоритму (підпрограми, процедури, функции).

… нач.

. …

. вспомогательный_алгоритм (…).

. … кін алг [] вспомогательный_алгоритм (…) дано … треба нач.

. … кон.

Нині на допомогу структурному підходу до прораммированию виник новий напрям — об'єктне програмування, не яка скасовує, а яке доповнює принципи структурного підходу, що дозволяє розробляти і модернізувати програмний код з меншими витратами часу, розподіляти завдання програмування між велику кількість програмістів. ———————————- P.

S1.

S2.

[pic].

S.

P.

Показати весь текст
Заповнити форму поточною роботою