На головну

Алгоритмізація обчислювальних ПРОЦЕСІВ

  1.  Автоматизація технологічних процесів
  2.  Автоматизація технологічних процесів тваринництва
  3.  Автоматизація технологічних процесів. Аналіз і синтез механізмів.
  4.  Алгоритмізація задач обробки масивів
  5.  Алгоритмізація імітаційної моделі СМО довільної структури
  6.  Алгоритмізація основних видів обчислювальних процесів

поняття алгоритму

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

Наведене визначення не є строго математичним; воно лише пояснює загальний зміст даного терміну. До появи ЕОМ алгоритми представляли лише теоретичний інтерес. Тільки в зв'язку з розвитком обчислювальної техніки (і методів обчислювальної математики) з'явилася нагальна потреба в уточненні даного поняття; це було потрібно для розробки стандартних методів вирішення великих класів завдань самого різного типу. Поступово оформилась ціла наукова дисципліна, що вивчає методи створення ефективних алгоритмів - теорія алгоритмів.

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

Саме слово «алгоритм» походить від імені відомого середньовічного математика Мухаммеда ібн Муси аль-Хорезмі (в латинізоване формі - Alhorithmi), що жив в 783-850 рр. У своїй книзі «Про індійський рахунку» він виклав точні правила запису натуральних чисел за допомогою арабських цифр і арифметичних дій над ними «в стовпчик», знайомі тепер кожному школяреві. У XII в. ця книга була переведена на латину і набула широкого поширення в Європі.

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

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

потрібно виконувати покладені на алгоритмом дії); точно слідуючи інструкціям, він доб'ється бажаного результату. В цьому і полягає головна мета алгоритмізації.

властивості алгоритмів

До основних властивостей алгоритмів відносяться:

зрозумілість для виконавця - він повинен розуміти, як виконувати покладені на алгоритмом дії при будь-якому варіанті вихідних даних;

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

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

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

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

Способи запису алгоритмів

Оформити (записати) алгоритми можна декількома способами - словесно, формульно-словесно; графічно (у вигляді блок-схеми) або у вигляді таблиці рішень.

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

Формульно-словесний спосіб заснований на завданні інструкцій про виконання конкретних дій з використанням математичних символів і виразів в поєднанні зі словесними поясненнями.

Графічний спосіб представлення алгоритму використовує елементи блок-схем. Блок-схемою називається графічне зображення структури алгоритму, в якому кожен етап процесу переробки даних представляється у вигляді геометричних фігур (блоків), що мають певну конфігурацію в залежності від характеру виконуваних при цьому операцій (рис. 33). Послідовність виконання пунктів алгоритму, що описується блок-схемою, встановлюється шляхом упорядкованого розміщення блоків і об'єднання їх лініями потоку інформації.

Мал. 33. Основні елементи блок-схем

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

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

Базові алгоритмічні конструкції

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

Лінійним називають обчислювальний процес, в якому етапи обчислень виконуються в лінійній послідовності і кожен етап виконується тільки один раз (рис. 34). На схемі блоки розміщуються зверху вниз в порядку їх виконання. Для таких процесів характерно, що напрямок обчислень не залежить від вихідних даних або проміжних результатів.

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

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

Для організації циклу необхідно передбачити:

завдання початкового значення параметра циклу - змінної, яка буде змінюватися при його повторенні;

зміна значення цієї змінної перед кожним новим повторенням циклу;

 перевірку умови закінчення циклу за значенням його параметра і порядок переходу на початок циклу, якщо він не закінчений.

Мал. 34. Лінійний обчислювальний процес

Мал. 35. Розгалужуються (а) і циклічний (б) обчислювальні процеси

 




 СКЛАД ПЕРСОНАЛЬНОГО КОМП'ЮТЕРА. СИСТЕМНИЙ БЛОК |  МАТЕРИНСЬКА ПЛАТА |  ПРОЦЕСОРИ ПК |  ВНУТРІШНЯ ПАМ'ЯТЬ ПК |  ПРИСТРОЇ ВВЕДЕННЯ |  ПРИСТРОЇ ВИВЕДЕННЯ |  Зовнішніх запам'ятовуючих пристроїв |  ПЕРСПЕКТИВИ РОЗВИТКУ ОБЧИСЛЮВАЛЬНОЇ ТЕХНІКИ |  РІВНІ ПОДАННЯ ДАНИХ |  СТРУКТУРИ ЗБЕРІГАННЯ ДАНИХ В ОПЕРАТИВНОЇ ПАМ'ЯТІ |

© um.co.ua - учбові матеріали та реферати