You are on page 1of 24

Алгоритми и структуре података:

Алгоритми – уводно предавање

Професор: др Светлана Штрбац-Савић


Маил / Кабинет: svetlanas@viser.edu.rs / 501
Алгоритми и структуре података: Структуре података

Дефиниција алгоритма

• Алгоритам је скуп јасно дефинисаних правила која описују


решавање неког проблема.

Висока школа електротехнике и рачунарства 2


Алгоритми и структуре података: Структуре података

Алгоритми
Најважнији кораци у циљу решавања проблема помоћу рачунара
су:

1. Формулација проблема,
2. Дефинисање математичког облика проблема,
3. Прављење алгоритма,
4. Програмирање,
5. Израда тест примера,
6. Тестирање програма,
7. Добијање и анализа резултата
Висока школа електротехнике и рачунарства 3
Алгоритми и структуре података: Структуре података

Означавање алгоритма
• Два најчешћа означавања алгоритма су:
• Дијаграми тока
• псудо језици, односно, псеудокод. (Псеудокод представља међукорак
између свакодневног језика, (српски, енглески итд.) и програмских
језика),
• програмски језици,
• Простова машина,
• Тјурингова машина,
• рекурзивне функције и многи други.

Висока школа електротехнике и рачунарства 4


Алгоритми и структуре података: Структуре података

Стандардни дијаграм тока

Висока школа електротехнике и рачунарства 5


Алгоритми и структуре података: Структуре података

Стaндардни дијаграм тока


Стандардни дијаграм тока има почетну и крајњу тачку, улаз и излаз података
и између блокове који описују поједине структуре у програму

Висока школа електротехнике и рачунарства 6


Алгоритми и структуре података: Структуре података

Структурни дијаграм тока

Структурни дијаграм нема почетну и крајњу тачку већ је на


нивоу блокова

Висока школа електротехнике и рачунарства 7


Алгоритми и структуре података: Структуре података

Дијаграми токa

• Графички представљају алгоритам


• Лакши за памћење
• Теже се преводе у програмски језик
• Представљени су преко блокова, где сваки блок извршава одређени
задатак. Ка сваком блоку води тачно једна стрелица и тачно једна
стрелица излази из сваког облика.

Висока школа електротехнике и рачунарства 8


Алгоритми и структуре података: Структуре података

Псеудокод
• Може се писати на два начина:
• Блиско програмском језику уз помоћ кога се програмира
• Блиско обичном језику уз употребу неколико кључних речи
• Неке од кључних речи које се срећу код писања псеудокода независно
од избора начина његовог писања су:
• Begin i end као улазне и излазне тачке програма
• If then else конструкција гранања
• While петља
• For to do петља
• Различито означавање коментара { }, #
Висока школа електротехнике и рачунарства 9
Алгоритми и структуре података: Структуре података

Aлгоритамске шеме се могу поделити у две категорије:

• Линијске алгоритамске шеме,

• Цикличне алгоритамске шеме.

Висока школа електротехнике и рачунарства 10


Алгоритми и структуре података: Структуре података

Линијске алгоритамске шеме

• Линијске алгоритамске шеме су оне шеме код којих се


сваки алгоритамски корак извршава највише једанпут у току
извршавања алгоритма. Могу бити просте и разгранате.

• Просте линијске алгоритамске шеме, су оне шеме код


којих се сваки алгоритамски корак извршава тачно једанпут у
току извршавања алгоритма.

Висока школа електротехнике и рачунарства 11


Алгоритми и структуре података: Структуре података

Линијске алгоритамске шеме

• Линијске алгоритамске шеме су оне шеме код којих се


сваки алгоритамски корак извршава највише једанпут у току
извршавања алгоритма. Могу бити просте и разгранате.

• Просте линијске алгоритамске шеме, су оне шеме код


којих се сваки алгоритамски корак извршава тачно једанпут у
току извршавања алгоритма.

Висока школа електротехнике и рачунарства 12


Алгоритми и структуре података: Структуре података

Пример: Саставити алгоритамску шему за


израчунавање израза Z=a*(b-3c)
Početak

a,b,c

Z1=3*c

Z2=b-Z1

Z=a*Z2

Kraj

Висока школа електротехнике и рачунарства 13


Алгоритми и структуре података: Структуре података

Разгранате алгоритамске шеме

• Разгранате линијске алгоритамске шеме, су оне шеме код


којих се сваки корак извршава највише једанпут и обавезно
садржи бар један условни алгоритамски корак. Ако је услов
испуњен, излаз из алгоритамског корака биће означен са да,
a ако услов није испуњен излаз ће бити означен са не.

• IF uslov THEN P1 ELSE P2 END_IF

Висока школа електротехнике и рачунарства 14


Алгоритми и структуре података: Структуре података

Разгранате алгоритамске шеме – графички


приказ
Početak

P1

Uslov da P3

ne

P2

Kraj

Висока школа електротехнике и рачунарства 15


Алгоритми и структуре података: Структуре података

Пример : Саставити алгоритам за


израчунавање вредности
Početak

a,b

da
a<b P=a+b

ne

P=a-b

Kraj

Висока школа електротехнике и рачунарства 16


Алгоритми и структуре података: Структуре података

Пример : Саставити алгоритам за


одређивање максимума два броја
Početak

a,b

da
a>b max=a

ne

max=b

max

Kraj

Висока школа електротехнике и рачунарства 17


Алгоритми и структуре података: Структуре података

Цикличне алгоритамске шеме


• Цикличне алгоритамске шеме су оне шеме у којима се
један или више алгоритамских корака може извршавати више
од једанпут у току извршавања алгоритма. Ови кораци чине
циклус. Уколико је услов испуњен излази се из циклуса, у
супротном циклус се понавља.

• Услов за излалак из циклуса се назива излазни


критеријум циклуса.

• Цикличне алгоритамске шеме могу бити константне и


променљиве.
Висока школа електротехнике и рачунарства 18
Алгоритми и структуре података: Структуре података

Основне врсте циклуса:


• петље са условним излазом (WHILE – DO, REPEAT – UNTIL, LOOP -
EXIT ),
• петље са експилцитним бројачем (FOR),
• петље са имплицитним бројачем (LOOP - TIMES),
• бесконачне петље и петље са и без механизма условног изласка
из петље (LOOP),
• петље по елементима скупа.

Висока школа електротехнике и рачунарства 19


Алгоритми и структуре података: Структуре података

Петље са условним излазом у средини


LOOP - EXIT

Висока школа електротехнике и рачунарства 20


Алгоритми и структуре података: Структуре података

Петље са условним излазом на врху WHILE


- DO
WHILE p DO B END_WHILE

Висока школа електротехнике и рачунарства 21


Алгоритми и структуре података: Структуре података

Петље са условним излазом на врху


REPEAT- UNTIL
REPEAT
B
UNTIL p
END_REPEAT

Висока школа електротехнике и рачунарства 22


Алгоритми и структуре података: Структуре података

Петље са условним излазом на врху


REPEAT- UNTIL
REPEAT
B
UNTIL p
END_REPEAT

Висока школа електротехнике и рачунарства 23


Алгоритми и структуре података: Структуре података

Пример: Саставити програм који


израчунава аритметичку средину n унетих
бројева Početak

X1, x2...., xn,n

n=0 P=0

i=1

S=0

S=S+xi

i=n P=S/n

i=i+1 P

Kraj

Висока школа електротехнике и рачунарства 24

You might also like