02 Algoritamske Seme

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

УВОД У ПРОГРАМИРАЊЕ

др Марија Благојевић
Садржај предавања

• Алгоритми у свакодневном животу


• Појам алгоритма
• Основна својства алгоритма
• Алгоритамске структуре
• Примери
Алгоритми у свакодневном
животу
Примери из свакодневног живота-кување чаја
1. Ставити посуду са водом на шпорет
2. Чекај док не проври
3. Скинути воду са шпорета
4. Ставити врећицу са чајем у воду
5. Сачекати пет минута
6. Извадити врећицу из воде
7. По жељи додати шећера
8. По жељи нацедити лимуна
9. Послужити чај
Алгоритми у свакодневном
животу
Примери из свакодневног живота-гашење пожара
1. Донеси противпожарни апарат на место пожара
2. Извуци осигурач покретне ручице на вентилу апарата
3. Дланом удари покретну ручицу вентила до краја
4. Сачекај 5 секунди
5. Упери дизну вентила према пожару и притисни покретну ручицу до краја
6. Млазом праха покривај запаљене површине све док се пожар не угаси
Реч „алгоритам“
Реч алгоритам долази од имена арапског математичара
Мухамед ибн Муса ал Хорезми (IX век).
Он је разрадио и у посебној књизи описао правила за
извођење аритметичких операција с бројевима записаним у
декадном облику.
Арапски оригинал те књиге је изгубљен али постоји превод те
књиге на латински. У том преводу испред сваког правила пише
“Диxит Алгоризми”“Алгоризми је говорио”, тј. последњи део
имена ал Хорезми претворен је у Алгоризми.
Реч „алгоритам“
У другим латинским текстовима име је претворено у Алгоритхмус.
С временом је заборављено да је Алгоритам име човека и наслов
над правилима
“Алгоритам је говорио” претворио се у “алгоритам гласи”.
На тај начин су се правила почела називати алгоритмима.
Појам алгоритма

Алгоритам је коначан скуп прецизно дефинисаних


правила за решавање неке класе задатака.
Алгоритми у рачунарству имају веома значајну улогу.
Посебна научна дисциплина-теорија алгоритама.
Алгоритми

Полазне величине задатка зову се УЛАЗНЕ величине а


решења задатка зовемо ИЗЛАЗНЕ величине.

Свако појединачно правило из скупа правила формулисаних


за решавање задатка зове се АЛГОРИТАМСКИ КОРАК.
Својства алгоритма

• Општост: Алгоритам мора бити погодан за решавање


одређеног типа проблема, а не само једног конкретног
проблема.
• Конкретност: Алгоритам мора прихватити коначан број
улазних величина које потпуно одређују конкретни
проблем који треба решити.
• Коначност: Алгоритам мора дати решење постављеног
проблема у коначном броју корака односно поступака..
Својства алгоритма

• Ефикасност: Поступак се мора завршити у прихватљивом


времену и прихватљивом трошку других ресурса.
• Поновљивост: Поновљени поступак уз исте улазне величи
не мора дати исти резултат, односно излазне величине.
• Разумљивост: Поступци одређени алгоритмом морају бити
познати извршитељу.
Својства алгортима
• Формализованост: Сваки поступак мора бити
једнозначно и недвосмислено дефинисан.
• Инструктивност: Поступци требају бити исказани у
форми наредби
Представљање алгоритама

• Графички-алгоритамске шеме
• Псеудојезик
Графички алгоритамски симболи
Алгоритамске структуре
Под структуром алгоритма подразумева се редослед
извршавања појединих врста алгоритамских корака у алгоритму.

Са становишта овог редоследа постоје три основне


алгоритамске структуре:
- линијска,
- разграната и
- циклична.
Линијска алгортимска структура
Линијска структура
Алгоритамски кораци се извршавају један за другим
редоследом којим су написани.
Разграната алгортимска
структура
Разграната структура
Структура алгоритма у којој ток операција зависи од
испуњености неких услова зове се разграната
структура.
Циклична алгоритамска структура
Циклична структура
Алгоритам код ког се одређени број алгоритамских
корака понавља више пута има цикличку структуру.
Ако је број понављања дела алгоритма познат унапред
структура је константна (бројачки циклус).

Ако број понављања није познат унапред, него зависи


од испуњености неког услова структура је променљива
(условни циклус).
Сложене алгоритамске струкуре
Сложене алгоритамске структуре

Сложене алгоритамске структуре састоје се од


произвољног броја, произвољних комбинација основних
алгоритамских структура.
Aлгоритми и представљање
алгоритама
Најчешћи се алгоритми представљају графички. Један
алгоритам може бити представљен у више нивоа детаљности.

Алгоритам написан на највишем нивоу је, практично, текстуални


опис проблема који је потребно решити.
Пример 1
Нацртати алгоритамску шем
у за превођење температуре
из скале Целзијуса у скалу
Фаренхајта,
ако је одговарајућа формула
облика: Tf = Tc * 1.80 + 32
Пресликавање алгоритма у код назива се процес
кодирања.
Како свако решење неког проблема има свој почетак,
тело са скупом акција и крај, то и алгоритам има
три целине: почетак, тело алгоритма и крај.
Aлгоритамске структуре
При прављењу алгоритма проблем треба декомпоновати на
мање целине.
Извршење алгоритма представља извршење ових целина
по одређеном редоследу. Постоје различити типови целина.
Најједноставнији тип је блок наредби, нешто специфичнији
су улазни и излазни блокови,
док се за дефинисање редоследа извршења ових целина у
алгоритму користе специјалне алгоритамске структуре за у
прављање током.
Блок наредби

Блок наредби се састоји од једне или више наредби које се


извршавају сукцесивно (једна за другом). Блок наредби има
једну улазну и једну излазну тачку.
Улазно-излазни блокови

Алгоритми који решавају конкретне проблеме често


захтевају неке улазне параметре и приказују неке излазне
резултате кориснику. Често се у литератури среће
дефиниција да је алгоритам потупак за трансформацију
улазних података у излазне.
Улазно-излазни блокови

Алгоритам који рачуна збир два броја.


Структуре за управљање током
извршења
Постоје два типа структура за управљање током:
гранање и петље или циклуси.
Гранање
Структуре гранања представљају
тачке
одлуке у алгоритму, тј. тачке у којима
се, на основу претходно унешених
или израчунатих параметара доноси
одлука.
Уколико је одлука позитивна (тачно) и
звршава се један НАРЕДБА 1.
Уколико је одлука негативна (нетачн
о), извршава се НАРЕДБА 2.
Оваква конструкција се назива
IF…ELSE структура.
Циклуси-Петље
WHILE петља
Код WHILE циклуса се пре сваког
извршења блока наредби у
оквиру петље испитује услов.
Ако је услов испуњен блок
наредби се извршава, док се у
супротном блок наредби у
петљи не извршава.
Код петљи типа WHILE број
извршења тела петље није
унапред познат и зависи једино
од услова који дефинише
петљу.
DO WHILE петља

Други тип петљи код кога, такође


број извршења тела петље
зависи од услова, и није унапред
познат је DO WHILE петља.
Код овог типа петљи прво се
извршава тело петље, па се тек
онда проверава услов за излазак
из петље.

You might also like