Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекцый для 1 курса-1 семестр.doc
Скачиваний:
3
Добавлен:
09.11.2019
Размер:
2.95 Mб
Скачать

Структурная метадалогія распрацоўкі праграм Алгарытм

Слова «алгарытм», па сутнасці, з’яўляецца сінонімам слоў «спосаб» і «рэцэпт». Узнікла яно, калі еўрапейцы пазнаёміліся са спосабамі вы­ка­нан­ня над лікамі, запісанымі ў арабскай сістэме злічэння, арыф­ме­тыч­ных дзеянняў (складанне і множанне), апісаных у кнізе, прывезенай з Ха­рэз­ма. Такім чынам, «алгарытм» з’яўляецца еўрапеізаваным вы­маў­лен­нем слоў «аль Харэзм».

У наш час цікавасць да алгарытмаў асабліва вялікая дзякуючы маг­чы­мас­ці выкарыстання персанальнага камп’ютара (ПК) у тэхніцы, на­ву­цы, эканоміцы і ў паўсядзённым жыцці, бо камп’ютар у час работы вы­кон­вае зададзеную праграму, а праграма з’яўляецца некаторым ал­га­рыт­мам, запісаным на мове, якая перакладаецца на мову ПК.

Мова праграміравання, ці алгарытмічная мова, – гэта сукупнасць срод­каў і правіл уяўлення алгарытму ў выглядзе, які прымальны для кам­п’ю­та­ра.

Калі вярнуцца да паняцця «алгарытм», то трэба сказаць, што іс­нуе шмат яго азначэнняў і ёсць нават спецыяльная дысцыпліна «Тэорыя алгарытмаў». Мы спынімся на наступных азначэннях.

Алгарытм – гэта дакладнае і безадказнае прадпісанне дзеянняў, якія па­він­ны быць выкананы.

Алгарытм рашэння пэўнай задачы – гэта алгарытм, які прыводзіць да ра­шэн­ня задачы за канечны лік дзеянняў.

Алгарытм рашэння класа задач – гэта алгарытм, які прыводзіць да ра­шэн­ня кожнай задачы з гэтага класа за канечны лік дзеянняў.

Існуюць разнастайныя методыкі і тэхналогіі распрацоўкі алгарытмаў.

Распрацоўка камп’ютарнай праграмы – доўгі і працаёмкі працэс. Каб кан­чат­ко­вы варыянт праграмы працаваў правільна і ўтрымліваў як мага менш памылак, праграмісты яўна ці няяўна прытрымліваюцца поўнага цык­ла распрацоўкі праграмы.

Асноўныя этапы рашэння задач на эвм

Як бы далёка па сваёй складанасці ні стаялі адна ад адной за­да­чы (на­прыклад, рашэнне квадратнага ўраўнення ці кіраванне касмічным ка­раб­лём), іх рашэнне на ЭВМ мае шэраг агульных этапаў. Звычайна гэ­та такія этапы.

1. Пастаноўка задачы.

2. Аналіз, фармалізаванае апісанне задачы, выбар матэматычнай ма­дэ­лі. Распрацоўка методыкі рашэння і вызначэння абмежаванняў на пас­таў­ле­ную задачу.

3. Выбар ці распрацоўка алгарытму і запіс яго фармальнымі сродкамі.

4. Праграміраванне рашэння задачы на адной з моў праграміравання.

5. Тэсціраванне і адладка праграмы.

6. Рашэнне задачы на ЭВМ.

Пры рашэнні канкрэтных задач адны этапы могуць адсутні­чаць, а дру­гія могуць быць складана вырашальнымі.

Этап 1. Пастаноўка задачы выконваецца заказчыкам і спачатку мо­жа быць не зусім канкрэтна алгарытмічная.

Этап 2. Аналіз задачы ўключае вызначэнне ўваходных і выхадных да­ных, выяўленне магчымых абмежаванняў на іх значэнні і звычайна за­вяр­ша­ец­ца фармалізаваным апісаннем задачы, якое часта мяркуе яе ма­тэ­ма­тыч­ную фармулёўку. Распрацоўка методыкі рашэння і вызначэння аб­ме­жа­ван­няў на пастаўленую задачу дазволіць правільна зап­раг­ра­мі­ра­ваць усе акалічнасці задачы.

Этап 3. Выбар ці распрацоўка алгарытму і метаду рашэння задачы ма­юць важнейшае значэнне для паспяховай работы над праграмай. Да­ска­на­ла прадуманы алгарытм рашэння задачы – неабходная ўмова эфек­тыў­на­га праграміравання.

Для фармалізацыі алгарытму існуюць розныя сродкі:

 запіс на роднай мове;

 запіс на фармалізаванай мове (родная + нейкія скарачэнні) – запіс на псеў­да­кодзе;

 графічныя сродкі, якія ўласна выкарыстоўвае праграміст (блок-схемы, струк­ту­раг­ра­мы);

 графічныя сродкі, якія выкарыстоўвае ЭВМ пры стварэнні р-схем.

Цяпер, калі праграміраванне адбываецца на мовах высокага ўзроў­ню, блок-схема выкарыстоўваецца як мова звышвысокага ўзроўню. Ве­ль­мі падрабязная схема нават шкодная, а вось прынцыповая, якая задае пас­ля­доў­насць дзеянняў, можа, і складаных, – вельмі карысная.

У далейшым мы будзем больш скарыстоўваць блок-схемы і струк­ту­раг­ра­мы, таму разгледзім стандартныя сімвалы, на аснове якіх і бу­ду­юц­ца блок-схемы і структураграмы.