Способи запису алгоритмів.
На практиці найбільш поширені наступні форми представлення алгоритмів:
·словесна (запис на природній мові);
·графічна (зображення з графічних символів);
·псевдокоди (напівформалізовані описи алгоритмів на умовній алгоритмічній мові, що включають як елементи мови програмування, так і фрази природної мови, загальноприйняті математичні позначення і ін.);
·програмна (тексти на мовах програмування).
Словесним способом запису алгоритмів є опис послідовних етапів обробки даних. Алгоритм задається в довільному викладі на природній мові.
Наприклад. Записати алгоритм знаходження найбільшого загального дільника (НОД) двох натуральних чисел (алгоритм Евкліда).
Алгоритм може бути наступним:
·задати два числа;
·якщо числа рівні, то взяти будь-яке з них за відповідь і зупинитися, інакше продовжити виконання алгоритму;
·визначити більше з чисел;
·замінити більше з чисел різницею більшого і меншого з чисел;
·повторити алгоритм з кроку 2.
Описаний алгоритм застосовний до будь-яких натуральних чисел і повинен приводити до рішення поставленої задачі. Переконайтеся в цьому самостійно, визначивши за допомогою цього алгоритму найбільшого загального дільника чисел 125 і 75.
Словесний спосіб не має широкого розповсюдження, оскільки такі описи:
·строго не формалізуються;
·страждають багатослівністю записів;
·допускають неоднозначність тлумачення окремих розпоряджень.
Графічний спосіб представлення алгоритмів є компактнішим і наочнішим в порівнянні із словесним. Алгоритм зображається у вигляді послідовності зв'язаних між собою функціональних блоків, кожен з яких відповідає виконанню одного або декількох дій.
Таке графічне уявлення називається схемою алгоритму або блок-схемою. У блок-схемі кожному типу дій (введенню початкових даних, обчисленню значень виразів, перевірці умов, управлінню повторенням дій, закінченню обробки і тому подібне) відповідає геометрична фігура, представлена у вигляді блокового символу. Блокові символи з'єднуються лініями переходів, що визначають черговість виконання дій. У таблиці приведені символи, що найбільш часто вживаються.
Назва символу | Позначення і приклад заповнення | Пояснення |
Процес (блок обчислень) | Обчислювальна дія або послідовність дій | |
Рішення (логічній блок) | Перевірка умов | |
Модіфікація | Початок циклу | |
Зумовленій процес | Обчислення по підпрограмі, стандартна підпрограма | |
Введення-віведення | Уведення-виведення в загальному вигляді | |
Пуськ-зупінка | Початок, кінець алгоритму, вхід і вихід в підпрограму | |
Документ | Виведення результатів на друк |
Блок "процес" застосовується для позначення дії або послідовності дій, що змінюють значення, форму уявлення або розміщення даніх. Для поліпшення наочності схемі декілька окреміх блоків обробки можна об'єднуваті в один блок. Представлення окреміх операцій достатнє вільно.
Блок "рішення" використовується для позначення переходів управління по умові. У кожному блоці "рішення" мають бути вказані питання, умова або порівняння, які він визначає.
Блок "модифікація" використовується для організації циклічних конструкцій. (Слово модифікація означає видозміну, перетворення). Усередині блоку записується параметр циклу, для якого указуються його початкове значення, гранична умова і крок зміни значення параметра для кожного повторення.
Блок "зумовлений процес" використовується для вказівки звернень до допоміжних алгоритмів, що існують автономно у вигляді деяких самостійних модулів, і для звернень до бібліотечних підпрограм.
Псевдокод є системою позначень і правил, призначеною для одноманітного запису алгоритмів.
Псевдокод займає проміжне місце між природною і формальною мовами. З одного боку, він близький до звичайної природної мови, тому алгоритми можуть на нім записуватися і читатися як звичайний текст. З іншого боку, в псевдокоді використовуються деякі формальні конструкції і математична символіка, що наближає запис алгоритму до загальноприйнятого математичного запису.
У псевдокоді не прийняті строгі синтаксичні правила для запису команд, властиві формальним мовам, що полегшує запис алгоритму на стадії його проектування і дає можливість використовувати ширший набір команд, розрахований на абстрактного виконавця.
Проте в псевдокоді зазвичай є деякі конструкції, властиві формальним мовам, що полегшує перехід від запису на псевдокоді до запису алгоритму на формальній мові. Зокрема, в псевдокоді, так само, як і у формальних мовах, є службові слова, сенс яких визначений раз і назавжди. Вони виділяються в друкарському тексті жирним шрифтом, а в рукописному тексті підкреслюються.
Єдиного або формального визначення псевдокоду не існує, тому можливі різні псевдокоди, що відрізняються набором службових слів і основних (базових) конструкцій.
Прикладом псевдокоду є шкільна алгоритмічна мова в російській нотації (шкільна АМ), описаний в підручнику А.Г. Кушніренко та ін. "Основи інформатики і обчислювальної техніки", 1991. Цю мову надалі ми називатимемо просто "алгоритмічна мова".
Дата добавления: 2015-07-22; просмотров: 1338;