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