|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Примітка. Прийнято вважати, що сам термін алгоритм походить від імені середньовічного математика Аль-Хорезмі, який в 825 р
Прийнято вважати, що сам термін алгоритм походить від імені середньовічного математика Аль-Хорезмі, який в 825 р. описав правила виконання арифметичних дій в десятковій системі числення. З цієї точки зору вся історія математики тісно пов'язана з розробленням тих або інших алгоритмів вирішення актуальних для своєї епохи завдань. Більше того, саме поняття алгоритму стало предметом відповідної теорії – теорії алгоритмів, яка займається вивченням загальних властивостей алгоритмів. З часом зміст цієї теорії став настільки абстрактним, що відповідні результати розуміли тільки фахівці. Як данина цій традиції якийсь період часу мови програмування називалися алгоритмічними, а перший графічний засіб документування програм отримала назва блок-схеми алгоритму. Відповідна система графічних позначень була зафіксована в ГОСТ 19.701-90, який регламентував використання умовних позначень в схемах алгоритмів, програм, даних і систем. Проте потреби практики не завжди вимагали встановлення можливості обчислення конкретних функцій або вирішення окремих завдань. У мовах програмування виникло й закріпилося нове поняття процедури, яке конкретизувало загальне поняття алгоритму стосовно вирішення завдань на комп'ютерах. Так само, як і алгоритм, процедура є закінченою послідовністю дій або операцій, направлених на розв’язання окремої задачі. У мовах програмування з'явилася спеціальна синтаксична конструкція, яка отримала назву процедури. З часом розроблення великих програм перетворилася на серйозну проблему, яку почали розбивати на дрібніші фрагменти. Основою для такого розбиття якраз і стала процедурна декомпозиція, при якій окремі частини програми або модулі були сукупністю процедур для вирішення деякої сукупності завдань. Головна особливість процедурного програмування полягає в тому, що програма завжди має початок в часі або початкову процедуру (початковий блок) і закінчення (кінцевий блок). При цьому вся програма може бути представлена візуально у вигляді направленої послідовності графічних примітивів або блоків (рис. 3.1). Важливою властивістю таких програм є необхідність завершення всіх дій попередньої процедури для початку дій подальшої процедури. Зміна порядку виконання цих дій навіть в межах однієї процедури зажадала включення в мови програмування спеціальних умовних операторів типу if-then-else і Goto для реалізації розгалуження обчислювального процесу залежно від проміжних результатів розв’язування задачі. Поява і інтенсивне використання умовних операторів і оператора безумовного переходу стала предметом гострих дискусій серед фахівців з програмування. Річ у тому, що безконтрольне застосування в програмі оператора безумовного переходу goto здатне серйозно ускладнити розуміння коду. Відповідні програми почали порівнювати із спагеті, називаючи їх bowl of spaghetti, маючи на увазі численні переходи від одного фрагмента програми до іншого, або, що ще гірше, повернення від кінцевих операторів програми до її початкових операторів. Ситуація здавалася настільки драматичною, що в літературі зазвучали заклики виключити оператор goto з мов програмування. Саме з того часу прийнято вважати хорошим стилем програмування – програмування без goto. Рис. 3.1. Графічне представлення програми у вигляді послідовності процедур Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |