§ 3. Асноўныя алгарытмічныя канструкцыі

3.1. Алгарытмічныя канструкцыі

Як вам ужо вядома з курса інфарматыкі, любы алгарытм можа быць запісаны з выкарыстаннем трох базавых алгарытмічных канструкцый: паслядоўнасць, цыкл і галінаванне (прыклад 3.1).

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

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

Алгарытмічная канструкцыя паўтарэнне (цыкл) уяўляе сабой паслядоўнасць дзеянняў, выкананых шматразова. Саму паслядоўнасць называюць целам цыкла. Аператар цыкла — гэта каманда, якая рэалізуе алгарытмічную канструкцыю паўтарэння на мове праграміравання.

Існуюць розныя магчымасці кіраваць тым, колькі разоў будзе паўтарацца цела цыкла. Можа быць зададзена ўмова працягвання ці заканчэння работы цыкла, а таксама колькасць паўтарэнняў цела цыкла. Вылучаюць наступныя цыклы: цыкл з перадумовай, цыкл з постумовай і цыкл з параметрам. Выбар цыкла залежыць ад задачы. Шмат у якіх выпадках цыклы ўзаемазамяняльныя. Пры выбары цыкла можна арыентавацца на наступнае:

  • цыкл з параметрам выкарыстоўваецца тады, калі вядома колькасць паўтарэнняў;
  • цыкл з перадумовай выкарыстоўваецца ў тым выпадку, калі вядома ўмова працягвання работы;
  • цыкл з постумовай выкарыстоўваецца ў тым выпадку, калі вядома ўмова працягвання работы.

Прыклад 3.1. Блок-схемы алгарытмічных канструкцый.

Паслядоўнасць

Галінаванне

Цыкл 

1. Цыкл з параметрам (значэнне параметра змяняецца ад 1 да N):

 

2. Цыкл з перадумовай:

3. Цыкл з постумовай:

Акрамя блок-схем, для графічнага ўяўлення алгарытмаў выкарыстоўваюць структураграмы (— S-дыяграмы, дыяграмы Насі — Шнэйдэрмана).

Прыклады структураграм

Каманда галінавання:

 

Каманда цыкла з перадумовай: