Алгоритми са разгранатом структуром

Решавање многих проблема захтева сложеније алгоритме од алгоритама са линијском структуром. У зависности од испуњења одређеног услова, један или више алгоритамских корака треба извршити или не извршити, што доводи до гранања у алгоритамским шемама. Разграната структура (у програмском језику C названа if-else структура) назива се и селекција, структура гранања, услова, избора итд.

Напомена: приликом цртања алгоритамских шема треба посебно обратити пажњу на операторе са којима се до сада нисте сусретали. За почетак, потребно је да направимо разлику између релационих оператора и оператора доделе. У математици оператор = у неком изразу подразумева једнакост онога што се налази са леве стране са оним што се налази са десне стране. У програмском језику C, као и у онлајн окружењу Визија за цртање алгоритамских шема то није случај!

Оператор = је оператор доделе којим додељујемо вредност са десне стране променљивој на левој страни. На пример:

x = 2
x = x + 1

значи да у првом кораку променљивој х додељујемо вредност 2, а у другом, променљивој х додељујемо тренутну вредност променљиве х плус 1, односно 2 + 1!

Неки од релационих оператора које можемо користити приликом цртања алгоритамских шема, а касније и у програмском језику C:

<   Мање
>   Веће
<=  Мање или једнако 
>=  Веће или једнако
==  Једнако 
!=  Различито

На пример, ако у неком алгоритамском кораку испитујемо да ли је тачно да је променљива х једнака нули, онда ћемо у том алгоритамском кораку у блоку за услов писати х==0, а не х=0. Као што је већ напоменуто, х==0 значи да је променљива х једнака нули (релациони оператор ==), а х=0 значи да променљивој х додељујемо вредност нула (оператор доделе =).

Уколико у алгоритамском кораку у којем испитујете једнакост користите оператор доделе уместо оператора једнакости, алгоритам ће бити неисправан! Исто важи и обрнутно – уколико за доделу вредности користите оператор једнакости уместо оператора доделе алгоритам ће бити неисправан! Строго водите рачуна о томе!!!

Пример 1. Нацртајте алгоритамску шему за следећи задатак: Израчунати збир два унета броја, па исписати вредност добијеног збира и да ли је збир већи од нуле или није.

Primer2-1

Пример 2. Нацртајте алгоритамску шему за следећи задатак: Исписати већи број од два унета броја. Уколико су унети бројеви једнаки, исписати поруку о погрешном уносу. Овај задатак можемо решити на више начина:

Пример 3. Нацртајте алгоритамску шему за следећи задатак: Исписати највећи број од три различита унета броја.

Пример 4. Нацртајте алгоритамску шему за следећи задатак: Исписати да ли је унети број паран или непаран.

Пример 5. Нацртајте алгоритамску шему за следећи задатак: Исписати успех ученика на основу унете оцене по следећим правилима: 5: одличан, 4: врлодобар, 3: добар, 2: довољан, 1: недовољан.

Пример 6. Нацртајте алгоритамску шему за следећи задатак: Израчунати и исписати збир позитивних бројева, ако се уносе три различита броја (значи, ако их има, не сабирати оне унете бројеве који су мањи од нуле или који су једнаки нули).

Primer2-6

Пример 7. Нацртајте алгоритамску шему за следећи задатак: Исписати три унета различита броја по растућем редоследу (од најмањег ка највећем).

domaci2-2


Неовлашћено коришћење ових садржаја, без претходне писмене сагласности аутора, сматра се кршењем Закона о ауторским и сродним правима!