русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Кінець.


Дата додавання: 2014-11-27; переглядів: 873.


 

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

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

Справді, ми почали з відповіді на таке питання: що дано і що потрібно знайти. Уточнення входу і виходу у виді описів величин – один з найважливіших етапів розробки алгоритмів.

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

Який спосіб управління потрібно зараз застосувати?

Чи можна реалізувати дію однією командою виконавця?

Як сформулювати умову?

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

1.13. Базові структури управління

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

 

· послідовне виконання

 
 

 

 


 


 

· розгалуження

 
 


 

 

· повторення з передумовою

 
 

 


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

       
   
 
Алгоритм Евкліда; Вхід A, B; Вихід: D; {Коментар: D = НСД (AB)} A, B: НАТ; D: НАТ; Початок Поки A ¹ B виконати Якщо A < B то B := B - A інакше A := A - B; D := A Кінець.  
 

 

 


Рис 1.10. Текст і блок-схема алгоритму Евкліда.

 

 

Порівняйте текст і блок схему алгоритму Евкліда (рис 1.9): структурований текст представляє алгоритм не менш виразно, ніж його блок-схема. Текст до того ж містить багато корисної інформації, яку не можна виразити в графічних образах. Це відноситься, наприклад, до опису величин.

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

де a – позитивне число, з якого потрібно обчислити корінь.

Ці формули потрібно розуміти так:

Обчислення починаються зі значення x = a (формула (1)).

На кожному кроці поточне значення x підставляється в праву частину формули (2) і обчислюється нове значення x.

Якщо нове значення x відрізняється від старого на величину більшу, ніж точність обчислень, обчислення по формулі (2) повторюється. У противному випадку обчислення закінчене.

У формулах методу число n відіграє роль лічильника числа кроків .

Запишемо цей алгоритм:

Алгоритм КвКорінь;

Вхідa, t: ДІЙСН;

Вихідy: ДІЙСН;

Допx: ДІЙСН;


<== попередня лекція | наступна лекція ==>
Початок | Кінець.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн