Алгоритмізація обчислювальних процесів - реферат, сторінка 2
3.1Словесно-формульний спосіб запису алгоритму
При словесно-формульної записи алгоритми записуються у вигляді тексту з формулами по пунктам, що визначають послідовність дій. Для запису алгоритмів використовуються кошти звичайного мови, але з ретельно відпрацьовують набори слів і фраз, які не допускають повторень, синонімів, зайвих слів. Приймаються певні угоди про форму записи, порядку виконання дій, допускається використання математичних символів.
Дано два цілих позитивних числа, знайти їх найбільший спільний дільник (НСД).
Вирішення цього завдання може бути отримано послідовним розподілом спочатку більшого числа на менше, потім меншого числа на отриманий залишок, першого залишку на другий залишок і т.д. до тих пір, поки в залишку не вийде нуль. Останній за рахунком дільник і буде шуканим результатом.
Позначимо через M і N вихідні цілі числа, прийнявши в якості їх початкових значень задані константи. Зведемо розподіл до повторного віднімання. Тоді алгоритм може бути сформульовано таким чином:
1. задати два числа;
2. якщо числа рівні, то взяти будь-який з них в якості відповіді і зупинитися, інакше продовжити виконання алгоритму;
3. визначити більше з чисел;
4. замінити більше з чисел різницею більшого і меншого з чисел;
5. повторити алгоритм з кроку 2;
3. Якщо M N, то перейти до п.4, інакше перейти до п. 7;
4. Якщо M> N, то перейти до п. 5, інакше перейти до п. 6;
5. М: = М-N; перейти до п. 3;
6. N: = N-М; перейти до п. 3;
Словесно-формульний спосіб не має широкого розповсюдження через наступні випадки:
такі описи строго не формалізуються;
страждають багатослівність записів;
допускають неоднозначність тлумачення окремих приписів.
3.2Графіческій спосіб запису алгоритмів
Графічний спосіб представлення алгоритмів є більш компактним і наочним порівняно зі словесним.
При графічному поданні алгоритм зображується у вигляді послідовності пов'язаних між собою функціональних блоків, кожен з яких відповідає виконанню одного або декількох дій. Усередині блоку дається опис відповідного дії.
Таке графічне представлення називається схемою алгоритму або блок-схемою.
Графічне зображення алгоритму широко використовується перед програмуванням завдання внаслідок його наочності, тому що зорове сприйняття зазвичай полегшує процес написання програми, її коригування за можливі помилки, осмислення процесу обробки інформації.
Можна зустріти навіть таке твердження: "Зовні алгоритм являє собою схему - набір прямокутників та інших символів, всередині яких записується, що обчислюється, що вводиться в машину і що видається на друк і інші засоби відображення інформації". Тут форма подання алгоритму змішується з самим алгоритмом.
Принцип програмування "згори донизу" вимагає, щоб блок-схема поетапно конкретизувалася і кожен блок "розписувався" до елементарних операцій. Але такий підхід можна здійснити при вирішенні нескладних завдань. При вирішенні скільки-небудь серйозного завдання блок-схема "розповзеться" до такої міри, що її неможливо буде охопити одним поглядом.
Блок-схеми алгоритмів зручно використовувати для пояснення роботи вже готового алгоритму, при цьому в якості блоків беруться дійсно блоки алгоритму, робота яких не вимагає пояснень. Блок-схема алгоритму повинна служити для спрощення зображення алгоритму, а не для ускладнення.
При вирішенні завдань на комп'ютері необхідно не стільки вміння складати алгоритми, скільки знання методів розв'язання задач (як і взагалі в математиці). Тому вивчати потрібно не програмування як таке (і не алгоритмізацію), а методи вирішення математичних задач на комп'ютері. Завдання слід класифікувати не за типами даних, як це зазвичай робиться (завдання на масиви, на символьні змінні і т. Д.), А в розділі "Потрібно".
Схема - це графічне представлення алгоритму, доповнене елементами словесної записи. Кожен пункт алгоритму відображається на схемі деякою геометричній постаттю-блоком (блоковим символом), причому різним за типом виконуваних дій блокам відповідають різні геометричні фігури, зображувані по ГОСТу.
ГОСТ 19.701-90 (позначення символів відповідає міжнародному стандарту ІСО 5807-85) поширюється на умовні позначення (символи) в схемах алгоритмів, програм, даних і систем і встановлює правила виконання схем, які використовуються для відображення різних видів завдань обробки даних і засобів їх вирішення.
У таблиці 1 наведені найбільш часто вживані блоки і дано пояснення до них [1,2].
Графічні символи на схемі з'єднуються лініями потоку інформації. Основний напрямок потоку інформації йде зверху вниз і зліва на право (стрілки на лініях можуть не вказуватися). В інших випадках застосування стрілок обов'язково. По відношенню до блоку лінії потоку можуть бути вхідними або вихідними. Кількість вхідних ліній для блоку принципово не обмежена. Вихідна лінія може бути тільки одна. Виняток залишають логічні блоки, які мають не менше двох вихідних ліній потоку, кожна з яких відповідає одному з можливих результатів перевірки логічного умови, а також блоки модифікації.
Блок обчислювальний процес застосовується для позначення дії або послідовності дій, що змінюють значення, форму подання або розміщення даних. Для поліпшення наочності схеми кілька окремих блоків обробки можна об'єднувати в один блок.
Таблиця 1. Умовні графічні позначення, що застосовуються при складанні схем алгоритмів
Введення-виведення даних, носієм яких служить магнітний диск
Логічний блок використовується для позначення переходів управління за умовою. У кожному блоці "рішення" повинні бути вказані питання, умова або порівняння, які він визначає.
Блок зумовлений процес використовується для вказівки звернень до допоміжних алгоритмах, існуючим автономно в вигляді деяких самостійних модулів, і для звернень до бібліотечних підпрограм.
Блок модифікація використовується для організації циклічних конструкцій. Усередині блоку записується параметр циклу, для якого вказуються його початкове значення, гранична умова і крок зміни значення параметра для кожного повторення.
При великій кількості пересічних ліній, великий їх довжині і багаторазових змінах напрямку схеми стає малонаглядной. У цих випадках допускається розривати лінії потоку інформації, розміщуючи на обох кінцях розриву спеціальний символ «з'єднувач» (рис. 1). Усередині поля з'єднувачів, які відзначають розрив однієї і тієї ж лінії, ставиться однакова маркування окремою літерою або буквено-цифровий координатою блоку, до якого підходить лінія потоку.

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

Мал. 2. міжсторінкових з'єднувач

Порядкові номери блоків проставляють у верхній частині графічного символу в розриві його контуру (рис. 1 і 4).

При виконанні схем алгоритмів необхідно витримувати мінімальну відстань 3 мм між паралельними лініями потоків і 5мм між іншими символами. У блоках прийняті розміри: = 10, 15, 20 мм; = 1.5 (рис.3). Якщо необхідно збільшити розмір схеми, то допускається збільшувати на число кратне п'яти.
Схема є виключно наочним і простим способом представлення алгоритму. При цьому не накладається ніяких обмежень на ступінь деталізації в зображенні алгоритму. Вибір її цілком залежить від програміста. Але, потрібно мати на увазі, що надмірно загальний характер схеми небажаний через малу інформативності, а дуже детальна схема програє в наочності. Для особливо складних і великих алгоритмів, доцільно складати кілька схем різних рівнів деталізації. Схема 1-го рівня відображає весь алгоритм цілком. Схеми 2-го рівня розкривають логіку окремих блоків схеми 1-го рівня. При необхідності може бути складено схеми наступних рівнів з ще більшим ступенем деталізації. Таке покрокове уточнення схеми алгоритму становить сутність методу спадного проектування, який, в свою чергу, є основою структурного програмування.