Подручја рада
Претрага
4. Анализа проблема

Уводни део часа ( 5 мин.)
1. Шта је алгоритам, а шта програм ?
2. Које симболе користимо у алгоритмима ?
___________________________________________________________________________________
Главни део часа :

Поступак примене рачунара у решавању датог задатка можемо поделити у следеће фазе :
1. Дефинисање проблема ;
2. Глобални опис одговарајућег алгоритма ;
3. Поступна детаљна израда алгоритма ;
4. Писање програма за рачунар ;
5. Тестирање програма на рачунару ;
6. Решавање задатка извршавањем програма на рачунару .

1. Циљ прве фазе јесте да тачно одреди каква је основна намена програма, шта ће бити улазни, а шта излазни подаци.У овој фази треба прецизно поставити задатак, уочити и упознати све елементе значајне за решавање задатка. Потребно је критички оценити значај ових елемената и изабрати оне који су битни за решавање постављеног задатка. Дефинисање проблема је у многим случајевима веома једноставно, међутим често се догађа да је пут до дефиниције проблема веома дуг. Од тога како је проблем дефинисан веома зависи какве ће се тешкоће појавити у конструисању алгоритма и каква ће бити употребљивост програма.

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

3. Циљ следеће фазе је да се алгоритам довољно подробно изради, како би писање програма било што једноставније. Код сложених проблема је важно да се алгоритам развија систематично и постепено.

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

5. У овој фази корисник треба да се увери у исправност састављеног програма. Ово је крупан проблем у програмирању. Обично се дешава да програм није потпуно исправан па је потребно пронаћи грешке. На неке грешке нас упозорава рачунар тиме што за програм јавља дијагностичку поруку која садржи листу грешака.Када отклонимо те грешке још увек не значи да је програм исправан.Програм се тестира тако што се он изврши за одабране скупове улазних величина. Примерима можемо показати да програм није исправан, али не можемо показати да је исправан. Иако је рачунар идеално средство за тестирање исправност програма не можемо доказивати тако што ћемо програм извршити за сваки могући скуп улазних величина.За велики број програма овакво тестирање би трајало годинама.Зато се проверавање врши са подацима за тестирање које треба одабрати тако да се без већих напора могу предвидети исправни резултати. Ако је програм и даље неисправан на то ће упозорити неочекивани резултати.
Овај поступак може бити веома дуготрајан и да од програмера захтева много спретности и досетљивости.

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

Analiza_problema.jpg

Одговорити на следећа питања :
1. Објаснити прву фазу у примени рачунара у решавању проблема.
2. Објаснити другу фазу у примени рачунара у решавању проблема.
3. Објаснити трећу фазу у примени рачунара у решавању проблема.
4. Објаснити четврту фазу у примени рачунара у решавању проблема.
5. Објаснити пету и шесту фазу у примени рачунара у решавању проблема.