- •Уводзіны Ключавыя палажэнні
- •Развіццё моў камп’ютарнага праграміравання
- •Эвалюцыя мовы Pascal
- •Структурная метадалогія распрацоўкі праграм Алгарытм
- •Асноўныя этапы рашэння задач на эвм
- •Блок-схемы
- •Структураграмы
- •Тэсціраванне праграм
- •Адладка праграм
- •Структурнае праграміраванне і дакладнасць праграм
- •Асноўныя канструкцыі структур кіравання
- •Метады распрацоўкі праграм
- •Праграміраванне зверху ўніз (ад агульнага да асобнага)
- •Модульнае праграміраванне
- •Праграміраванне знізу ўверх
- •Структурнае кадзіраванне
- •Арыфметыка эвм Сістэмы злічэння
- •Пераклады лікаў з адной сістэмы злічэння ў другую
- •Пераклад цэлых дадатных лікаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад правільных дробаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад змешаных дробаў
- •Формы прадстаўлення даных
- •Формы прадстаўлення лікаў у персанальным камп’ютары
- •Захаванне лікаў з фіксаванай кропкай
- •Захаванне цэлых лікаў
- •Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе
- •Прынцыпы захавання лікаў з плаваючай кропкай
- •Фарматы лікаў з плаваючай кропкай арыфметычнага супрацэсара ibm pc/aт 8087
- •Сродкі алгарытмічнай мовы Pascal Агульная характарыстыка алгарытмічных моў
- •Базавыя элементы мовы Pascal
- •Алфавіт
- •Лексічная структура мовы
- •Агульная структура Pascal-праграмы
- •Простыя даныя мовы Pascal і работа з імі Тыпы звестак
- •Канстанты і пераменныя
- •Абсалютныя пераменныя
- •Цэлалікавыя даныя
- •Бітавая арыфметыка
- •Дзеянні бітавай арыфметыкі
- •Сапраўдныя даныя
- •Аперацыі над сапраўднымі данымі
- •Выразы мовы
- •Літарныя даныя
- •Функцыі
- •Булеўскія даныя
- •Даныя адраснага тыпу
- •Даныя карыстальніцкага тыпу
- •Даныя пералічальнага тыпу
- •Даныя інтэрвальнага тыпу
- •Элементарныя сродкі па рабоце з данымі Наданне значэння даным
- •Найпрасцейшае вызначэнне працэдур і функцый
- •Параметры
- •Знаёмства з файлавай сістэмай
- •Файлавы тып
- •Тэкставыя стандартныя файлы
- •Увод даных розных тыпаў
- •Вывад даных розных тыпаў
- •Вывад сімвалаў
- •Вывад радковых даных
- •Вывад лагічных значэнняў
- •Вывад цэлалікавых значэнняў
- •Вывад даных сапраўднага тыпу
- •Базавыя аператары мовы і метады праграміравання Аператары
- •Простыя аператары
- •Аператар безумоўнага пераходу goto
- •Аператар выкліку працэдуры
- •Пусты аператар
- •Састаўны аператар
- •Аператары выбару
- •Умоўны аператар
- •Метады і прыёмы праграміравання
- •Аператар варыянта
- •Прыклады праграм
- •Аператары паўтарэння
- •Аператар паўтарэння for
- •Аператар паўтарэння repeat
- •Аператар паўтарэння while
- •Хуткая ступень
- •Ітэрацыйныя алгарытмы вышэйшай матэматыкі
- •Структуры даных і праца з імі сродкамі мовы Pascal Парадкавыя тыпы
- •Мноствы
- •Тыпізаваныя канстанты тыпу «мноства»
- •Дзеянні над масівамі
- •Дзеянні над элементамі масіву
- •Пераменныя тыпу «масіў» са стартавым значэннем, ці тыпізаваныя канстанты-масівы
- •Канстанты з тыпам «масіў»
- •Камбінаваны тып «запісы»
- •Змяненне (прывядзенне) тыпаў і значэнняў
- •Радкі сімвалаў
- •Наданне значэння радкам
- •Радковыя выразы
- •Рэдагаванне радкоў
- •Пераўтварэнне радкоў
- •Механізмы структуравання праграм Працэдуры і функцыі
- •Функцыі карыстальніка
- •Параметры
- •Параметры-значэнні
- •Параметры-пераменныя
- •Прынцып лакалізацыі
- •Пабочны эфект
- •Рэкурсія і ітэрацыі
- •Параметры без тыпу
- •Працэдуры і функцыі як параметры. Працэдурныя тыпы
- •Пераменныя – працэдуры і функцыі
- •Падпраграмы ў модулях
- •Выкарыстанне модуля
- •Стандартныя бібліятэчныя модулі
- •Працэдуры кіравання праграмай
- •Эфектыўнасць праграм
- •Аптымізацыя ў час кампілявання
- •Індэксацыя
- •Выкарыстанне цыклаў
- •Арганізацыя цыклаў
- •Аптымізацыя цыклаў
- •Літаратура
Метады распрацоўкі праграм
Пасля састаўлення алгарытму наступае этап праграміравання, які можа прывесці да пераасэнсавання алгарытму. Даныя таксама аказваюць вялікі ўплыў на алгарытм. Напрыклад, у разгледжаных вышэй задачах 2 і 3 пераменныя трэба ўяўляць як элементы масіву, а ў задачах 1 і 5 для захоўвання дастаткова адной ці двух пераменных.
На стадыі распрацоўкі алгарытмаў і праграм істотна дапамагаюць наступныя метады праграміравання:
праектаванне зверху ўніз (сыходнае праграміраванне);
модульнае праграміраванне;
праектаванне знізу ўверх (узыходнае праграміраванне);
структурнае кадзіраванне.
Праграміраванне зверху ўніз (ад агульнага да асобнага)
Перш чым пачынаць распрацоўку праграмы, спачатку трэба асэнсаваць, што дадзена, што трэба атрымаць, якімі данымі вы будзеце валодаць.
Нярэдка выяўляецца, што нельга запісаць алгарытм рашэння задачы на звычайнай мове. Тады не трэба спадзявацца, што вам удасца саставіць праграму.
Метад праграміравання зверху ўніз прадугледжвае спачатку вызначэнне задачы ў агульных рысах. Затым ідзе паступовае ўдакладненне задачы шляхам дэталізацыі. Узнікаюць узроўні дэталізацыі. Засяроджваецца ўвага на некалькі больш простых частках, і пры далейшай дэталізацыі ўсіх частак можа атрымацца амаль завершаная праграма.
Гэты прынцып быў скарыстаны ў задачах 1–5.
Модульнае праграміраванне
Модульнае праграміраванне грунтуецца на папярэдняй тэхналогіі – праграміраванні зверху ўніз. Гэта працэс раздзялення праграмы на лагічныя часткі (падзадачы), якія называюць модулямі, і незалежнае праграміраванне кожнай часткі. Трапнымі модулямі з’яўляюцца прыкладныя падпраграмы і стандартныя працэдуры.
Трэба імкнуцца да незалежнасці паміж модулямі. Гэтага можна дасягнуць, калі кожны модуль будзе мець сваё прызначэнне, не залежаць ад крыніцы зыходных даных, ад месца прызначэння выхадных даных, ад перадгісторыі алгарытму.
Праграміраванне знізу ўверх
Сутнасць праграміравання знізу ўверх у тым, што спачатку выбіраюцца ці будуюцца дэталі алгарытму, а потым з іх нарошчваюцца больш буйныя часткі, пакуль не будзе пабудаваны шукаемы алгарытм.
Пры распрацоўцы праграмы метадам знізу ўверх не трэба ствараць заглушкі (заглушкі – гэта вельмі простая версія будучых праграм), але тады запуск праграмы адкладваецца на самы апошні момант – пакуль не будуць створаны ўсе падпарадкаваныя модулі.
Такі метад праграміравання асабліва эфектыўны пры гатовым наборы фрагментаў алгарытму (напрыклад, працэдур мовы, і з гэтых працэдур ствараюцца больш буйныя фрагменты, якія ў канцы прыводзяць да рашэння пастаўленай задачы).
У практыцы праграміравання выкарыстоўваюцца змяшаныя стратэгіі праграміравання, калі пры распрацоўцы алгарытму сумесна прымяняюцца прынцыпы праграміравання зверху ўніз і знізу ўверх.
Структурнае кадзіраванне
Калі алгарытм рашэння задачы даецца структурнай блок-схемай, тады пераклад блок-схемы на алгарытмічную мову адбываецца даволі проста, з выкарыстаннем адпаведных структур кіравання, і алгарытм не трэба пераасэнсоўваць. Аднак не толькі ў гэтым заключаецца прынцып структурнага кадзіравання.
Праграма з’яўляецца як сродкам кіравання камп’ютарам, так і спосабам перадачы сваіх ідэй іншым людзям. Таму здаўна павялося, што праграмы афармляюцца так, каб потым было лёгка іх асэнсоўваць. Праграміст тлумачыць прынцыпы работы праграмы шляхам уключэння ў праграму каментарыяў. Зразумеласць праграмы істотна ўзрастае, калі выкарыстоўваюцца інфармацыйныя імёны пераменных, канстант, падпраграм, прабелы ў пачатку радкоў. Звычайна адступленні ў пачатку радкоў абазначаюць унутраныя аператары кіруючых структур. Можна заўважыць, што разгледжаныя раней праграмы пабудаваны па такому прынцыпу. Трэба знаёміцца са стылем праграміравання па падручніках і прымяняць яго ва ўласнай практыцы.