Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмические основы.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
312.32 Кб
Скачать

Тема 3. Алгоритмічні основи обробки інформації на еом

3.1.Поняття алгоритму

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

Алгоритм — одне з фундаментальних понять математики і обчислювальної техніки. Назва “алгоритм” сталася від латинської форми імені середньоазіатського математика аль-Хорезми – Algorithmi.

Міжнародна організація стандартів (ISO) формулює поняття алгоритм як «кінцевий набір розпоряджень, що визначає рішення задачі за допомогою кінцевої кількості операцій» (ISO 2382/1-84). Окрім цього стандартизованого формулювання існують і інші визначення. Приведемо найбільш поширені з них.

Отже, алгоритм — це:

  • спосіб перетворення інформації, що задається за допомогою кінцевої системи правил;

  • сукупність правил, що визначають ефективну процедуру рішення будь-якої задачі з деякого заданого класу завдань;

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

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

Визначення надані в максимально загальній формі, так що алгоритм не обов'язково використовується лише в обчислювальній техніці. Так, виконавцем алгоритму може бути не лише автомат (у тому числі і процесор ЕОМ), але і людина. Головне – уміти виконувати відповідний набір дій. Виконавець нічого не зобов'язаний знати про мету алгоритму. Він виконує отримані команди не ставлячи питання «чому?», «навіщо?».

3.2. Властивості алгоритму

Основними властивостями алгоритму є: дискретність, визначеність, масовість і результативність.

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

Властивість визначеності означає, що в алгоритмі вказано все, що має бути зроблене, причому жодне з дій не повинне трактуватися двояко.

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

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

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

У основі архітектури сучасних ЕОМ лежить представлення алгоритму рішення задачі у вигляді програми послідовних обчислень. Згідно стандарту ISO 2382/1-84, програма для ЕОМ — це «впорядкована послідовність команд, що підлягає обробці».

3.3. Форми представлення алгоритмів

На практиці найбільш поширені такі форми представлення алгоритмів:

  • словесна (описова);

  • графічна (зображення у вигляді блок-схем);

  • програмна (тексти на мовах програмування).

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

Приклад. Записати в словесній формі алгоритм знаходження найбільшого загального дільника (НЗД) двох натуральних чисел. Алгоритм може бути таким:

  1. Задати два натуральні числа;

  2. Якщо числа рівні, то взяти будь-яке з них за відповідь і зупинитися, інакше продовжувати виконання алгоритму;

  3. Визначити більше з чисел;

  4. Замінити більше з чисел різницею більшого і меншого числа;

  5. Продовжувати алгоритм з кроку 2).

Проте словесний спосіб не отримав широкого вживання по наступних причинах:

  • описи строго не формалізуються;

  • описи страждають багатослівністю, громіздкістю;

  • можлива неоднозначність тлумачення розпоряджень.

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

У блок-схемі кожній типовій дії відповідає геометрична фігура у вигляді блокового символу. Форми блоків, їх призначення, розміри і способи з'єднання між собою регламентовані стандартом.

Графічні символи, що найбільш часто вживаються, представлені в таблиці 2.6:

Таблиця 2.6.

Найменування символу

Графічне зображення

Функції символу

1

2

3

Процес

Виконання операції або групи операцій, перетворення даних

Рішення

Зміна напряму процесу шляхом перевірки виконання деякої умови

Пуск, останов

Початок, кінець і переривання процесу обробки даних

Зумовлений процес

Включення раніше створених або окремо сформованих алгоритмів і програм (підпрограм)

1

2

3

Модифікація

Початок циклу з числом повторень, що задається (відомим)

Ввод-виведення

Ввод або виведення даних

Документ

Друк даних на паперовий носій

Коментар

Вказівка текстовій (формульної) інформації

за межами блоку

Внутрішньосторінковий з'єднувач

Вказівка зв'язку ліній потоку, що перериваються, в межах однієї сторінки.

Міжсторінковий

з'єднувач

Вказівка зв'язку між частинами схеми алгоритму, розміщеними на різних сторінках.

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

Як приклад приведемо блок-схему алгоритму знаходження НЗД двох натуральних чисел, розглянутого вище (рис 3.1).

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

Алгоритм, записаний на мові програмування, називається програмою для ЕОМ.

Контрольні запитання

1. Дайте визначення алгоритму. Якими властивостями повинен володіти алгоритм?

2. Які способи опису алгоритму вам відомі? Охарактеризуйте кожен з них.

3. У якому випадку доцільно використовувати словесну форму опису алгоритму?

4. Змалюєте основні блоки, використовувані при графічній формі відображення алгоритму.

5. Змалюєте блок-схему алгоритму знаходження типа коріння квадратного рівняння.

Так

Ні

Ні

Так

Ріс.3.1.