Professional Documents
Culture Documents
РАЧУНАРСТВО И
ИНФОРМАТИКА 3
Приручник за наставнике рачунарства и
информатике за трећи разред гимназије
РАЧУНАРСТВО И ИНФОРМАТИКА 3
Приручник за наставнике рачунарства и информатике за трећи разред гимназије
Прво издање
Забрањено је репродуковање, умножавање, дистрибуција, објављивање, прерада и друга употреба овог ауторског дела
или његових делова у било ком обиму и поступку, укључујући и фотокопирање, штампање, чување у електpонском облику,
односно чињење дела доступним јавности жичним или бежичним путем на начин који омогућује појединцу индивидуални
приступ делу с места и у време које он одабере, без писмене сагласности издавача. Свако неовлашћено коришћење овог
ауторског дела представља кршење Закона о ауторским и сродним правима.
© Klett, 2016.
ISBN 978-86-7762-923-6
УВОД
Приручник за наставнике рачунарства и информатике за трећи разред гимназије пред-
ставља додатни наставни материјал који прати актуелни Наставни план и програм и уџбе-
ник ИК „Klett” Информатика 3, аутора Филипа Марића.
Наставни програм у трећем разреду гимназије предвиђа упознавање ученика са програ-
мирањем. Програмирање је интересантна и динамична научна дисциплина, а од ученика
захтева особине неопходне и за професионални рад и за сналажење у многим ситуацијама
из свакодневног живота: логичко мишљење, прецизност, систематичност, креативност и
ефективност.
Настава би требало да буде организована тако да подстиче интересовање ученика за
унапређење алгоритамске културе и стицање основних знања из програмирања. Након за-
вршетка треће године гимназије, ученици би требало да схвате неопходност коришћења
рачунара у животу, будућем школовању и раду и ефикасно користе програмски језик. Стога
је навећи део Приручника посвећен раду са алгоритмима. Због мотивације ученика, важно
је показати им како програм ради на рачунару, па је коришћен програмски језик Pascal, који
је препоручен и у Уџбенику, док је интерфејс програма у његовој визуелној модификацији,
Lazarus-у.
Надамо се да ће вам Приручник бити од помоћи у раду, а сугестије, критике и предлози
како да га заједно учинимо бољим биће нам веома драгоцени.
Аутор
САДРЖАЈ
1. НАСТАВА РАЧУНАРСТВА И ИНФОРМАТИКЕ У ТРЕЋЕМ РАЗРЕДУ ГИМНАЗИЈА . .5
1.1. Начин остваривања програма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
8. ЛИТЕРАТУРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
1. НАСТАВA РАЧУНАРСТВA И ИНФОРМАТИКE
У ТРЕЋЕМ РАЗРЕДУ ГИМНАЗИЈА1
1
„Сл. гласник РС – Просветни гласник”, бр. 18/2013.
5
САДРЖАЈИ ПРОГРАМА
II Објектно-оријентисано програмирање (1 + 1)
• Објектно-оријентисано програмирање
• Програми засновани на прозорима
‒ Појам графичког корисничког интерфејса
‒ Појам контрола и врсте контрола
IV Типови података (2 + 0)
• Основни типови података
• Текстуални тип података
• Класа као тип података
• Декларација и дефиниција променљиве
• Конверзије података
V Изрази и наредбе (2 + 2)
• Изрази
• Оператори
• Наредбе
VI Креирање апликација (0 + 4)
6
IХ Методе (6 + 4)
• Решавање проблема помоћу метода
• Пренос параметра
Х Низови и датотеке (6 + 4)
7
Данас сви рачунари имају оперативни систем са графичким корисничким интерфејсом
(програми засновани на прозорима) и ученици интензивно користе рачунаре са таквим
софтвером. Потребно је да се код свих ученика развије свест о томе како је креиран софтвер
који користе и какав све софтвер може да се креира да би се одређени проблеми решили по-
моћу рачунара. Кроз овај предмет потребно је изградити добру основу за даљу надоградњу
знања из програмирања за оне ученике који ће се касније, током школовања на факултету,
тиме више бавити.
Уз сваку тематску целину дат је оријентациони број часова за остваривање. Пред-
лог броја часова који је дат уз наставне теме није коначан и наставник може направити
прерасподелу према сопственом мишљењу, а свакако у зависности од састава ученика у
одељењу, тј. од брзине њиховог напредовања. Такође, потребно је број часова прилагодити
могућностима и интересовањима ученика, у зависности од смера гимназије. Предложено
је да се све теме (до последње: „Низови и датотеке”) обраде са свим ученицима, без обзира
на смер који похађају. Уколико ученици имају потешкоћа у савладавању неких предвиђе-
них тема, предлаже се да се одвоји већи број часова за њихово увежбавање. Тема „Низови
и датотеке” је веома важна, и, уколико је то могуће, потребно је да се реализује на онолико
часова колико је за њу предвиђено. Уколико то није могуће, препоручује се да ученици бар
информативно виде понеки пример и буду упознати са проблемима који се решавају упо-
требом низова. Предлаже се да се и током часова теорије ученицима приказују различити
примери алгоритама и програма, јер ученици у овом узрасту најбоље уче кроз конкретне
примере. У упутству за реализацију програма се у виду предлога налазе неки примери који
могу да послуже као идеја за задатке који могу да се раде са ученицима.
За реализацију наставе у рачунарском кабинету потребно је припремити лаке и средње
тешке задатке са детаљним упутством за решавање. Поред тога, потребно је припреми-
ти и сличне задатке, без решења, кроз које ће ученици постепено развијати способности
алгоритамског решавања проблема. На пример, детаљно објаснити и скицирати решење за
проблем проналажења минимума два броја, а затим ученицима дати да самостално ураде
максимум три броја. Тешке задатке понудити само талентованим ученицима.
8
обрадимо податке са одржаног матурског испита) и корака који су потребни да се креира
програм на рачунару који ће решити тај проблем (на пример, програм у који можемо да уно-
симо имена и бодове ученика и да добијемо уређену листу коначних резултата).
Ученици треба да се упознају са појмом и основним карактеристикама алгоритма. Алго-
ритам се може неформално дефинисати као коначан низ једноставних корака којима се
описује поступак решавања одређеног реалног проблема, тако да се од улазних података
обрадом добијају излазни подаци. Независно од будуће реализације на рачунару, приказати
ученицима неколико примера алгоритама као низова корака које је потребно урадити да би
се дошло до решења. За гимназије природно-математичког смера је, на пример, пожељно
показати Еуклидов алгоритам за проналажење највећег заједничког делиоца (уколико су
ученици добри математичари) или приказати неки од примера из живота, рецимо кулинар-
ски рецепт. У њему се јасно разликује шта је улаз (потребни састојци), шта је обрада (пре-
цизно описан поступак кувања), а шта је излаз (готово јело).
Објаснити ученицима шта је програмирање и дати кратку историју програмирања, на-
бројати врсте програмских језика и поменути који све приступи и тенденције постоје у све-
ту у тој области. Како је ова тема теоријска и планирана је за часове теорије, истовремено са
њеном обрадом могуће је ученике увести у развојно окружење на часовима који се одвијају
у рачунарским кабинетима (III тема: „Увод у развојно окружење програмског језика”).
II Објектно-оријентисано програмирање (1 + 1)
• Објектно-оријентисано програмирање
• Програми засновани на прозорима
‒ Појам графичког корисничког интерфејса
‒ Појам контрола и врсте контрола
9
III Увод у развојно окружење програмског језика (0 + 2)
• Развојно окружење и креирање апликације
• Креирање апликација
‒ Етапа дизајна корисничког интерфејса
‒ Етапа кодирања
IV Типови података (2 + 0)
• Основни типови података
• Текстуални тип података
• Класа као тип података
• Декларација и дефиниција променљиве
• Конверзије података
10
С обзиром на то да је тема планирана за часове теорије, могуће је истовремено са њом на
часовима који се одвијају у рачунарским кабинетима кроз апликације приказати примере са
ових теоријских часова и могуће примене (у оквиру VI теме „Креирање апликација”).
V Изрази и наредбе (2 + 2)
• Изрази
• Оператори
• Наредбе
VI Креирање апликација (0 + 4)
11
основу дате цене по килограму, рачунање дужине трајања лета на основу времена полетања
и слетања итд.).
Многи данашњи програми (игрице, софтвер за пројектовање, софтвер за обраду слика,
софтвер за обраду резултата ултразвука у медицини и сл.) богати су графиком. Могуће је
показати ученицима како се ради са графиком у изабраном програмском језику (цртање и
бојење различитих облика – елипса, правоугаоник, многоугао и сл.). Препорука је да се про-
цени време на располагању, способности и интересовања ученика и да се на основу тога до-
несе одлука о томе у којој мери ће се радити задаци са графиком. У неким условима могуће
је радити више графичких задатака, а мање математичких задатака са бројевима. Са малим
фондом часова који је на располагању тешко је очекивати да све групе задатака могу да се
покрију, па програм треба прилагодити потреби. На пример, креирати апликацију која ће на
основу унетих дужина страница троугла рачунати његову површину (математички задатак)
или креирати апликацију у којој се након корисниковог клика мишем на форми исцртава јед-
накостранични троугао (задатак са графиком). Задаци са графиком наводе ученике да, поред
програмерских вештина решавања проблема, развијају геометријске способности и вештине
пројектовања. Да би се радило са графиком, потребно је добро познавање координатног си-
стема и геометријских облика.
Наредба гранања извршава се тако што се на основу вредности логичког израза изврши
један од предвиђених низова инструкција. Приказати ученицима примере наредбе гранања,
као и наредбе вишеструког гранања.
Један од могућих примера је алгоритам тражења максимума два броја. Од математичких
логаритама је, такође, могуће приказати проблем решавања линеарне једначине ах + b = 0,
која има неколико случајева (када је а различито од нуле, када су а и b једнаки нули и када је
а једнако нули али је b различито од нуле). Такође, постоје добри примери са датумима који
могу да се раде са ученицима. Рецимо, на основу редног броја дана приказати његов назив
или за одређени датум приказати следећи. Препоручују се и задаци који имају примену у
свакодневном животу. На пример, одредити оцену коју је добио ученик на тесту уколико
нам је позната скала оцењивања и број остварених бодова.
Приказати контроле избора и примере у којима се оне користе. На пример, на форми се
налазе контроле избора којима можемо да бирамо боју позадине форме. Избором одређене
контроле обојити позадину форме. Следећи пример може да буде са избором облика који се
исцртава на форми (круг, квадрат, троугао) и избором његове величине (мали, средњи, ве-
лики). Према потреби, за ученике гимназије друштвено-језичког смера тежиште ставити на
примере овог типа.
12
Наредбом циклуса одређена група наредби понавља се више пута. Узимајући у обзир син-
таксу програмског језика који се користи за реализацију програма, приказати ученицима
различите наредбе за организацију циклуса: бројачки циклус, циклус са условом за понав-
љање на почетку и циклус са условом за понављање на крају. Ученици би требало да стекну
осећај о томе у којим ситуацијама је потребно употребити коју наредбу (када је потребан
бројачки циклус, а када циклус треба да се заустави након испуњења одређеног услова).
Поред многобројних задатака са бројевима (приказати све парне бројеве мање од унетог
броја, приказати све просте бројеве из задатог интервала, издвојити највећу цифру која се
појављује у запису природног броја, израчунати факторијел унетог природног броја и сл.),
овде је могуће приказати и разне примере са графиком уколико су се ученици већ упознали
са основама рада са графиком. На пример, нацртати зид чије димензије корисник прецизи-
ра тако што у једном темену дијагонале правоугаоне површи притисне, а у другом отпусти
тастер миша, након чега се та правоугаона површ испуни циглама (двоструким циклусом
се нацртају уоквирени црвено-браон правоугаоници). Још један пример би могла да буде
апликација у којој се по форми исцрта велики број пахуљица различитих величина на раз-
личитим позицијама.
IX Методе (6 + 4)
• Решавање проблема помоћу метода
• Пренос параметра
13
X Низови и датотеке (6 + 4)
14
2. ПРЕДЛОЗИ ЗА ИЗРАДУ ГОДИШЊЕГ И
ОПЕРАТИВНОГ ПЛАНА
Планирање је један од веома значајних услова ефикасности сваке делатности. Оно пред-
ставља битан услов рада у настави јер помаже наставницима у процени како, колико и на
који начин је могуће остварити одабране циљеве и задатке у настави и васпитању.
Одлуке које су наставници донели у оквиру плана имају велики утицај на њихово пона-
шање у одељењу, али и на карактер, природу и исходе наставе и васпитање ученика. Пла-
нирањем наставник обезбеђује равномерну обраду градива током целе школске године и
систематичност у раду. Оно служи и за благовремено припремање наставних средстава чија
примена и употреба могу утицати на ефикасност и квалитет наставе, разумевање и усвајање
појединих наставних садржаја.
15
Прецизним планирањем извођења свих наставних садржаја подржава се принцип рацио-
нализације. Иако ће сваки час бити именован у односу на централну тему која се на њему
реализује, правилним уклапањем наставних јединица у месечне целине, а потом и годишњу
целину, отвориће се простор за повезивање градива из подобласти предмета Рачунарство и
информатика.
Рационално организовање наставних садржаја, адекватно предвиђање и реално плани-
рање наставног градива, које је могуће савладати у одређеном времену и обиму, пружа на-
ставнику могућност да искаже своју аутономност и да „ослободи” поједине часове за оне
ученичке потребе које се учине приоритетним у одређеном периоду школске године. Да
ли ће то бити часови утврђивања, припреме за различита такмичења, информисање о нов-
инама из области рачунарства, посета некој манифестацији (нпр. Сајам науке и технике),
популарном предавању или локалној фирми која се бави програмирањем и сл., зависи и од
састава ученика у одељењу, од њихове заинтересованости за предмет Рачунарство и инфор-
матика, амбиција, склоности, спремности на поступан и континуиран рад који, на крају,
ипак мора донети позитивне резултате.
Како је укупан фонд часова за Рачунарство и информатику у трећем разреду предвиђено
реализовати кроз 37 часова са целим одељењем и кроз 30 часова вежби, са поделом одељења
на две групе, поред горе поменутих смерница за израду плана, потребно је још узети у обзир
продуктивност ученика у појединим месецима (октобар и новембар у I полугодишту и март
и април у II полугодишту су знатно продуктивнији од осталих месеци), а затим, у догово-
ру са директором школе, направити детаљан план о терминима за извођење часова вежби.
Наставним планом и програмом предвиђено је реализовати 31 + 6 часова за контролу знања
са целим одељењем и 26 + 4 часа за контролу знања са обе групе. Часове контроле знања на
вежбама треба реализовати као практичну проверу знања, односно као самосталну израду
задатака на рачунару. Пошто је градиво трећег разреда обимно и за ученике прилично за-
хтевно, неки часови, иако класификовани као часови обраде или утврђивања знања, углав-
ном су комбиновани часови, па се могу реализовати на часовима вежбања, са једном групом.
16
2.1. ПРИМЕР ГОДИШЊЕГ ПЛАНИРАЊА НАСТАВЕ РАЧУНАРСТВА И
ИНФОРМАТИКЕ У ТРЕЋЕМ РАЗРЕДУ ГИМНАЗИЈЕ
Септембар
• Решавање проблема применом рачунара
• Објектно-оријентисано програмирање
• Типови података
• Увод у развојно окружење програмског језика
Октобар
• Изрази и наредбе
• Креирање апликација
Новембар
• Наредбе гранања
Децембар
• Наредбе гранања
• Наредбе за организацију циклуса
Јануар
• Наредбе за организацију циклуса
Фебруар
• Наредбе за организацију циклуса
Март
• Методе
Април
• Методе
• Низови и датотеке
Мај
• Низови и датотеке
Јун
• Низови и датотеке
17
Годишњи план рада2
Школска 20__/__.
Циљеви учења:
1. Стицање основних знања и вештина из програмирања.
2. Развој алгоритамске културе.
3. Развој логичког мишљења, прецизности, систематичности, креативности и ефектив-
ности.
Часови за преношење
нових знања (обрада)
(понављања стечених
Часови развијања и
Часови за контролу
систематизације
наставну област
Време рада
знања и умења
и умешности
Укупно
Часови
знања)
знања
I полугодиште 1 14 3 15 5 38
II полугодиште 10 4 1 11 3 29
Укупно 1 24 7 1 263 8 67
2
Наставни план и програм предмета објављен у „Службеном гласнику РС – Просветном гласнику” број 5/90
и „Просветном гласнику” број 7/2011.
3
За часове вежбања, за које се одељење дели на две групе, Наставним планом и програмом предвиђена су још
4 часа намењена контроли знања, па се у класификацији налазе у колони за контролу знања. За контролу
знања је Наставним планом и програмом предвиђено укупно 10 часова, али су због обимности градива 2 часа
замењена часовима предвиђеним за обраду и утврђивање знања.
18
Уџбеник и додатна литература:
1. Ф. Марић, Информатика 3, уџбеник за трећи разред гимназије, Издавачка кућа „Кlett”,
Београд, 2016.
2. М. Чабаркапа, Рачунарство и информатика за 3. разред гимназије, Круг, Београд, 2014.
3. М. Чабаркапа, Рачунарство и информатика – збирка задатака за IV разред гимназије,
Завод за уџбенике, Београд, 2006.
4. М. Чабаркапа, Рачунарство и информатика за 3. разред гимназије (уџбеник са збирком
решених задатака у Pascal–у), Круг, Београд, 2004.
усавршавања способности и
Часови систематизације
Часови увођења у нову
Часови за преношење
нових знања (обрада)
Часови развијањa и
Месец
НАСТАВНА ТЕМА
наставну област
умешности
Укупно
умења
знања
1. Решавање проблема 1 1
применом рачунара
2. Објектно-оријентисано 1 1
Септембар
програмирање
8
3. Типови података 2
4. Увод у развојно 2
окружење програмског
језика
Октобар
5. Изрази и наредбе 1 1 2 1
10
6. Креирање апликација 4 1
Новембар
7. Наредбе гранања 5 1 2 1 9
19
Јун Мај Април Март Фебруар Јануар Децембар Месец
20
9. Методе
9. Методе
8. Наредбе за
8. Наредбе за
8. Наредбе за
7. Наредбе гранања
НАСТАВНА ТЕМА
Часови за преношење
1
3
2
4
1
3
нових знања (обрада)
1
1
1
1
1
(понављања стечених знања)
Часови систематизације
1
знања
Часови развијањa и
4
4
3
2
2
усавршавања способности и
умешности
1
1
1
1
умења
3
7
4
9
5
3
8
Укупно
Типологија наставних часова
Наставни часови увођења у нову област (уводни часови) служе упознавању ученика с но-
вим наставним предметом, његовим циљевима и задацима, структуром и садржајем, као и
припремању ученика за усвајање садржаја већих целина, подручја, тема.
21
2.2. МЕСЕЧНИ РАСПОРЕД НАСТАВНОГ ГРАДИВА ЗА
ТРЕЋИ РАЗРЕД ГИМНАЗИЈЕ
Домаћи задатак
Описати поступак прављења палачинки.
22
Дефинише почетак
Počеtаk или P алгоритма.
Дефинише улазне
величине алгоритма.
Блок израчунавања.
Гранање у зависности од
da da испуњености услова.
или
ne ne
Позив потпрограма.
Дефинише излазне
величине алгоритма.
Решење a, b
23
2. Написати алгоритам којим се температура изражена у Целзијусовим степенима прево-
ди у Фаренхајтове, Ремирове и Келвинове степене.
P
Решење
C
улазни подаци → C – температура у Целзијусима
излазни податак → R – температура у Реомирима (R = 4/5C),
R=4/5C
K – температура у Келвинима (K = C + 273),
F – температура у Фаренхајтима (F = 1,8C + 32)
K = C + 273
F = 1,8C + 32
R, K, F
3. Написати алгоритам за израчунавање растојања две тачке у равни ако су задате својим
координатама.
P
Решење
x1,y1,x2,y2
улазни подаци → x1, y1 – координате прве тачке;
x2, y2 – координате друге тачке
излазни податак → d – растојање између две тачке у равни d = √ (x1 – x2)2 + (y1 – y2)2
Домаћи задатак
1. Написати алгоритам за израчунавање површине троугла
P
када су познате дужине страница троугла.
Решење a,b,c
P = √s(s – a)(s – b) (s – c)
24
Површину троугла израчунаћемо применом Хероновог обрасца, за шта нам је потребна и
једна помоћна променљива s, која ће представљати полуобим троугла. У овом задатку неће-
мо испитивати да ли се може конструисати троугао (претпоставићемо да може).
a+b+c
s=
2
P = √s(s – a)(s – b) (s – c)
Решење
K
Тражене износе добићемо из следећих релација:
n ∙ ke
n ∙ ke = d ∙ kd ⇒ d = ;
kd
n ∙ ke
n ∙ ke = p ∙ kp ⇒ p = ;
kp
n ∙ ke
n ∙ ke = f ∙ kf ⇒ d = .
kf
25
II НАСТАВНА ТЕМА (СЕПТЕМБАР)
Објаснити појам и карактеристике објекта (стање и акције). Потом објаснити појам класе
у објектно-оријентисаном програмирању.
Основни појмови на којима се заснива објектно-оријентисано програмирање су:
• енкапсулација;
• наслеђивање;
• полиморфизам.
Програми засновани на прозорима називају се форме.
Објаснити програме руковођене догађајима.
Задатак
Креирати пројекат под називом PrviProjekat у фолдеру D:\IIIх\I grupa\Moj
prvi projekat. Фајлу модула (Unit) доделити име uGlavna. Форму обојити у жуто. На-
слов на форми је Moj prvi program. Позиција форме је у координатном почетку. Ширина
форме је 300, а висина 350. На насловној линији форме приказана су два дугмета: Close и
Help. Име форме је frmGlavna.
Под појмом подаци подразумевају се константе и променљиве које припадају неком типу
података, а типом података дефинише се начин представљања података у бинарном облику,
број битова за запис податка, скуп вредности које променљива или константа може имати и
скуп операција које се над податком одређеног типа могу извршити.
Целобројни тип података може бити означени и неозначени. Операције над целобројним
типом података могу бити:
• аритметичке (сабирање, одузимање, множење, целобројно дељење и остатак при цело-
бројном дељењу;
• релацијске (=, <, <=, >, >=, < >).
Функције над целобројним типом података су: sqr, abs, pred, succ, odd, random.
26
Објаснити реални тип података. Операције над реалним типом података могу бити:
• аритметичке (сабирање, одузимање, множење и дељење);
• релацијске (=, <, <=, >, >=, < >).
Функције над реалним типом података су: abs, sqr, sqrt, power, ln, log10, exp, pi,
sin, cos, tan, arcsin, arccos, arctan, random, round, trunc, frac, floor, ceil.
Домаћи задатак
1. Израчунати вредности наведенихих функција.
a) sqrt(36) б) round(21.5) в) round(‒14.8) г) trunc(‒101.9)
д) trunc(27.5) ђ) sqr(9) e) ceil(‒108.7) ж) frac(134.987)
з) abs(‒23) и) succ(‒2) ј) pred(‒13) к) power(2,5)
Објаснити логички тип података. Операције над логичким типом података могу бити:
• логичке (негација, конјукција, дисјункција);
• релацијске (true > false).
Објаснити знаковни тип података. Функције над овим типом података су: chr, ord,
pred, succ.
Објаснити ниске или стрингове. Функције и процедуре за рад са стринговима су: str,
val, format.
За конверзије података користе се: StrToInt, StrToFloat, IntToStr, FloatToStr.
Разговарати о декларацији и дефиницији променљиве. Показати наредбу доделе.
27
IV НАСТАВНА ТЕМА (СЕПТЕМБАР)
Задатак
Отворити нови пројекат у Lazarus-у, а затим сачувати модул под именом D:\IIIx\
komponente\uGlavni.pas, a пројекат под именом komponente.lpi у фолдеру D:\
IIIx\komponente.
Креирати форму тако да изгледа као на слици 2, користећи дате компоненте.
Компоненте преименовати по мађарској нотацији и променити им својства као на слици.
На насловној линији форме треба да буде видљиво само дугме Close.
Edit контроли доделити поруку са саветом: "Klikni dva puta".
Написати процедуру којом се при креирању форме боја форме мења у светло пла-
ву, боја свих слова на форми у црвену; величина слова контроле Label је 13; стил слова
ове компоненте је Underline. Натпис на форми се при креирању форме мења у "Mod
izvrsavanja", а садржај Edit контроле мења се у "Ovde se unosi tekst". Позиција
форме је у координатном почетку. Ширина форме је 290, а висина 270.
Написати процедуру којом се двокликом на контролу Edit садржај ове контроле мења у
"Bravo, napravili ste DblClick!", a боја форме се мења у жуту.
Написати процедуру којом се при померању миша над дугметом Klikni me форма по-
мера за 10 тачака надоле и 10 тачака удесно.
28
Решење
29
V НАСТАВНА ТЕМА (ОКТОБАР)
Задаци
1. Написати изразе у Pascal-у који су тачни ако су испуњени следећи услови и нетачни у
противном:
• обе логичке променљиве p и q имају вредност true;
• 1 < x < 5;
• све три нумеричке вредности а, b и c су позитивне;
• x = min(x, y, z);
• x ≠ max(x, y, z).
На овом часу треба увежбати рад са променљивама целобројног типа израдом задатака
са растављањем броја на цифре, израчунавањем броја новчаница одговарајућих апоена,
угловима, временским периодима и сл.
Задаци
1. Ако је вредност неког артикла у динарима дата целобројном променљивом Cena,
одредити најмању количину новчаница од 500 динара, 100 динара и 1 динара којима се
може платити дати артикал.
30
Решење P
2. Написати алгоритам који датом природном четвороцифреном броју одређује број који
се добија исписом цифара у обрнутом поретку.
Решење
31
P
3. Написати алгоритам којим се избацује цифра десетица
у природном броју Х. X
Решење
L = X div 100
улазни податак → Х – природни број коме се не зна број
цифара J = X mod 10
помоћне променљиве → L – цифре које се налазе лево од цифре
десетица (L = X div 100),
J – цифра јединица (J = X mod 10) Y = L * 10 + J
излазни податак → J – број који се добија када из броја Х изба-
цимо цифру десетица, нпр. 1234 → 124 (цифре лево од цифре Y
десетица померити за једно место надесно: Y = L * 10 + J)
K
4. Дата су два угла изражена у степенима, минутима и секундама (s1, m1, sec1) и (s2, m2,
sec2). Написати алгоритам којим се одређује њихов збир, изражен у степенима, ми-
нутима и секундама.
P
Решење
улазни подаци → s1, m1, sec1 – величина првог угла, s1, m1, sec1, s2, m2, sec2
s2, m2, sec2 – величина другог угла
помоћна променљива → U – збир два угла изражен у U = (s1 + s2)3600 + (m1 +
секундама m2)60 + sec1 + sec2
излазни подаци → s – број степени збира два дата
угла (добија се целобројним дељењем збира углова s = U div 3600
израженог у секундама са бројем секунди у једном
степену, односно са 3 600), m = U mod 3600 div 60
m – број минута збира датих углова (добија се цело-
бројним дељењем остатка при целобројном дељењу
збирног угла са 3 600 [оно што остане од збирног угла sec = U mod 60
када израчунамо број степени] са бројем секунди у
једном минуту, односно са 60), s, m, sec
sec – број секунди збира датих углова (добија се као
остатак од целобројног дељења збирног угла са 60, ко-
K
лико има секунди у једном минуту)
За овај час планирано је увежбавање израде алгоритма и писања израза и наредби за про-
менљиве целобројног и реалног типа. Вежбање се може реализовати израдом предложених
задатака.
32
Задаци
1. Написати алгоритам који са тастатуре учитани износ претвара у новчани формат. На
пример, број 1 265.40 трансформише у облик 1 265 динара и 40 пара.
Решење
P
улазни податак → broj – дати реални број (непознат
број децимала) broj
излазни подаци → din – број динара датог реалног
броја (целобројни део датог реалног броја),
p – број пара датог реалног броја (пошто се не зна број din = trunc(broj)
децимала у реалном броју, а у једном динару има 100
пара, онда ћемо број пара добити тако што најпре од р = round(frac(broj) * 100)
датог реалног броја одредимо децимални део, а потом
добијени број помножимо са 100 [број пара у једном
динару] и добијени призвод заокружимо на најближи din, p
цео број)
K
Одговарајуће наредбе у програмском језику Pascal за
тражене вредности изгледале би овако:
din := trunc(broj),
p := round(frac(broj) * 100).
K
Поступак за решавање
(
S1 = Q ∙ 1 +
p
100).
( ) ( )
2
p p
S2 = S1 ∙ 1 + =Q∙ 1+ .
100 100
33
После три године штедње, банка треба да исплати следећу суму:
( ) ( )( ) ( )
2 3
p p p p
S3 = S2 ∙ 1 + = Q∙ 1+ ∙ 1+ =Q∙ 1+ .
100 100 100 100
Аналогно претходном, после n година штедње износ за исплату ће бити:
( ) ( ) ( ) ( )
n–1 n
p p p p
Sn = Sn–1 ∙ 1 + = Q∙ 1+ ∙ 1+ =Q∙ 1+ ,
100 100 100 100
( )
n
p
S=Q∙ 1+ .
100
У Pascal-у би се то могло записати изразом:
S := Q * power(1 + p/100,n).
3. Прве године рада предузеће је остварило раст од р1%, друге р2% и треће р3%. Одреди-
ти средњи годишњи раст производње (у процентима).
Решење P
( )
p1
S1 = Q ∙ 1 + .
100
Раст производње у другој години је:
( ) ( )( )
p2 p1 p2
S2 = S1 ∙ 1 + =Q∙ 1+ ∙ 1+ ,
100 100 100
док је раст производње у трећој години:
( ) ( )( )( )
p2 p1 p2 p3
S3 = S2 ∙ 1 + =Q∙ 1+ ∙ 1+ ∙ 1+ .
100 100 100 100
34
По аналогији у односу на претходни задатак, средњи годишњи раст за три године, са го-
дишњим процентом раста од pg%, износи:
S=Q∙ 1+
100(
pg 3
.
)
Ако изједначимо изразе S3 и S, онда ћемо имати следеће једнакости:
( )( )( ) ( )
p1 p2 p3 pg 3
Q∙ 1+ ∙ 1+ ∙ 1+ =Q∙ 1+ .
100 100 100 100
Ако основни капитал који је млади бизнисмен позајмио од свог пријатеља означимо са Q,
годишњи проценат увећања капитала са pg, имајући у виду да година има 12 месеци, можемо
написати следећу једнакост:
( ) ( )
12 3
p pg
Q∙ 1+ =Q∙ 1+ ,
100 100
из чега можемо израчунати pg:
(( ) )
12
p
pg = 1+ – 1 ∙ 100.
100
Ако износ довољан за враћање дуга означимо са S, имајући у виду услов задатка да се
позајмљени новац враћа када се капитал повећа толико да преостали новац не буде мањи од
позајмљеног износа, онда можемо написати следећу неједначину:
S > 2 ∙ Q.
35
Износ довољан за враћање дуга за n година и са годишњим процентом раста pg је
( )
n
pg
S=Q∙ 1+ ,
100
па, када то ставимо у претходну неједнакост, добијамо:
( )
n
pg
Q∙ 1+ > 2 ∙ Q.
100
Неједнакост ћемо поделити са Q и уместо pg написати одговарајући израз за pg:
( )
n
pg
1+ > 2,
100
( (( ) )
)
12
p n
1+ –1 ∙ 100
100
1+ > 2,
100
( )
12 ∙ n
p
1+ > 2.
100
(
12 ∙ n ∙ ln 1 +
p
100 ) > ln 2
ln 2
n> .
(
12 ∙ ln 1 +
p
100 )
Пошто је n цео број и због услова задатка први већи од вредности са десне стране неје-
днакости, онда ћемо применити функцију за одређивање целобројног дела и на тако добије-
ну вредност додати 1:
n = trunc
( (
12 ∙ ln 1 +
ln 2
p
100 ) ) + 1,
36
12. Изрази и наредбе (утврђивање знања)
У току овог часа треба утврдити стечена знања током претходног периода и припремити
ученике за контролу знања која је планирана за следећи час. Утврђивањем обухватити
најпре типове података, изразе и наредбе.
Задаци
1. Одредити вредности следећих израза:
а) 39 mod 8 div succ(2) mod 3;
б) ord(false) + sqr(2)*(succ(3) + abs(‒2));
в) 1.2 + 17 mod 6 div 2 + 3;
г) round(sqrt(pred(29) mod 6 mod 5) + 15 / 2) < 11;
д) ‒11 mod 3 – 10 / 3;
ђ) odd(17 mod 6) and not odd(pred(ord(ꞌaꞌ)));
е) true or (sqrt(sqr(3) + sqr(4)) <= 1.5) and (abs(round(‒5.3)) < 5.3).
3. Ако је вредност променљиве dani број дана неког временског пеериода, написати на-
редбе доделе којима се израчунава број сати sat, минута min, секунди sec у датом
периоду.
5. Дат је угао у степенима на две децимале. Написати одељак за опис променљивих којим
се описују све променљиве потребне да би се дати угао изразио у степенима и минути-
ма (без децимала).
37
13. Типови података. Изрази и наредбе (провера знања)
I група
1. На линији испред назива основних конструкција Pascal-a упиши редне бројеве испред
примера који им припадају.
1) 3e – 3 ______ ниска
2) while_ ______ коментар
3) ꞌDa l' ti je ovo poznato?ꞌ ______ име
4) 4.2e – 5.3 ______ број
5) {[Sta je ovo?}]} ______ ништа од наведеног
6) {ꞌkomentar, niska ili...ꞌ}
7) "(***Sta bese ovo?*)ꞌ
8) 22e22
6. Написати алгоритам којим се одређује у колико сати, минута и секунди је слетео авион
који је полетео у H1 сати M1 минута и S1 секунди и у ваздуху провео S2 секунди, ако се
зна да је полетање и слетање било у истом дану и истој временској зони.
II група
1. На линији испред назива основних конструкција Pascal-a упиши редне бројеве испред
примера који им припадају.
1) e5 ____ ниска
2) procedure ____ коментар
3) +127.82E - 1.7 ____ име
4) 2e2 ____ број
5) "Da l" se secas ovoga?" ____ ништа од наведеног
6) ꞌ{komentar, niska ili...}ꞌ
7) (***Sta bese ovo?*)
8) Moze _li_ovo?
38
2. Написати одељак за опис променљивих потребних за израчунавање укупне цене М ау-
тића за новогодишње пакетиће по цени од С динара.
6. Написати алгоритам којим се замењују места цифри десетица и цифри хиљада у при-
родном броју X.
39
типова података brs:= StrToInt(edRadniSati.Text). Слично је и са остале две про-
менљиве cps и po, осим што се врши конверзија стринга у реалан број. За добијене вред-
ности променљивих bruto и neto које су типа real, а треба их уписати у Edit контроле
(у њихова својства Text) које чувају стрингове, врши се конверзија реалног броја у стринг,
и то edBruto.Text:= FloatToStr(bruto).
Слика 3. Изглед форме при покретању Слика 4. Изглед форме са задатим и вредностима
aпликације добијеним кликом на дугме Racunaj
За испис резултата може се одабрати и нека друга контрола, нпр. Label, па ћемо у том
случају употребити другачији програмски код:
lbRezultat.Caption := ꞌBruto dohodak iznosi ꞌ+ FloatToStr(bruto)+
ꞌdin, a neto dohodak iznosi ꞌ+ FloatToStr(neto)+ꞌdinꞌ,
који ће исписати у једном реду одговарајућу поруку, али без форматирања реалних бројева.
Овом проблематиком ћемо се позабавити у следећем примеру.
Подсетити ученике да се у оквиру ове апликације могу применити и процедуре обрађене
на осмом часу, за догађаје OnCreate, OnDblClick и OnMouseMove.
40
15. Креирање апликације – путовање до мора и назад (вежбање)
41
исписује вредност променљиве пише знак % као ознака да ту долази вредност променљиве,
потом укупна ширина излазног поља (за произвољну ширину се користи 0) и број децимала
(0.2), из чега следи ознака типа променљиве (f – реалан број, d – цео број, n – стринг). Други
аргумент је променљива (или листа променљивих) која се уписује између угластих заграда,
а чија вредност долази на место за променљиву означено у првом аргументу. Како резултат
треба приказати у Label контроли, то ће овај програмски ред имати следећи облик:
У такси су истовремено ушла три путника. Када је изашао први путник, таксиметар је по-
казивао С1 динара, када је изашао други, показивао је С2 динара, а по окончању путовања
показивао је С3 динара. Креирати апликацију којом се израчунава колико треба да плати сва-
ки од путника да би се покрили трошкови путовања, ако сваки плаћа сразмерно, тј. када први
изађе, треба да плати само трећину трошкова од С1 динара за први део пута и тако редом.
На слици 7 приказан је прозор изледа апликације при њеном креирању, а на слици 8 су у
одговарајуће Edit контроле edC1, edC2 и edC3 уписани одређени новчани износи. Резул-
тат се исписује у посебном прозору, као на слици 9.
42
procedure TForm1.btRacunajClick (Sender: TObject);
var C1, C2, C3, P1, P2, P3 : real;
begin
C1:= StrToFloat (edC1.Text);
C2:= StrToFloat (edC2.Text);
C3:= StrToFloat (edC3.Text);
P1:= C1/3;
P2:= C1/3 + (C2 – C1)/2;
P3:= C1/3 + (C2 – C1)/2 + C3 – C2;
ShowMessage(Format(ꞌPrvi putnik placa %0.2f din, drugi placa %0.2f din,a
treci %0.2f din.ꞌ, [P1,P2,P3]));
end;
Да би се резултат приказао у посебном прозору (слика 9), коришћена је процедура
ShowMessagе, унутар које је примењена функција Format, како би се резултат исписао
на две децимале, што је стандардни облик за исписивање новчаног износа.
Пошто се таксиметар не ресетује сваки пут када изађе неки од путника, да би сваки
путник платио сразмерно онолико колико се возио, то ће први путник платити трећину
износа С1, други плаћа такође трећину износа С1 (док су се возила сва три путника) увећану
за половину разлике износа С2 и С1 (колико су се заједно возили други и трећи путник), а
трећи плаћа трећину првог износа С1 увећану за половину износа С2 – С1 и износ када се
возио сам у таксију С3 – С2.
Слика 10. Изглед форме у моду дизајнирања Слика 11. Изглед форме у моду извршавања са
задатим вредностима и резултатима обраде
43
2. Написати процедуру којом се кликом на дугме Racunaj одређује време приземљења
авиона који је летео х сати, y минута, z секунди и у лету провео q секунди. Променљива-
ма a, b, c означени су сат, минут и секунд приземљења авиона, док је променљивом s
означено време приземљења изражено у секундама.
procedure TForm1.btRacunajClick (Sender: TObject);
var x, y, z, q, a, b, c,s : real;
begin
x := StrToInt (edSati.Text);
y := StrToInt (edMin.Text);
z := StrToInt (edSec.Text);
q := StrToInt (edTrajanje.Text);
s := x * 3600 + y * 60 + z + q;
a := s div 3600 mod 24;
b := s mod 3600 div 60;
c := s mod 60;
lbRezultat.Caption : = Format(ꞌPrizemljenje: %0d :%0d:%0dꞌ, [a, b, c]);
end;
3. Написати процедуру којом се при креирању апликације брише садржај свих Edit кон-
трола, боја форме мења у зелену, боја свих слова на форми у љубичасту, величина слова
контроле Label за испис резултата на 12pt, а стил тих слова у подвучена слова. Пози-
ција форме је у координатном почетку, њена ширина је 300, а висина 600. Означити
форму и из картице Events одабрати догађај OnCreate.
44
Означити форму и из картице Events одабрати догађај OnClose.
I група
ЗАДАЦИ ПОЕНИ
1. Отворити нови пројекат у Lazarus-у и сачувати га у фолдеру Desktop\ 10
Kontrolni\Ime i Prezime под именом Ribe.
2. Креирати форму као на слици а). 10
а) б)
45
5. Написати процедуру која ће обезбедити да се при креирању апликације 20
избришу садржаји Edit контрола, боја форме промени у жуту, боја
свих слова на форми у зелену, стил слова у компоненти Label којом се
исписује резултат је Underline, а величина слова у тој компоненти је
12. Висина форме је 250, а ширина 370. Позиција форме је 0 у односу на
леву и 400 у односу на горњу ивицу екрана.
6. Број риба у неком језеру је S. Испрограмирати дугме Racunaj тако 30
да се кликом на то дугме одређује након колико година ће број риба
постати мањи од R ако се годишње број риба смањује за р%. Обезбедити
исписивање резултата у одговарајућој Label компоненти као што је
дато на слици б) у задатку 2.
7. Испрограмирати дугме Odustani тако да се при померању миша поред 9
тог дугмета компонента Form помери ка десној ивици екрана за 10.
8. Испрограмирати дугме Close на линији наслова тако да омогући 9
исписивање поруке: Ne zaboravi da me sacuvas!
II група
ЗАДАЦИ ПОЕНИ
1. Отворити нови пројекат у Lazarus-у и сачувати га у фолдеру 10
Desktop\ Kontrolni\Ime i Prezime под именом Banka.
2. Креирати форму као на слици а). 10
а) б)
46
5. Написати процедуру која ће обезбедити да се при креирању апликације 20
избрише садржај Edit контроле, боја форме промени у жуту, боја
свих слова на форми у плаву, стил слова у компоненти Label којом се
исписује резултат је Underline, а величина слова у тој компоненти је 12.
Ширина форме је 330, а висина 230. Позиција форме је на координатном
почетку.
6. Испрограмирати дугме Racunaj тако да израчунава за колико година 30
улог у банци од Q динара, уз годишњу камату од р%, нарасте тако да буде
већи од S динара. Обезбедити исписивање резултата на две децимале у
одговарајућој Label компоненти као што је дато на слици б) у задатку 2.
7. Испрограмирати дугме Odustani тако да се при померању миша над 11
тим дугметом компонента Form помери дијагонално ка горњем десном
углу екрана за 20.
8. Испрограмирати дугме Kraj тако да омогући затварање прозора. 7
47
Задаци
1. Шта се исписује извршавањем следећег сегмента програма за целобројне променљиве
а, b и c?
а := 2; b := 8; c := 0; a=2
if a > b then c := a + b; b =8
c =0
c := c + 12;
ShowMessage (Format('c = %0d',[c])); T
a>b
(Решење: c = 12.)
c = c + 12
a := 2; b := 8;
if a > b then ShowMessage (ꞌa je vece od bꞌ) a=2
else ShowMessage (ꞌa je manje ili jednako bꞌ); b =8
a je manje
a je veće
ili jednako
od b
b
a := 10; b := 2;
a = 10
if a < b then
b =2
begin
ShowMessage (ꞌa je manje od bꞌ); T
c := a * b; a< b
T
end
else
a je manje
begin a je manje
ili jednako
ShowMessage (ꞌa je vece ili jednako bꞌ); od b
b
c := a div b;
end;
c = a div b c= a*b
ShowMessage (Format(ꞌc = %Odꞌ, [c]));
48
20. Одређивање максимума и минимума бројева. Уређивање бројева у тражени
поредак (обрада)
Примери
1. Написати алгоритам којим се променљивој max додељује вредност већих између
бројева a и b.
Решење
P
улазни подаци → a, b – задате вредности
излазни податак → max – већи од бројева a и b a, b
Решење
P
49
3. Ако се молекул сумпорне киселине H2SO4 састоји из два атома водоника, једног атома
сумпора и четири атома кисеоника, написати алгоритам којим се одређује максималан
број молекула сумпорне киселине који се може формирати од датих А атома водоника,
В атома сумпора и С атома кисеоника.
P
Решење
A, B, C
улазни подаци → А – расположиви број атома водоника,
В – расположиви број атома сумпора, X = A div 2
С – расположиви број атома кисеоника
помоћне променљиве → Х – највећи број молекула H2SO4 Y= B
који се може направити од А атома водоника, Y – највећи
број молекула H2SO4 који се може направити од В атома Z = C div 4
сумпора,
Z – највећи број молекула H2SO4 који се може направити од
min = X
С атома кисеоника
излазни податак → min – највећи број молекула H2SO4 који T
се може формирати од А, В, С Y < min
T min = Y
Ако се од расположивог броја атома водоника могу форми-
рати нпр. 3 молекула H2SO4, од расположивог броја атома T
Z < min
сумпора нпр. 5 молекула H2SO4 и нпр. 8 молекула H2SO4 од
расположивог броја атома кисеоника, онда је највећи број T min = Z
молекула H2SO4 који се могу формирати 3, односно мини-
мум датих бројева. min
4. Написати алгоритам којим се вредности два дата реална броја премештају тако да важи
поредак А ≤ В.
P
Решење
A, B
улазни подаци → А, В – дати реални бројеви
помоћна променљива → Р – помоћна променљива за разме- A >B
T
ну вредности две променљиве T P =A
излазни подаци → А, В – реални бројеви у траженом поретку
A =B
Променљиве А и В треба да размене своје вредности уколи-
ко нису у поретку А ≤ В, односно ако су у поретку А > В,
применом алгоритма за размену вредности две променљиве, B =P
обрађеног на једном од претходних часова (девети час).
A, B
50
5. Написати алгоритам којим се вредности три дата реална броја премештају тако да
важи поредак А ≤ В ≤ С.
P
Решење
A, B, C
улазни подаци → А, В, С – дати реални бројеви
T
помоћна променљива → Р – помоћна променљива за размену A >B
вредности две променљиве T P =A
излазни подаци → А, В, С – реални бројеви у траженом A =B
поретку B =P
Домаћи задатак
За све примере са овог часа написати одговарајуће наредбе условног преласка.
Објаснити различите случајеве када се иза резервисаних речи then и else наводе нове
наредбе условног преласка.
Случај 1
T
L1
if L1 then T T
T L2
if L2 then N1 L3 T
T
else N2 N2 N1
else if L3 then N3 N4 N3
else N4;
51
Ако је испуњен услов L1 и ако је испуњен услов L2, онда се извршава наредба N1, а ако
је испуњен услов L1 и ако није испуњен услов L2, онда се извршава наредба N2. Ако није
испуњен услов L1 и ако је испуњен услов L3, онда се извршава наредба N3, а ако није испу-
њен услов L1 и ако није испуњен услов L2, онда се извршава наредба N4.
Случај 2
T
L1
if L1 then T T
L2
if L2 then N1 N3 T
else N2 N2 N1
else N3;
Ако је испуњен услов L1 и ако је испуњен услов L2, онда се извршава наредба N1, а ако
је испуњен услов L1 и ако није испуњен услов L2, онда се извршава наредба N2. Ако није
испуњен услов L1, онда се извршава наредба N3.
Случај 3
T
L1
if L1 then T T
L2
if L2 then N1 T
else N2; N2 N1
Ако је испуњен услов L1 и ако је испуњен услов L2, онда се извршава наредба N1, а ако је
испуњен услов L1 и ако није испуњен услов L2, онда се извршава наредба N2.
Случај 4
T
L1
if L1 then T T
L2
begin T
if L2 then N1; N2 N1
end
else N2;
Ако је испуњен услов L1 и ако је испуњен услов L2, онда се извршава наредба N1, а ако
није испуњен услов L1, онда се извршава наредба N2. Како се else везује за њему најближе
then, то ћемо за овај случај применити граничнике begin – end, који ће обезбедити да се
извршење наредбе N2 везује за услов L1.
На свакој од грана може се наћи више наредби, па их онда треба ограничити гранични-
цима begin – end, што нам обезбеђује да се та група наредби изврши на жељеном месту.
52
Пример
Написати алгоритам којим се израчунавају реална решења квадратне једначине:
ax2 + bx + c = 0 (a ≠ 0).
Решење P
b
Ако је D = 0, онда ћемо имати једно решење квадратне једначине x = – .
2∙a
–b + √
Ако је D > 0, онда квадратна једначина има два реална решења: x1, 2 = , која ћемо
2∙a
–b + √ –b + √
у алгоритму раздвојити и записати као: x1 = и x2 = .
2∙a 2∙a
Ако је D < 0, решења нису у скупу реалних бројева, односно решења су конјуговано-ком-
плексни бројеви.
Задатак ћемо решити применом својства да ако није тачно да је D = 0 и ако није тачно да
је D > 0, онда је испуњен услов да је D < 0, па нема потребе проверавати алгоритам.
Домаћи задатак
За наведени алгоритам написати одговарајуће наредбе гранања.
If D = 0 then
begin
x := -b/(2 * a);
ShowMessage(Format(ꞌx = %0.2fꞌ,[x]));
end
53
else
If D > 0 then
begin
x1 := (-b + sqrt(D)/(2 * a);
x2 := (-b - sqrt(d)/(2 * a);
ShowMessage(Format(ꞌx1 = %0.2f, x2 = %0.2fꞌ,[x1, x2]));
end
else ShowMessage(ꞌResenja su konjugovano-kompleksni brojeviꞌ);
case selektor of
lista_konstanti_1:naredba_1;
lista_konstanti_2:naredba_2;
...
lista_konstanti_n:naredba_n
else alternativna naredba
end
Примери
1. Написати програм који на основу редног броја дана у недељи исписује назив дана
(1 – понедељак, ..., 7 – недеља).
Решење
Ако редни број дана унесемо у некој Edit контроли edDan, онда би процедура у Lazarus-у
за решавање датог задатка имала следећи изглед.
dan := StrToInt(edDan.Text);
case dan of
1:ShowMessage(ꞌponedeljakꞌ);
2:ShowMessage(ꞌutorakꞌ);
3:ShowMessage(ꞌsredaꞌ);
4:ShowMessage(ꞌčetvrtakꞌ);
5:ShowMessage(ꞌpetakꞌ);
6:ShowMessage(ꞌsubotaꞌ);
7:ShowMessage(ꞌnedeljaꞌ);
end;
end;
54
2. Написати алгоритам и програм којим се за задати датум d, m, g одређује следећи датум.
Решење
При решавању овог задатка најпре треба одредити колико има дана у сваком месецу, при
чему, у зависности од унете године, програм треба да утврди да ли је година преступна и на
основу тога да одреди број дана у фебруару. Свака четврта година је преступна осим столет-
них година. Изузетак су столетне године које су дељиве са 400, па ћемо број дана у фебруару
одредити на основу услова (g mod 4 = 0)and(g mod 100 ≠ 0)or(g mod 400 = 0).
У даљем решавању задатка поћи ћемо од „критичног” дана у датуму, а то је последњи дан
у месецу, па ћемо задатак решити на следећи начин.
d, m, g
m
1, 3, 5, 3, 7, 8, 10, 12 4, 6, 9, 11 2
bd = 31 bd = 31 (g mod 4 = 0)˄
(g mod 100 ≠ 0)˅
(g mod 400 = 0)
bd = 31 bd = 31
d = bd
d=d+1 m = 12
d=1 d=1
m = m +1 m = 1
g = g+ 1
d , m, g
55
Домаћи задатак
Написати алгоритам којим се на основу унетог датума одређује њему претходни датум.
Упутство за решавање
„Критични” датум за овај задатак је први дан у месецу, и тада треба испитати број дана у
месецу који је за 1 мањи од унетог. Уколико је унети дан 1 и унети месец 1, онда је претходни
датум d := 31, m := 12, g := g - 1.
Задаци
1. Написати алгоритам који за дати троцифрен природан број х проверава да ли је Арм-
стронгов. Број је Армстронгов ако је једнак збиру кубова својих цифара. На пример:
Решење
P
улазни податак → x – троцифрени број
помоћна променљива → s – цифра стотина, x
d – цифра десетица,
ј – цифра јединица s = x div 100
излазни подаци → порука о томе да ли је унети
бој Армстронгов или није
d = x mod 100 div 10
j = x mod 10
x = s3 + d 3 + j 3
x je
x nije
Amstrongov
Amstrongov
broj
broj
56
P
Решење
x,y,z
улазни подаци →
x, y, z – дужине одсечака (x + y > z)˄ T
излазни подаци → одговарајућа (x + z > y)˄
(x + z > y)
порука о врсти троугла, ако се T
може конструисати (x = y)˄(x = z)
Ne moze se
konstruisati trougao
T
Jednakostranicni
(x = y)˅(x = z) T
˅(y = z)
T
Jednakokraki
Raznostranicni
3. Написати алгоритам којим се за учитани угао (дат у степенима) који може бити већи
од 360 одређује квадрант коме припада (0–89 степени → I квадрант, 90–189 степени → II
квадрант, 180–269 степени → III квадрант, 270–359 степени → IV квадрант).
Решење
P
улазни податак → U – величина угла
(у степенима) U
излазни податак → K – редни број
квадранта U = U mod 360
57
Резултат ће бити 0 ако је U < 90 (I квадрант), 1 ако је 90 ≤ U < 180 (II квадрант), 2 ако је 180
≤ U < 270 (III квадрант), 3 ако је 270 ≤ U < 360 (IV квадрант).
a := -4; b : = 8; c := 3;
a := a + b * trunc(swrt(succ(b + c) * 4 + 1) / 3) + c;
b := b * a mod 3 + c mod 5 - 2;
c := c div b + 2;
if (a < c)or(b < c)
then if (a = c)or(a <> 0)and(b > x)
then a := 0 + 1
else
begin
a := a + 2;
b := b + 2;
end
else a := a + 3
b := b + 3;
c := c + 3;
Решење
T
(a < c) ˅ (b > c)
(a = c) ˅ (a = 0) T
T
˄(b > c)
a=a+3 T a=a+1
a=a+2
b=b+2
b=b+3
c=c+3
58
24. Наредбе гранања (провера знања)
I група
a := -6; b := 7; c := 4;
a := a + b * trunc(sqrt(succ(b + c) * 4 + 1) / 3) + c;
b := b * a mod 3 + c mod 5 - 2;
c := c div b + 2;
if (a < c)or(b < c)
then if (a = c)or(a <> 0)and(b > c)
then a := a + 1
else
begin
a := a + 2;
b := b + 2;
end
else a := a + 3;
b := b + 3;
c := c + 3;
59
II група
3. Дата су два броја а и b и индикатор поретка који узима вредност 1 ако бројеве треба
сложити у неопадајући поредак a ≤ b, односно вредност 2 ако их треба сложити у не-
растући поредак a ≥ b. За све остале вредности исписати поруку о грешци. За реша-
вање користити наредбу case.
a := -5; b := 7; c := 2;
a := a + b * round(2 * sqrt(pred(b + c) * 3 + 1) / 3) + c;
b := b * a mod 3 + c mod 5 – 3;
c := c div b + 2;
if (a > c) and(b < c)
then if (a > b)or(a <> 0)and(b > c)
then
begin
a := a + 1;
b := b + 1;
end
else
begin
a := a + 2;
b := b + 2;
end
else a := a + 3;
b := b + 3;
c := c + 3;
60
26. Отпорници – израда апликације. Провера коректности улазних података (вежбање)
Креирати апликацију која израчунава укупни отпор два отпорника на основу задатих
вредности у Edit контролама и начин везивања који може бити редни и паралелни. Прове-
рити коректност улазних података при напуштању контроле Edit.
Решење
Слика 12. Изглед форме при Слика 13. Излед форме са решењем за задате
покретању апликације вредности и одабрани начин везивања
Рачунање укупног отпора врши се кликом на дугме btRacunaj, па због тога за дату
контролу из картице Events бирамо догађај OnClick и у добијеној процедури пишемо
следећи код.
Укупан отпор за редну везу рачуна се као збир датих вредности отпора, по формули
R = R1 + R2. За паралелну везу реципрочна вредност укупног отпора једнака је збиру реци-
прочних вредности датих отпора, па се укупан отпор за паралелну везу рачуна по формули
R1 ∙ R2
R= .
R1 + R2
61
Да бисмо обезбедили да у Edit контролама увек буду бројеви, потребно је проверити
коректност улазних података при напуштању Edit контроле за унос отпора: edR1 и edR2.
Процедуре добијамо означавањем компоненте edR1 (edR2) и избором догађаја OnExit из
картице Events. У добијеним процедурама уписујемо одређене кодове.
end; end;
Процедуром val врши се превођење стринга s у број n, који може бити реалан или цео у
зависности од захтева задатка. При превођењу се рачуна грешка er (увек је целобројног типа),
која ће имати вредност 0, ако је стринг успешно преведен у број, и вредност различиту од 0,
ако се стринг не може превести у број (ако је у Edit контроли уписано нешто што није број).
Креирати апликацију која на основу висине и тежине особе одређује идеалну тежину за
особе женског и мушког пола и на основу датих података даје савет:
‒ Vi imate idealnu tezinu;
‒ Treba da smrsate x kg;
‒ Treba da se ugojite x kg.
За избор пола користити компоненте RadioButton или RadioGroup. Идеална тежи-
на за мушкарце је Visina – 100, а за жене Visina – 110.
Проверити коректност унетих података за висину и тежину.
62
Решење
Слика 14. Изглед форме при Слика 15. Задате вредности и одабрана ставка
покретању апликације из контроле RadioGroup
У зависности од одабраног пола и унете висине, рачуна се идеална тежина особе, која се
потом пореди са стварном тежином особе и, у зависности од њиховог међусобног односа,
исписује се одговарајућа порука. Задатак се може решити и применом угњеждене наредбе
if.
63
Провера коректности улазних података врши се избором догађаја OnExit за контроле
edVisina и edTezina писањем наведених кодова.
Решење
Слика 17. Изглед форме при Слика 18. Изглед форме после задавања вредности
покретању апликације и избора за израчунавање
64
Уколико се троугао може конструисати, површина троугла се рачуна применом Хероно-
вог обрасца:
P = √s ∙ (s – a) ∙ (s – b) ∙ (s – c).
У процедури коју добијамо избором догађаја OnClick за дугме btRacunaj уписујемо
код наведен у наставку текста.
Ако је одабран CheckBox за израчунавање обима троугла, онда ћемо најпре испитати
да ли се од задатих одсечака може конструисати троугао, па ако може, израчунати обим и
исписати га, а ако не може, онда ћемо у посебном прозору исписати одговарајућу поруку о
томе. Уколико није одабран CheckBox за израчунавање обима троугла, онда ћемо испра-
знити садржај одговарајуће Edit контроле. Сличан поступак се примењује и за израчуна-
вање површине троугла.
Креирати апликацију којом се за задати датум одређује претходни и наредни датум. Да-
тум уписати у три Edit контроле (за дан, месец и годину), а добијени датум уписати у једној
Edit контроли. Израчунавање новог датума врши се у зависности од одабира из CheckBox
контроле, кликом на одговарајуће дугме за рачунање.
65
Решење
Слика 19. Изглед форме при креирању Слика 20. Изглед форме са задатим
апликације вредностима и резултатима рада апликације
66
begin
if cbPrethodni.Checked then
begin
d1 := d;
m1 := m;
g1 := Sg;
if d1 = 1 then
if m1 = 1 then
begin
d1 := 31;
m1 := 12;
g1 := g – 1;
end
else
begin
m1 := , 1 – 1;
case m1 of
1, 3, 5, 7, 8, 10, 12 : d1 := 31;
4, 6, 9, 11 : d1 := 30;
2 : if (g1 mod 4 = 0) and (g1 mod 100 <> 0) or (g1 mod 400 = 0)
then d1 := 29
else d1 := 28;
end
end
edPrethodni.Text := Format (ꞌ%0d.%0d.%0d.ꞌ, [d1, m1, g1]);
end
else edPeethodni.Text := ꞌꞌ;
if cbNaredni.Checked then
begin
d2 := d;
m2 := m;
g2 := g;
if d2 = bd then
if m2 = 12 then
begin
d2 := 1;
m2 := 1;
g2 := g2 + 1;
end
else
begin
d2 := 1;
m2 := m2 + 1;
end
else d2 := d2 + 1;
edNaredni.Text := Format(ꞌ%0d.%0d.%0d.ꞌ, [d2, m2, g2]);
end
else edNaredni.Text := ꞌꞌ;
end;
end;
67
30. Разгранате програмске структуре (провера знања)
I група
ЗАДАЦИ ПОЕНИ
1 Отворити нови пројекат у Lazarus-у и сачувати га у фолдеру Desktop\ 5
Kontrolni\Ime i Prezime под именом Brojevi.
2 Креирати форму као на слици а). 14
а) б)
68
II група
ЗАДАЦИ ПОЕНИ
1 Отворити нови пројекат у Lazarus-у и сачувати га у фолдеру Desktop\ 5
Kontrolni\Ime i Prezime под именом Brojevi.
2 Креирати форму као на слици а). 14
а) б)
69
VIII НАСТАВНА ТЕМА (ДЕЦЕМБАР, ЈАНУАР, ФЕБРУАР)
Примери
1. Коју ће вредност добити променљива S извршавањем следећег дела програма?
n := 5;
S := 0;
for i := 1 to n do
S := S + i;
S=0
i = 1, n
S=S+i
70
2. Које ће вредности добити вредности променљиве S и P извршавањем следећег дела
програма?
S := 0;
P := 1;
n := 7;
S := S + 2;
for i := 4 to n do
begin
P := P * i;
S := S + P + sqr(i);
end;
S := S + i;
На основу датог сегмента програма може се нацртати алгоритам, док је поступак извр-
шавања задатка дат у табели 2.
S=0
P=1
n=7
S=S+2
i = 4, n
P:= P * i
S = S + P + i2
S=S+i
71
P := P * i; 2 4 7 4
1
S := S + P + sqr(i); 22 4 7 4
P := P * i; 22 20 7 5
2
S := S + P + sqr(i); 67 20 7 5
P := P * i; 67 120 7 6
3
S := S + P + sqr(i); 223 120 7 6
P := P * i; 223 840 7 7
4
S := S + P + sqr(i); 1112 840 7 7
После циклуса S := S + i; 1120 840 7 8
S := 0;
n := 3;
for i := 1 to n do
for j := i to n do
S := S + j;
S:= 0
n:= 3
i = 1, n
j = i, n
S=S+j
Као што се види из алгоритма, дати сегмент програма има два циклуса, спољашњи и
унутрашњи. У првом извршавању спољашњег циклуса i, унутрашњи циклус j се извршава
три пута; у другом извршавању спољашњег циклуса i, унутрашњи циклус j се извршава
два пута; у трећем извршавању циклуса i, унутрашњи циклус j се извршава једном. Цело-
купан поступак и међурезултати приказани су табели 3.
72
Табела 3. Поступак извршавања програма са задатим вредностима
Понављање Понављање
спољног унутрашњег Наредбе S n i j
циклуса циклуса
Пре циклуса Пре циклуса S := 0; 0 ? ? ?
Пре циклуса Пре циклуса n := 3; 0 3 ? ?
1 S := S + j; 1 3 1 1
1 2 S := S + j; 3 3 1 2
3 S := S + j; 6 3 1 3
1 S := S + j; 8 3 2 2
2
2 S := S + j; 11 3 2 3
3 1 S := S + j; 14 3 3 3
Задатак за вежбање
1. Коју ће вредност добити променљива k извршавањем следећих делова програма?
а) k := 1; б) k := 1; p := 1; r := 3;
p := 2; n := 1;
r := 1; for j := 2 to 4 do
n := 1; begin
for j := 0 to 2 do k := 2 * (n + 1) + sqr(j – 3)+ 3 * k;
begin k := k – 5;
for i := p downto r do end;
n := n * i + k; for i := r downto p do
k := 2 * k + sqr(j – 1) + n * j; if i < > 2 then
end; begin
k := p mod i + abs(k – 3)+ n;
(Решење: k = 177.) k := k – 10;
end
else
k := n + k div p + 2;
k := k + 20;
(Решење: k = 24.)
32. Бројачки циклуси који у телу циклуса не користе бројачку променљиву (обрада)
Израда задатака коришћењем бројачких циклуса, а који у телу циклуса не користе бројач-
ку променљиву.
73
Задаци
1. Улазне величине су n реалних бројева. Написати алгоритам за учитавање, сумирање и
приказивање њихове суме.
74
3. Написати алгоритам који за n унетих целих бројева израчунава аритметичку средину
свих парних чланова низа.
P
улазни подаци → n – број целих бројева,
n
х – цео број (има их n)
помоћне променљиве → i – бројач, S=0
k=0
S – збир парних бројева,
k – број парних бројева i = 1, n
излазни податак → ars – аритметичка средина парних x
бројева
x mod 2 = 0
Пре почетка циклуса потребно је да унесемо колико S=S+x
целих бројева ћемо користити за рачунање и дефинисати k=k+1
колики је почетни збир парних бројева и колико парних
бројева смо пронашли међу унетим бројевима (S = 0;
k = 0). У сваком пролазу кроз циклус најпре ћемо унет k>0
и цео број, а потом проверити да ли је унети број паран.
ars = S / k
Ако јесте, његову вредност ћемо додати на претходни
збир, а број парних бројева увећати за 1. niste uneli
nijedan paran broj ars
Кад изађемо из петље, проверићемо да ли међу унетим
бројевима има парних, па уколико их има, израчунати K
аритметичку средину, а уколико их нема, исписати
одговарајућу поруку.
4. Написати алгоритам који за n унетих целих бројева одређује који се број пре појављује
– позитиван или негативан.
P
улазни подаци → n – број целих бројева,
n
х – цео број (има их n)
помоћне променљиве → i – бројач, S=0
k=0
okPoz – логичка променљива која идентификује прво
појављивање позитивног броја i = 1, n
излазни податак → порука о томе који се број прво x
појављује – позитиван, негативан или су сви унети
x mod 2 = 0
бројеви 0
S=S+x
Пре циклуса ћемо унети број целих бројева које ћемо ко- k=k+1
ристити за наш задатак и вредности обе логичке вредно-
сти поставити на false, јер полазимо од претпоставке
да међу унетим бројевима нема ни позитивних ни нега- k>0
тивних. У сваком пролазу кроз циклус унећемо цео број,
ars = S / k
испитати да ли је позитиван и да ли су вредности логи-
чких променљивих okPoz и okNeg и даље false. Aко niste uneli
nijedan paran broj ars
јесте, променљива okPoz ће добити вредност true.
Слично ћемо проверити и за негативне бројеве. K
75
После циклуса ћемо, у зависности од вредности логичких променљивих okPoz и okNeg,
исписати одговарајућу поруку.
Домаћи задатак
1. N предавача у Центру за таленте држи предавања по цени часа C. Написати алгоритам
којим се за сваког предавача учитава колико је одржао часова у току месеца и исписује
његова зарада. Одредити и укупан износ за исплату.
3. Написати алгоритам који за n унетих целих бројева одређује број суседних позитивних
бројева.
33. Бројачки циклуси који у телу циклуса користе бројачку променљиву (обрада)
Израда задатака коришћењем бројачких циклуса, а који у телу циклуса користе бројачку
променљиву.
Задаци
1. Написати алгоритам којим се за дато n израчунава факторијел природног броја n:
fakt = n! = 1 ∙ 2 ∙ 3 ∙ … ∙ n.
fakt
76
2. Написати алгоритам којим се за реално х израчунава: S = x + 2x2 + 3x3 + ... + nxn.
77
4. Написати алгоритам којим се одређују и исписују сви савршени бројеви од 2 до m. Број
је савршен ако је једнак суми својих делитеља искључујући њега самог. На пример, 28 је
савршен број јер је: 28 = 1 + 2 + 4 + 7 + 14.
P
улазни податак → m – вредност до које
тражимо савршене бројеве m
помоћне променљиве → n – бројач за
потенцијалне савршене бројеве (узима n = 2, m
вредности од 2 до m),
i – делитељи броја n, S=0
S – збир делитеља
излазни податак → n – савршен број i = 1, n div 2
Да бисмо могли да сабирамо делитеље, неопходно је пре уласка у другу петљу поставити
почетни збир свих делитеља једног броја (S := 0). У унутрашњем циклусу најпре провера-
вамо дељивост броја n бројем i и сабирамо оне делитеље који задовољавају овај услов. Када
изађемо из унутрашње петље, испитујемо да ли је вредност бројача спољне петље n једнака
збиру делитеља тог броја S, па ако јесте, исписујемо број n.
Домаћи задатак
1. Написати алгоритам којим се израчунава збир првих n природних бројева.
2. Написати алгоритам којим се проверава тачност математичке формуле за израчуна-
вање суме: 12 + 32 + 52 + ... + (2n – 1)2 = n ∙ (4n2 – 1) / 3.
1 1 1
3. Написати алгоритам којим се израчунава збир првих n чланова реда: 1 – + – + ...
3 5 7
( )( ) (
4. Написати алгоритам којим се израчунава: p = 1 +
1
2!
1+
1
3! )
... 1 +
1
n!
.
78
34. Бројачки циклуси (вежбање)
Задаци
1. Креирати апликацију која, коришћењем ListBox контроле, креира табелу превођења
степени из скале Целзијуса (С) у степене по скали Фаренхајта (F), за вредности од n до
m°С са кораком 1°. Превођење се врши по формули: F = C ∙ 1,8 + 32.
Слика 21. Изглед форме при покретању Слика 22. Изглед форме након клика на дугме
апликације Konvertuј и уноса интервала за Целзијус
Да би се добио изглед форме са слике 22, потребно је уписати код наведен у наставку
текста.
79
2. Креирати апликацију којом се испитује да ли се може формирати батерија од 220V ред-
ним везивањем батерија од А и В волти. Ако је тражено повезивање могуће, одредити
колико треба узети батерија сваког од датих типова.
Слика 23. Изглед форме при покретању апликације Слика 24. Изглед форме након уноса величине
батерија и клика на дугме Racunaj
Да би се добио изглед форме са слике 24, применити процедуру из текста који следи.
80
35. Бројачки циклуси (вежбање)
81
Процедура за брисање селектоване ставке добија се кликом на дугме Brisi и приказана
је у наставку.
82
begin
if cbBrParnih.Checked then
begin
p := 0;
for i := 1 to n do
begin
a := StrToInt(ListBox1.Items[i]);
if a mod 2 = 0 then p := p + 1;
end;
edBrParnih.text := IntToStr(p);
end
else
edBrParhih.Text := ꞌꞌ;
if cbAsPoz.Checked then
begin
a := StrToInt(ListBox1.Items[i]);
id a > 0 then
begin
s := s + a;
k := k + 1;
end;
end;
if k > 0 then edAsPoz.Text := Format(ꞌ$0.2fꞌ, [s/k])
else ShowMessage (ꞌNema pozitivnih brojevaꞌ);
end
else
edAsPoz.Text := ꞌꞌ;
if cbSusedni.Checked then
begin
a := StrToInt (ListBox1.Items[i]);
k := 0;
for i := 2 to n do
begin
b := StrToInt (ListBox1.Items[i]);
if (a > 0) and (b > 0) then k := k + 1;
a := b;
end;
edSusedni.Text := IntToStr(k);
end
else
edSusedni.Text := ꞌꞌ;
end
else ShowMessage(ꞌNiste uneli brojeve!ꞌ);
end;
83
36. Бројачки циклуси (утврђивање)
Задаци P
1. Написати алгоритам којим се исписују све
могућности за исплату износа од N динара
са укупно К новчаница од 1, 3 и 5 динара. N, K
84
2. Написати алгоритам који за низ од N унетих целих бројева одређује највећи негативни
елемент низа.
Задатак ћемо решити према следећем алгоритму, у коме логичка променљива nadjen
има вредност false све док не пронађемо први негативан број. Када га пронађемо, промен-
љива nadjen мења вредност, а променљивој max додељујемо вредност првог негативног
броја. Уколико у неком новом пролазу кроз циклус пронађемо још неки негативан број,
онда се он пореди са претпостављеним максимумом, и кроз n пролаза добијамо вредност за
највећи негативан број, уколико је такав број унет.
nadjen = false
i = 1, N
T
X<0
T
nadjen = false
T
T
nadjen = true
T
max < X
max = X
T max = X
T
nadjen
T
max
Nema
negativnih
brojeva
85
3. Написати алгоритам којим се израчунава ако се корен приме-
ни N пута.
P
улазни податак → N – број примењивања операције кореновања
помоћна променљива → i – бројач
N
излазни податак → S – тражени корен
S =0
Из изгледа последња два члана израза које треба израчу-
нати уочавамо да увек рачунамо корен из збира броја 3 и
претходног збира. Пошто корен треба применити N пута, i = 1, N
онда за почетну вредност збира узимамо 0.
S = 3+S
I група
3. Написати алгоритам којим се за n унетих целих бројева одређује редни број првог чла-
на који је дељив са 3.
k := 4;
p := 7;
r := 5;
n := 2;
for j := 3 to 5 do
begin
for i := p downto r do
n := trunc(n / i) + k;
86
k := 2 * k div 3 + k mod (-3) + n * j;
n := n + 2;
end;
n := n div 2;
k := k – n;
II група
3. Написати алгоритам који за N унетих целих бројева одређује број суседних парних
бројева.
k := 3;
p := 8;
r := 6
n := 2;
for j := 1 to 3 do
begin
n := n + 3;
for i := p downto r do
n := round(i / n)+k;
k := 2 * k div 3 + sqr( j – 1) + n * j;
end;
n := n + 5;
k := k + n;
Показати како се изводи наредба циклуса са предусловом while – do, а како наредба
циклуса са постусловом repeat – until.
Вежбати на примерима извршавања програма са петљама са предусловом и постусловом.
87
Пример
Коју ће вредност променљива k добити извршавањем следећег дела програма?
k=1
k := 1; r=1
p=2
r := 1; n=1
j=0
p := 2;
n := 1; j<3
j := 0;
while j < 3 do n=n+1
begin
n := n + 1; i:=p ,r
for i := p downto r do n=n*i+k
n := n * i + k;
k := 2 * k + sqr(j – 1) + n * j;
j := j + 1; k=2*k+(j–1)2+n*j
end;
j=j+1
На основу дела програма најпре смо нацртали алгоритам из кога јасно видимо која ће
се наредба извршити у циклусу while, а која у оквиру петље for. Према почетним вред-
ностима и наредбама из програма добијамо резултате као у табели 3, а коначна вредност
променљиве је: k = 241.
88
Задатак за вежбање
Коју ће вредност променљива k добити извршавањем следећих делова програма?
а) k := 1; p := 5; r := 4; б) k := 2, p := 4, r := 2;
n := 0; n := 1;
i := 0; i := 0;
repeat repeat
k := 2 * k + sqr(i – 1) + i; k := k + sqr(i + 1) + 2 * i;
for j := p downto r do for j := p downto r do
if j mod 2 < > 1 if j mod 2 < > 0
then then
n := n + 2 * (i + 1) n := n + 3 *(i + 1)
else else
n := n + 2 * i; n := n + 2 *(i + 1);
i := i + 3 i := i + 2
until i >= 6; until i >= 4;
i := 0; i := 0;
while i < 3 do while i < r do
begin begin
k := 2 * (n + k) + abs(i – 2); k := 2 *(n + k) + sqr(i – 2);
i := i + 2; i := i + 1;
end; end;
Задаци
1. Креирати апликацију којом се за дати природни број N испитује да ли је степен при-
родног броја М.
89
Да бисмо испитали да ли је број N степен броја М, вршићемо узастопно дељење броја N
бројем М све док при дељењу броја N бројем М нема остатка. У зависности од тога са којом
вредношћу променљиве N смо изашли из циклуса, исписујемо поруке типа: Broj N je i
stepen broja M или Broj N nije stepen broja M.
procedure TForm1.btRacunajClick (Sender: TObject);
var N, M, i, K : integrer
begin
N := StrToInt(edN.Text);
M := StrToInt(edM.Text);
K := N;
i := 0;
while N mod M = 0 do
begin
n := n div 3;
i := i + i;
end;
if n = 1 then
lblRezultat.Caption := Format(ꞌBroj %Os je %Od. stepen broja %Odꞌ, [K, i,
M]);
else lblRezultat.Caption := Format (ꞌBroj %Od nije stepen broja %Odꞌ, [K,
M];
edN.SetFocus;
end;
2. Почевши тренирање, спортиста је првог дана претрчао А km. Сваки следећи дан увећа-
вао је своју норму р% од норме претходног дана. Одредити редни број дана у коме је
укупан пређени пут већи од R.
Дизајнирати форму да изгледа као на слици 29.
90
У наставку је дата процедура коју треба укуцати да би се добио резултат приказан на
слици 30.
Задаци
1. Креирати апликацију којом се израчунавају сви степени променљиве х, почев од х: х,
х2, х3, х4, ... све док степен од х не добије вредност већу од вредности granica. Претпо-
ставка је да је х > 1.
Дизајнирати форму као што је приказано на слици 31.
91
Процедура за исписивање степена задатог броја до неке вредности granica реализова-
на је наредбом repeat – until и приказана је у наставку.
2. Креирати апликацију којом се од датог природног броја n формира број са истим ци-
фрама, али у инверзном поретку.
Пошто не знамо колико унети број има цифара, да бисмо добили број са истим цифрама у
инверзном поретку, у сваком проласку кроз циклус од броја n издвајаћемо последњу цифру.
На пример, ако смо унели број 12345, у првом пролазу кроз циклус од датог броја издваја-
мо последњу цифру, број 5, а нови број је 1234. Број 5 је сада нови инверзни број. У другом
пролазу кроз циклус издвајамо цифру 4, а новоформирани број n је сада 123, а од цифара
5 и 4 треба да формирамо инверзни број, број 54. Дакле, прву цифру, односно претходни
инверзни број померамо за једно место улево, односно постаје цифра десетица, дакле мно-
жимо је са 10 (добили смо број 50) и на тај број додајемо новоиздвојену цифру, број 4. Нови
инверзни број је 54. У следећем пролазу кроз циклус поступићемо као и у претходна два
пролаза. Наиме, издвојену цифру 3 додајемо на број 54 * 10 и добијамо број 543, а нови
број n je 12. У још два пролаза кроз циклус добијамо најпре инверзни број 5432, а нови
број n je 1, а потом инверзни број 54321, а нови број n je 0, што је управо и вредност која
представља излазни критеријум из циклуса.
Слика 33. Изглед форме при дизајнирању Слика 34. Изглед форме при извршавању
апликације са задатим бројевима
92
Процедура за добијање изгледа форме као на слици 34 приказана је у наставку.
Слика 35. Изглед форме при дизајнирању Слика 36. Изглед форме након
уноса вредности
Након тога унесемо вредности у Edit поља за унос опсега и кликнемо на дугме Trazi.
Просте бројеве одређујемо тако што тражимо делиоце потенцијалног простог броја у ин-
тервалу од 2 до корена тог број (тј. његове заокружене вредности). Да би се добио изглед
форме са слике 36, потребно је применити одговарајућу процедуру.
93
procedure TForm1.btTraziClick (Sender: TObject);
var M, N, i, j, koren, k : integrer;
begin
M := StrToInt(edM.Text);
N := StrToInt(edN.Text);
k := 0;
for i := M to N do
begin
koren := round(sqrt(i));
j := 2;
while (j <= koren) and (i mod j <> 0) do j := j + 1;
if j > koren then
begin
k := k + 1;
ListBox1.items.Add(IntToStr(i));
end;
end;
if k > 0 then ListBox1.Items.Add(ꞌUkupno prostih brojeva:ꞌ + IntToStr(k)
else ListBox1.Items.Add(ꞌNema prostih brojevaꞌ);
end;
procedure TForm1.btNoviClick (Sender: TObject);
begin
edM.Text := ꞌꞌ;
edN.Text := ꞌꞌ;
ListBox1.Clear;
end;
Кроз израду неколико примера обновити наставну тему „Организација циклуса” и при-
премити ученике за практичну контролу знања на следећем часу.
94
Слика 37. Дизајн форме Слика 38. Полазне вредности
95
2. Познато је да једној врсти бактерија сваког минута умире трећина чланова заједнице, као
и да се преживеле при истеку трећег минута деле на две. Креирати апликацију којом се
исписује број бактерија после M минута, ако је на почетку било K тек рођених бактерија.
Дизајнирати форму тако да изгледа као на слици 40. Сликом 41 приказане су вредности
које уноси корисник, а кликом на дугме Racunaj врши се приказивање резултата у посеб-
ном прозору (слика 42).
Слика 40. Дизајн форме Слика 41. Вредности које уноси корисник
96
3. Две вреће јабука од М и N килограма (М и N су природни бројеви) треба препаковати у
мање, али једнаке вреће. Креирати апликацију којом се одређује највећа (целобројна)
количина коју треба ставити у сваку такву врећу.
Дизајнирати форму тако да изгледа као на слици 43. Решење задатка се своди на тражење
највећег заједничког делиоца бројева М и N и приказано је одговарајућом процедуром.
Слика 43. Дизајн форме Слика 44. Изглед форме у моду извршавања
97
43. Организација циклуса – израда апликација (провера знања)
На овом часу се изводи практична контрола знања кроз израду одговарајуће апликације
применом циклуса.
I група
ЗАДАЦИ ПОЕНИ
1 Отворити нови пројекат у Lazarus-у, а затим сачувати модул под именом 5
D:\odeljenje\ime i prezime\trocifreni\uGlavni.pas, a
пројекат под именом D:\odeljenje\ime i prezime\trocifreni
\trocifreni.lpi.
2 Креирати форму да изгледа као на слици а), користећи дате компоненте. 15
а) б)
98
II група
ЗАДАЦИ ПОЕНИ
1 Отворити нови пројекат у Lazarus-у, а затим сачувати модул под именом 5
D:\odeljenje\ime i prezime\banka\uGlavni.pas, a пројекат
под именом D:\odeljenje\ime i prezime\banka\banka.lpi.
2 Креирати форму да изгледа као на слици а), користећи дате компоненте. 15
а)
б)
3 Преименовати све Edit и Button контроле по мађарској нотацији. 5
4 Написати процедуре којима се проверава коректност унетих података у 15
Edit компонентама за унос улога, камате и броја година.
5 У банку је улагач положио S динара са годишњом каматом р процената, 20
која се обрачунава на износ који је одлежао претходне године.
Испрограмирати дугме Racunaj тако да омогућава да се у ListBox
контроли исписује износ камате и укупне суме на крају сваке године
штедње (као што је дато на слици б) у задатку бр. 2).
6 Испрограмирати дугме Sacuvaj тако да омогућава чување садржаја из 10
ListBox компоненте у датотеку stavke.txt која се налази у фолдеру
D:\odeljenje\ime i prezime.
7 Испрограмирати дугме Brisi тако да омогућава брисање означене 10
ставке из компоненте ListBox.
99
IX НАСТАВНА ТЕМА (МАРТ, АПРИЛ)
Објаснити структуру функције – заглавље (кључна реч, параметри, тип резултата, одељци
за опис константи и променљивих) и тело функције (користи променљиве које су наведене
у одељку за опис променљивих и системску променљиву result). Вежбати на примерима
функције за израчунавање суме квадрата целих бројева од m дo n и израчунавање максиму-
ма 2 и 4 броја.
Примери
1. Написати функцију којом се израчунава сума квадрата целих бројева од m do n, а потом
написати процедуру која користи ову функцију.
За решење овог задатка најпре дизајнирати форму као на слици 46, а потом у одељку
implementation написати функцију за рачунање квадрата целих бројева од m do n (слика
47) и потом написати процедуру која користи ову функцију више пута на различите начине.
При покретању апликације, за унос одговарајућих вредности у Edit поља у посебном про-
зору добијамо резултат (слика 48).
100
var
Form1 : Tform1;
implementation
{$R * .1fm}
2. Написати функцију којом се одређује максимум два дата броја, као и функције за од-
ређивање максимума 3 и 4 броја коришћењем функције за одређивање максимума два
броја.
var
Form1 : Tform1;
implementation
{$R * .1fm}
function max(a, b : integrer) : intefrer;
//funkcija za odredjivanje maksimuma dva broja
begin
if a > b then max := a
else max := b;
end;
function max3(a, b, c : integrer) : integrer;
//funkcija za odredjivanje maksimuma tri broja
begin
max3 := max(max(a, b), c);
end;
function max4(a, b, c, d : integrer) : integrer;
//funkcija za odredjivanje maksimuma cetiri broja
begin
max4 := max(max(a, b), max(c, d));
end;
101
Домаћи задатак
Креирати апликацију која ће користити функције за рачунање максимума два, три и че-
тири броја.
var
Form1 : Tform1;
implementation
{$R * .1fm}
102
function Povrsina(x1, y1, x2, y2, x3, y3 : real) : real;
var a, b, c, s : real;
begin
a := Rastojanje(x1, y1, x2, y2);
b := Rastojanje(x1, y1, x3, y3);
c := Rastojanje(x2, y2, x3, y3);
s := (a + b + c) / 2;
Povrsina := sqrt(s * (s – a) * (s – b) * (s – c));
end;
procedure Tform1.btP2TrouglaClick (Sender: Tobject);
var x1, y1, x2, y2, x3, y3, P1, P2 : real;
begin
x1 := StrToFloat(InputBox(ꞌTemena 1. trouglaꞌ, ꞌx1 =ꞌ, ꞌ0.00ꞌ));
y1 := StrToFloat(InputBox(ꞌTemena 1. trouglaꞌ, ꞌy1 =ꞌ, ꞌ0.00ꞌ));
x2 := StrToFloat(InputBox(ꞌTemena 1. trouglaꞌ, ꞌx2 =ꞌ, ꞌ0.00ꞌ));
y2 := StrToFloat(InputBox(ꞌTemena 1. trouglaꞌ, ꞌy2 =ꞌ, ꞌ0.00ꞌ));
x3 := StrToFloat(InputBox(ꞌTemena 1. trouglaꞌ, ꞌx3 =ꞌ, ꞌ0.00ꞌ));
y3 := StrToFloat(InputBox(ꞌTemena 1. trouglaꞌ, ꞌy3 =ꞌ, ꞌ0.00ꞌ));
P1 := Povrsina(x1, y1, x2, y2, x3, y3);
x1 := StrToFloat(InputBox(ꞌTemena 2. trouglaꞌ, ꞌx1 =ꞌ, ꞌ0.00ꞌ));
y1 := StrToFloat(InputBox(ꞌTemena 2. trouglaꞌ, ꞌy1 =ꞌ, ꞌ0.00ꞌ));
x2 := StrToFloat(InputBox(ꞌTemena 2. trouglaꞌ, ꞌx2 =ꞌ, ꞌ0.00ꞌ));
y2 := StrToFloat(InputBox(ꞌTemena 2. trouglaꞌ, ꞌy2 =ꞌ, ꞌ0.00ꞌ));
x3 := StrToFloat(InputBox(ꞌTemena 2. trouglaꞌ, ꞌx3 =ꞌ, ꞌ0.00ꞌ));
y3 := StrToFloat(InputBox(ꞌTemena 2. trouglaꞌ, ꞌy3 =ꞌ, ꞌ0.00ꞌ));
P2 := Povrsina(x1, y1, x2, y2, x3, y3);
if P1 = P2 then ShowMessage(ꞌImaju jednake povrsina!ꞌ);
if P1 > P2 then ShowMessage(ꞌPrvi trougao ima vecu povrsinu!ꞌ);
if P2 > P1 then ShowMessage(ꞌDrugi trougao ima vecu povrsinu!ꞌ);
end;
procedure Tform1.btCetvorougaoClick (Sender: Tobject);
var x1, y1, x2, y2, x3, y3, x4, y4, P : real;
begin
x1 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌx1 =ꞌ, ꞌ0.00ꞌ));
y1 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌy1 =ꞌ, ꞌ0.00ꞌ));
x2 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌx2 =ꞌ, ꞌ0.00ꞌ));
y2 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌy2 =ꞌ, ꞌ0.00ꞌ));
x3 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌx3 =ꞌ, ꞌ0.00ꞌ));
y3 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌy3 =ꞌ, ꞌ0.00ꞌ));
x4 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌx4 =ꞌ, ꞌ0.00ꞌ));
y4 := StrToFloat(InputBox(ꞌTemena cetvorouglaꞌ, ꞌy4 =ꞌ, ꞌ0.00ꞌ));
P1 := Povrsina(x1, y1, x2, y2, x3, y3) + Povrsina (x3, y3, x4, y4, x1, y1);
ShowMessage(Format(ꞌPovrsina cetvorougla je %0.2fꞌ, [P]));
end;
procedure Tform1.btDuzinaLinijeClick (Sender: Tobject);
var i, n : integrer;
x1, y1, x2, y2, d : real;
begin
n := StrToInt(InputBox(ꞌBroj temena poligonalne linijeꞌ, ꞌN =ꞌ, ꞌ0ꞌ));
x1 := StrToFloat(InputBox(ꞌ1. temeꞌ, ꞌx =ꞌ, ꞌ0.00ꞌ));
103
y1 := StrToFloat(InputBox(ꞌ1. temeꞌ, ꞌy =ꞌ, ꞌ0.00ꞌ));
d := 0;
for i := 2 to n do
x2 := StrToFloat(InputBox(IntToStr(ꞌ1. temeꞌ, ꞌx =ꞌ, ꞌ0.00ꞌ));
y2 := StrToFloat(InputBox(IntToStr(ꞌ1. temeꞌ, ꞌy =ꞌ, ꞌ0.00ꞌ));
d := d + Rastojanje(x1, y1, x2, y2);
x1 := x2;
y1 := y2;
ShowMessage(Format(ꞌDuzina poligonalne linije je %0.2fꞌ, [d]));
end;
Домаћи задатак
1. Написати функцију за израчунавање n-тог степена броја а.
Задаци за вежбање
1. Написати програм који за дати природан број n већи од 1 одређује n-ти прост број.
Форма садржи само једно дугме (InputBox) којим се отвара прозор за унос вредности.
У наставку је дата функција за одређивање простог броја.
var
Form1 : Tform1;
implementation
{$R * .1fm}
Имајући у виду да број 1 није прост и уколико у опсегу од 2 до корена броја који
испитујемо не пронађемо ниједан делилац броја који испитујемо, функција prost ће
добити вредност true. Вредност ове функције користи се у процедури која омогућава
проналажење n-тог простог броја. Како је број 2 први прост број, то ће променљива i
која представља потенцијални прост број добити вредност 2, док ће променљива ј која
104
пребројава просте бројеве добити вредност 1. Поступак увећавања вредности променљиве
i за 1 и пребројавање пронађених простих бројева понавља се све док не пронађемо n-ти
прост број, односно док ј не добије вредност n. Процедура којом се одређује n-ти прост
приказана је у наставку.
2. Написати програм који за дати природан број n већи од 1 одређује његов најближи
прост број. Ако су два проста броја на истом растојању, исписати оба.
Домаћи задатак
1. Напиши програм који растављањем броја на просте чиниоце израчунава број и збир
његових делилаца. (Информатика 3, задаци уз уџбеник, стр. 195)
2. Број 2 520 је најмањи број који се може без остатка поделити свим бројевима од 1 до
10. Који је најмањи број који се може без остатка поделити свим бројевима од 1 до 20?
Напиши програм који га одређује. (Информатика 3, задаци уз уџбеник, стр. 200)
Задаци
1. Написати функцију која:
а) испитује да ли је година g преступна (столетна година је преступна ако је дељива са
400; година која није столетна преступна је ако је дељива са 4);
б) одређује број дана у години g;
в) одређује број дана у месецу m године g;
г) враћа true ако је датум (d1, m1, g1) старији од датума (d2, m2, g2), у противном
враћа false;
д) испитује да ли је датум (d, m, g) коректан (на пример 30, 2, 1800 су некоректни).
var
Form1 : Tform1;
implementation
{$R * .1fm}
function prestupna(g : word) : boolean;
begin
if (g mod 4 = 0) and (g mod 100 <> 0) or (g mod 400 = 0)
then prestupna := true
else prestupna := false;
end;
106
function BrDanaUGod(g : word) : word;
begin
if prestupna(g) then BrDanaUGod := 366
else BrDanaUGod := 365;
end;
function BrDanaUMes (m, g : word) : byte;
begin
case m of
1, 3, 5, 7, 8, 10, 12 : BrDanaUMes := 31;
4, 6, 9, 11 : BrDanaUMes := 30;
2 : if prestupna(g) then BrDanaUMes := 29;
else BrDanaUMes := 28;
end;
end;
У наставку је дата процедура која користи написану функцију и даје кориснику поруку о
томе који је од два коректно унета датума старији.
1. Написати функцију која одређује број непарних цифара у запису природног броја N.
Тестирати функцију одређујући колико од N учитаних бројева нема ниједну непарну
цифру.
Функција којом се одређује број непарних цифара у запису природног броја N приказана
је у наставку.
var
Form1 : Tform1;
implementation
{$R * 1fm}
107
function BrojNeparnihCifara (n : integrer) : byte;
var k, c : byte;
begin
k := 0;
while n > 0 do
begin
c := n mod 10;
if c mod 2 = 1 then k := k + 1;
n := n div 10;
end;
BrojNeparnihCifara := k;
end;
Процедура којом се тестира колико бројева од N учитаних бројева нема ниједну непарну
цифру дата је у наставку.
Домаћи задатак
Ако се зна да је 1. јануар 2001. године био понедељак, напиши програм који за било који
датум у овом веку одређује који је дан у недељи. (Информатика 3, задаци уз уџбеник, стр. 163)
Описати процедуре – заглавље (кључна реч, листа параметара, тип параметара, одељак
за дефиницију константи, одељак за опис променљивих) и тело процедуре. Објаснити шта
су формални параметри (вредносни и променљиви), а потом и шта су стварни параметри.
Показати на конкретном примеру одговарајуће параметре.
Пример 1
Написати процедуру којом се израчунавају минимум и максимум на основу два задата
цела броја и програм који користи ту процедуру.
108
var
Form1 : TForm1;
implementation
{$R * .1fm}
procedure minimax (a, b : real; var min, max : real);
begin
if a > b then
begin
max := a;
min := b;
end;
else
begin
max := b;
min := a;
end;
end;
Пример 2
Написати програм који пет бројева уређује у неопадајући поредак: а ≤ b ≤ c ≤ d ≤ e. У
програм укључити процедуру razmeni којом се размењују вредности две променљиве.
109
50. Локалне и глобалне променљиве. Рекурзивне функције и процедуре (обрада)
110
procedure TFormPovrsinaTrougla.FormMouseMove (Sender: Tobject);
Shift : TshiftState; X, Y : integrer;
var x1, y1, x2, y2, x3, y3 : integrer;
begin
x1 := 0; y1 := Height; //donje levо teme prozora
x2 := Width; y2 := Height; //donje desno teme prozora
x3 := x; y3 := y;
Repaint; //brisanje prozora
Canvas.Line(x1, y1, x2, y2); //crtanje trougla
Canvas.Line(x1, y1, x3, y3);
Canvas.Line(x2, y2, x3, y3);
P := Ptrougla(x1, y1, x2, y2, x3, y3);
lblP.Caption := Format(ꞌP = %0.2fꞌ, [P]);
end;
Домаћи задатак
1. Написати програм којим се одређује врста троугла (оштроугли, тупоугли, правоугли)
на основу нацртаног троугла на форми. (Уџбеник, стр. 192)
Задатак
Написати програм који омогућава да рачунар након клика на дугме са натписом Start
замисли број у интервалу од 1 до 100. Играч има право да га из 10 покушаја погоди. Рачунар
му помаже поруком из које може сазнати да ли је замишљени број мањи или већи од унетог.
111
За решавање задатка потребно је поставити следећу функцију.
var
Form1 : TForm1;
implementation
{$R * .1fm}
{ Tform1 }
112
53. Функције и процедуре (утврђивање)
var
Form1 : TForm1;
implementation
{$R * .1fm}
function prestupna (g : word) : boolean;
begin
if (g mod 4 = 0) and (g mod 100 <> 0) or (g mod 400 = 0)
then prestupna := true;
else prestupna := false;
end;
113
procedure sledeci (var d, m, g : integrer);
begin
if BrDanauMes(m, g) then
if m = 12 then
begin
d := 1;
m := 1;
g := g + 1;
end
else
begin
d := 1;
m := m + 1;
end;
else d := d + 1;
end;
Да би се одредило који ће датум бити за n дана, односно који је датум био пре n дана
користи се процедура приказана у наставку текста. За израду ове апликације треба да се
користи контрола RadioButton, а избором једне од понуђених ставки добија се одгова-
рајући датум.
Домаћи задатак
Сабирање реда, израчунавање бројева π и е (Уџбеник, стр. 240).
114
54. Потпрограми (контрола знања)
Задаци
1. Написати функцију која враћа true ако тачка са координатама (х, у) припада кругу са
центром (х0, у0) и полупречником r. Тестирати функцију одређујући колико од N учи-
таних тачака припада датом кругу.
2. Дати су одсечци a, b, c и d. За свака три одсечка од којих се може конструисати троугао,
приказати његову површину. Ако се не може конструисати троугао, исписати одгова-
рајућу поруку.
3. Написати програм којим се израчунава збир квадрата простих бројева који се налазе у
интервалу (а, b) (а и b су природни бројеви).
4. Написати програм који, коришћењем процедуре razmeni, четири различита броја a,
b, c и d уређује тестерасто: a < b > c < d.
5. Коришћењем функције NZD(a, b) израчунати NZD(a, b, c).
6. Дати су природни бројеви d1, m1, g1 и d2, m2, g2 који означавају два датума (дан, месец,
година). Одредити број дана између та два датума.
115
Пример
Креирати апликацију која за низ целобројних температура у првих N дана године испи-
сује редне бројеве дана када је температура била мања од нуле и редне бројеве дана када је
температура била већа или једнака нули.
Слика 53. Изглед форме при Слика 54. Изглед форме после клика
креирању апликације на дугме Odredi и попуњавања
ListBox контроле
Унос вредности у ListBox контролу врши се помоћу посебних прозора који се отварају
позивом функције InputBox.
116
57. Учитавање и приказивање низова помоћу StringGrid контроле (обрада)
Пример 1
Написати програм који омогућава да се у један StringGrid унесе низ од N елемената
(N <= 10), а у другом прикаже у инвертованом поретку.
Слика 56. Изглед форме после попуњавања прве табеле и клика на дугме ОК
117
SG2.Cells[0, 0] := ꞌIndexiꞌ;
SG1.Cells[0, 1] := ꞌVrednostiꞌ;
for c := 1 to SG2.ColCount – 1 do SG2.Cells[c, 0] := IntToStr(c);
edN.Text := ꞌꞌ;
end;
Када димензије табеле задаје корисник (као што је случај у овом задатку), онда је погодно
при напуштању Edit контроле за унос димензије табеле исконтролисати коректност улаз-
ног податка и, ако је коректан, поставити број колона (редова) на одређену вредност. Број
колона је увећан за 1 због заглавља табеле, а то показује процедура у наставку.
Пример 2
Написати програм којим се реализује циклично премештање вредности елемената низа
a[1], a[2], …, a[n] за једно место улево.
Кликом на дугме ОК након уписа вредности у прву табелу, друга табела треба да буде по-
пуњена као на слици 57.
118
Слика 57. Табела након уписа вредности и клика на дугме ОК
Домаћи задатак
1. Написати програм којим се реализује циклично премештање вредности елемената
низа a[1], a[2], …, a[n] за једно место удесно.
Пример 1
Написати програм којим се низ од N бројева распоређује у неопадајућем поретку.
Креирати форму као на слици 58.
На слици 59 приказан је изглед форме у моду извршавања апликације, при чему је најпре
унет број чланова низа, а потом су у прву табелу унете неке вредности (реални бројеви).
119
Слика 58. Приказ форме
120
При креирању форме попуњава се заглавље табеле (SG1 и SG2), а при напуштању Edit
контроле за унос броја чланова низа проверава се коректност унетог податка, па уколико је
податак коректан, број колона за упис вредности код обе табеле поставља се на тај број. То
се остварује следећом процедуром.
Задатак
Мерењем атмосферског притиска n дана у метеоролошкој станици формиран је низ вред-
ности р1, р2, ..., р3. Креирати апликацију којом се одређује:
• минимални и максимални притисак и њихов редни број дана;
• средња вредност притиска у току посматрања.
121
Слика 61. Изглед форме после попуњавања табеле и клика на дугме ОК
122
procedure TForm1.btRacunajClick (Sender: TObject);
var r : array[1..40] of real;
max, min, S : real;
RbMax, RbMin, r, n : integrer;
begin
n := StrToInt(edN.Text);
for r := 1 to SG1.RowCount – 1 do
p[r] := StrToFloat(SG1.Cells[1, r]);
if cbMax.Checked then
begin
max := p[1];
RbMax := 1;
for r := 2 to SG1.RowCount – 1 do
if p[r] > max then
begin
max := p[r];
RbMax := r;
end;
edMax.Text := FloatToStr(max);
edRbMax.Text := IntToStr(RbMax)
end;
else
begin
edMax.Text := ꞌꞌ;
edRbMax.Text := ꞌꞌ;
end;
for r := 1 to SG1.RowCount – 1 do
p[r] := StrToFloar(SG1.Cells[1, r]);
if cbMin.Checked then
begin
min := p[1];
RbMin := 1;
for r := 2 to SG1.RowCount – 1 do
if p[r] < min then
begin
min := p[r];
RbMin := r;
end;
edMin.Text := FloatToStr(min);
edRbMin.Text := IntToStr(RbMin);
end
else
begin
edMin.Text := ꞌꞌ;
edRbMin.Text := ꞌꞌ;
end;
123
if cbS.Checked then
begin
S := 0;
for r := 1 to SG1.RowCount – 1 do
S := S + p[r];
if n > 0 then
begin
S := S / n;
edS.Text := Format(ꞌ%0.2fꞌ, [S]);
end
else ShowMessage(ꞌNiste uneli vrednosti!ꞌ);
end
else edS.Text := ,ꞌꞌ;
end;
Задатак
На такмичењу у скоку у даљ добијени су следећи резултати: s1, s2, …, s3. Исписати
резултате од најбољег до најгорег и одговарајуће такмичарске бројеве. Обезбедити да се за
резултате такмичара у одговарајућој табели аутоматски уписују случајни реални бројеви од
7 до 10 на две децимале.
На слици 62 дат је изглед форме после уноса броја скакача и напуштања Edit контроле,
при чему се у StringGrid контролу аутоматски уносе случајни реални бројеви на две
децимале.
На слици 63 приказан је изглед форме после клика на дугме ОК.
За креирање форме укуцати процедуру приказану у наставку.
124
procedure TForm1.FormCreate (Sender: Tobject);
var r : integrer;
begin
edN.Text := ꞌꞌ;
SG1.Cells[0, 0] := ꞌStartni brojꞌ;
SG1.Cells[1, 0] := ꞌRezultatꞌ;
for r := 1 to SG1.RowCount – 1 do
SG1.Cells[0, r] := IntToStr(r);
end;
125
for i := 1 to SG1.RowCount – 2 do
for j := i + 1 to SG1.RowCount – 1 do
if rez[i] < rez[j] then
begin
p1 := sb[i];
sb[i] := sb[j];
sb[j] := p1;
p2 := rez[i];
rez[i] := rez[j];
rez[j] := p2;
end;
for r := 1 to SG1.RowCount – 1 do
begin
SG1.cells[0, r] := IntToStr(sb[r]);
SG1.Cells[1, r] := FloatToStr(rez[r]);
edN.SelectAll;
end
end;
Објаснити ученицима шта су матрица, чланови матрице, индекс врсте и индекс колоне.
Показати како се учитава и исписује матрица. Потом објаснити шта је квадратна матрица,
а шта главна дијагонала. Навести елементе изнад и испод главне дијагонале. Објаснити спо-
редну дијагоналу и показати елементе изнад и испод споредне дијагонале.
Пример
Написати програм који за целобројну матрицу А(N x M) задату помоћу StringGrid
табеле израчунава суму парних елемената. Табела се попуњава аутоматски, случајним целим
бројевима од –30 до 30.
126
Изглед форме после клика на дугме Formatiraj tabelu приказан је на слици 64, док
је на слици 65 приказан изглед форме после клика на дугме Racunaj. Процедура која омо-
гућава приказ форме са слике 64 приказана је у наставку.
Први индекс матрице а је индекс врсте, а други је индекс колоне, док је код StringGrid
контроле обрнуто: први индекс означава колону, а други врсту.
Домаћи задатак
Написати програм којим се за матрицу А(NxN) израчунава:
• сума позитивних елемената изнад главне дијагонале;
• сума елемената на главној дијагонали;
• вредност највећег елемента на споредној дијагонали;
• производ негативних елемената изнад споредне дијагонале.
127
62. Дводимензионални низови (вежбање)
Задаци
1. Написати програм којим се на основу дате матрице A(N x N) формира нова колона ма-
трице чији су елементи једнаки најмањим вредностима у врстама матрице А. Матрицу
попунити аутоматски случајним реалним бројевима од –50 до 50 са једном децималом.
Процедура која обезбеђује формирање нове колоне у којој се приказује минимум сваке
врсте матрице А приказана је у наставку.
128
begin
for c := 1 to SG.1ColCount – 1 do
for r := 1 to SG1.RowCount – 1 do
a[r, c] := StrToFloat(SG1.Cells[c, r];
SG1.ColCount := StrToInt(edN.Text) + 2;
SG1.Cells[SG.1ColCount – 1, 0] := ꞌminꞌ;
for r := 1 to SG1.RowCount – 1 do
begin
min := a[r, 1];
for c := 2 to SG1.ColCount – 1 do
if a[r, c] < min then min := a[r, c];
SG1.Cells[SG1.ColCount – 1, r] := FloatToStr(min);
end;
end;
На слици 68 приказан је изглед форме после попуњавања Edit поља за унос броја пред-
мета и броја ученика и клика на дугме Formatiraj, док је на слици 69 приказан изглед
форме после клика на дугме Racunај. Може се приметити да на слици 69 колоне нису исте
ширине. Да бисмо то постигли, потребно је да у режиму дизајнирања особину контроле
StringGrid, Options → goColSizing поставимо на True.
Слика 68. Изглед форме на почетку рада Слика 69. Изглед форме на крају рада
129
SG1.RowCount := n; //popunjavanje zaglavlja tabele
for c := 1 to SG1.ColCount – 1 do
SG1.Cells[c, 0] := IntToStr(c);
for r := 1 to SG1.RowCount – 1 do
SG1.Cells[0, r] := IntToStr(r); //automatsko popunjavanje tabele ocenama
Randomize;
for c := 1 to SG1.ColCount – 1 do
for r := 1 to SG1.RowCount – 1 do
SG1.Cells[c, r] := IntToStr(Radnom(5) + 1);
end;
Додавање колоне у којој се рачуна просек ученика и реда за просек по предметима реали-
зује се следећом процедуром.
130
63. Дводимензионални низови (вежбање)
Задаци
1. Написати програм којим се сортирају елементи врста у неопадајућем поретку. Матри-
цу попунити случајним целим бројевима од 0 до 100.
131
begin
//ucitavanje vrednosti iz tabele u matricu a
for c := 1 to SG1.ColCount – 1 do
for r := 1 to SG1.RowCount – 1 do
a[r, c] := StrToInt(SG1.Cells[c, r]);
//sortiranje matrice po vrstama
for r := 1 to SG1.RowCount – 1 do
for c1 := 1 to SG1.ColCount – 2 do
for c2 := c1 + 1 to SG1.ColCount – 1 do
if a[r, c1] > a[r, c2] then
begin
p := a[r, c1];
a[r, c1] := a[r, c2];
a[r, c2] := p;
end;
//upisivanje sortirane matrice u tabelu
for c := 1 to SG1.ColCount – 1 do
for r := 1 to SG1.RowCount – 1 do
SG1.Cells[c, r] := IntToStr(a[r, c]);
//automatsko popunjavanje tabele ocenama
end;
132
реду нема сврхе) и унутрашњих бројача (бројача колона) од главне дијагонале (број реда је-
днак броју колоне) до последње колоне, коришћењем методе селекције. Процедура за овакво
сортирање матрице приказана је у наставку текста.
133
На слици 74 приказана је табела са унетим вредностима, а на слици 75 табела са елемен-
тима који су размењени у односу на споредну дијагоналу. Овакву размену вредности омо-
гућава следећа процедура.
Задаци за вежбање
1. Матрицом А(N x 2) дате су координате N тачака у равни. Одредити растојање нају-
даљеније тачке од координатног почетка.
134
64. Низови (провера знања)
I група
ЗАДАЦИ ПОЕНИ
Отворити нови пројекат у Lazarus-y и сачувати га у фолдеру Desktop\
1 6
Kontrolni\Ime i Prezime под именом Мatrica.
2 Креирати форму као на слици а).
а) б)
10
135
II група
ЗАДАЦИ ПОЕНИ
10
136
65. Текстуалне датотеке (обрада)
Пример
Написати програм који омогућава да се кликом на дугме Sifriraj (слика 76) текст који
је унет у Memo контролу шифрира тако да се сваки знак замењује следећим знаком у ASCII
кодном систему и уписује у фајл 'poruka.txt'. Кликом на дугме Desifruj сваки знак
текстуалног фајла 'poruka.txt' замењује се претходним знаком у ASCII кодном систе-
му и приказује у Memo контроли.
Слика 76. Изглед Memo контроле Слика 77. Изглед фајла 'poruka.txt'
На слици 77 дат је фајл 'poruka.txt' који се добија шифровањем текста унетог у Memo
контролу. Процедура за шифровање унетог текста приказана је у наставку.
137
begin
s := Memo.Lines[i]; //kopiranje linije Memo kontrole u string s
for j := 1 to Length(s) do
write(f, succ(s[j])); //succ daje sledeci znak koji se upisuje u fajl
writeln(f); //upisuje eoln
end;
CloseFile(f);
ShowMessage(ꞌFormiran fajl poruka.txtꞌ);
end;
Питања:
• Шта је датотека?
• Из чега је састављена текстуална датотека?
• Како се означава крај линије, а како крај датотеке?
• Како се означава декларација датотечне променљиве?
138
• Која је процедура за повезивање датотечне променљиве са датотеком?
• Како се врши отварање датотеке за упис, а како за читање?
• Како се завршава рад са датотеком?
Задатак
Дат је текстуални фајл 'in.txt'. У свакој линији налазе се пређене дневне километраже
у току једне недеље. Претпоставља се да се у току недеље ауто не мора возити сваки дан. На
пример:
Написати програм којим се формира нови фајл 'out.txt' у чијим ће линијама бити
дневни просеци за сваку недељу. У свакој линији Memo контроле треба приказати пређене
километраже у току једне недеље и њихов дневни просек (слика 78).
139
begin
p := 0;
i := 0;
s := ꞌꞌ;
while not eoln(f) do
begin
read(f, x);
p := p + x;
s := s + FloatToStr(x) + ꞌꞌ;
i := i + 1;
end;
readln(f);
p := p / i; //prosek
Memo1.Lines.Add(s + ꞌ-> Prosek =ꞌ + Format(ꞌ%0.2fꞌ, [p]));
writeln(g, p : 10 : 2); //upis u fajl
end;
CloseFile(f);
CloseFile(g);
end;
На овом часу треба направити кратку ретроспективу о ономе што је научено у тој школ-
ској години, закључити оцене и упознати ученике са програмом за наредну школску годину.
Оцена ученика је мера њиховог напретка, па приликом закључивања годишњих оцена тре-
ба сагледати како оцене добијене на појединим деловима градива (писмене провере, усмени
одговори, практичне провере), тако и однос ученика према раду, редовност у изради домаћих
задатака и укупно залагање на часовима у току школске године. Закључна оцена не сме бити
мања од аритметичке средине свих оцена (у току целе школске године) нити већа од највеће
уписане оцене и мора бити јавно образложена, као и оцене које су добијене у току године.
140
3. СТАНДАРДИ УЧЕНИЧКИХ ПОСТИГНУЋА
Наставни програми општеобразовних предмета у Србији, и на основношколском и на
средњошколском нивоу, до сада су дефинисали образовне циљеве за појединачне наставне
предмете, али не и на нивоу компетенција као исхода учења које се формирају и подржавају
заједничким радом више појединачних школских дисциплина. Досадашња пракса познаје ко-
ординисан и симултан рад две или више дисциплина при обради једне теме (корелација међу
предметима). У овом документу дефинисане су нове области, релевантне за лични, профе-
сионални и социјални развој и функционисање појединца, у којима се компетентност стиче
флексибилним и динамичним интегрисањем и применом предметних знања.
Многи фактори који делују у националном и међународном образовном и јавном про-
стору дефинишу потребу да се образовни систем реструктуира мењањем садржаја, обла-
сти примене знања и приступа настави и учењу. Неки од најважнијих фактора су: глобална
оријентација ка компетенцијама; утицај нових технологија, интернета и медија на учење,
природу послова и приватни живот појединца; растућа социјална мобилност и растућа
конкурентност на тржишту рада. Идентификовање широко дефинисаних кључних компе-
тенција и реформисање школских програма у складу с њима започето је 2006. године када
је Европска унија усвојила Европски оквир кључних компетенција за целоживотно учење
(European Reference Framework of Key Competences for Lifelong Learning). Знања, вештине и
ставови који су у овом документу препознати као кључни са становишта развоја поједин-
ца – кључни су и за развијање иновативности, продуктивности, а тиме и конкурентности
сваког друштва. Динамика промена које доносе нове технологије у свету рада и социјалне
промене постављају пред образовни систем захтев да се развијају компетенције за нове и
промењене послове, али и компетенције за прихватање промена и прилагођавање њима.
Овако схваћене компетенције излазе из оквира традиционалних школских предмета и
ангажују школска знања на припреми ученика да буду конкурентни и функционални у са-
дашњем и будућем образовном и професионалном простору и да компетентно и активно
реализују своје грађанске улоге. Оријентација образовног процеса ка међупредметним ком-
петенцијама не значи увођење нових предмета нити додатних часова тематски посвећених
одређеној компетенцији. Основна промена коју доноси оријентација ка општим и међу-
предметним компетенцијама и компетенцијама уопште огледа се у динамичнијем и ангажо-
ванијем комбиновању знања, вештина и ставова релевантних за различите реалне контексте
који захтевају њихову функционалну примену. То се постиже сарадњом и координацијом
активности више наставника, односно предмета, и иновирањем начина рада на часу. Сваки
час је прилика да се ради и на међупредметним компетенцијама, а амбијент који их подржава
подразумева:
• стављање ученика у ситуације које траже истовремену употребу предметних и међу-
предметних компетенција (то се дешава увек када од ученика очекујемо да неко знање
примени у ситуацијама које нису реплике или једноставне модификације ситуације у
којој је знање усвојено, већ нове, различите ситуације);
• активности истраживања и стварања нових продуката;
• стварање баланса између индивидуалних и групних активности, тако да се развије лич-
на одговорност према обавезама и користе потенцијали групе;
• активно и конструктивно учествовање у животу локалне заједнице; иницирање хума-
нитарних активности и активности које доприносе подизању квалитета живота и соли-
дарности у локалној заједници.
141
Значај општих и међупредметних компетенција за будући живот младог човека није тешко
документовати, али је важно питање који је простор у процесу наставе и учења резервисан за
рад на овим компетенцијама. У суштини, рад на општим и међупредметним компетенцијама
није конкурентан раду на садржајима и компетенцијама које су непосредно везане за одређе-
не предмете. Напротив, међупредметне компетенције представљају корак више у разумевању
градива и примени наученог, а одговорност за њихово развијање носе сви наставници у шко-
ли, без обзира на предмет. То значи да подржавање општих и међупредметних компетенција
тражи заједничко планирање на нивоу школских тимова, примену интерактивних и активних
облика учења, као и већу аутономију школе и наставника у реализацији образовних исхода.
Очигледан и најједноставнији пример рада на међупредметним компетенцијама представља
употреба информационо-комуникационих технологија у учионици (дигитална компетен-
ција): различити начини презентовања градива и организације информација, разноврсни
извори информација, селекција података и провера њихове релевантности... Применљиви су
у свим предметима и готово на сваком часу, укључујући и проверу усвојености градива.
Основни критеријум за селекцију општих и међупредметних компетенција јесте да оне
буду потенцијално релевантне и корисне за све, као и усаглашене са етичким, економским
и културним вредностима и конвенцијама у друштву. Са становишта појединца, опште и
међупредметне компетенције омогућавају интеграцију у различите социјалне контексте и
мреже, укључујући и оне које сада не познајемо, уз изградњу аутономије у просуђивању и
доношењу одлука.
Имајући на уму ове околности и критеријуме, као и карактеристике образовног система
у Србији и контекста у којем он функционише у овом тренутку, издвојене су следеће опште
и међупредметне компетенције као најрелевантније за адекватну припрему ученика за
активну партиципацију у друштву и целоживотно учење:
1. Компетенција за целоживотно учење;
2. Комуникација;
3. Рад с подацима и информацијама;
4. Дигитална компетенција;
5. Решавање проблема;
6. Сарадња;
7. Одговорно учешће у демократском друштву;
8. Одговоран однос према здрављу;
9. Одговоран однос према околини;
10. Естетичка компетенција;
11. Предузимљивост и оријентација ка предузетништву.
У овом документу опште и међупредметне компетенције дефинисане су као обавезне,
али због специфичног положаја у наставном процесу очекивани исходи одређени су само на
основном, базичном нивоу. То, наравно, не значи да се током средњошколског образовања
ове компетенције неће појавити у комплекснијем и развијенијем облику на нивоу појединог
ученика или школе, већ се очекује да се оне подрже на систематичан начин на нивоу образов-
ног система у целини. Такође, стандарди дефинисани у овом документу нису критеријуми
за школске оцене. Различити облици формативног оцењивања најприкладнији су начин за
праћење индивидуалног напретка ученика и усмеравање њиховог даљег развоја. За потребе
мерења и оцењивања, школски тимови развијају тестове и успостављају критеријуме пола-
зећи од очекиваних исхода дефинисаних у овом документу.
142
Компетенција за целоживотно учење
Ученик:
• уме да планира време за учење и да организује процес учења и управља њим;
• активно конструише знање; уочава структуру градива, активно селектује познато од
непознатог, битно од небитног; уме да резимира и елаборира основне идеје;
• ефикасно користи различите стратегије учења, прилагођава их природи градива и
циљевима учења;
• познаје различите врсте текстова и уме да изабере адекватну стратегију читања;
• разликује чињенице од интерпретација, ставова, веровања и мишљења; препознаје и
продукује аргументацију за одређену тезу, разликује аргументе према снази и релеван-
тности;
• уме да процени сопствену успешност у учењу; идентификује тешкоће у учењу и зна како
да их превазиђе.
Комуникација
Ученик:
• активно доприноси неговању културе дијалога, уважавању и неговању различитости и
поштовању основних норми комуникације;
• познаје специфичне карактеристике различитих модалитета комуникације (усмена и пи-
сана, непосредна и посредована комуникација, нпр. преко телефона, преко интернета);
143
• уме јасно да искаже одређени садржај, усмено и писано, и да га прилагоди захтевима и
карактеристикама ситуације: поштује жанровске карактеристике, ограничења у погле-
ду дужине, намену презентације и потребе аудиторијума;
• уважава саговорника – реагује на садржај комуникације, а не на личност саговорника;
идентификује позицију (тачку гледишта) саговорника и уме да процени адекватност
аргументације и контрааргументације за ту позицију;
• у ситуацији комуникације, изражава своје ставове, мишљења, осећања, вредности и
идентитете на позитиван, конструктиван и аргументован начин како би остварио своје
циљеве и проширио разумевање света, других људи и заједница;
• на одговарајући и креативан начин користи језик и стил комуникације који су специ-
фични за поједине научне, техничке и уметничке дисциплине.
Ученик разуме значај коришћења поузданих података за рад, доношење одлука и свако-
дневни живот. Користи знања и вештине из различитих предмета да представи, прочита и
протумачи податке користећи текст, бројеве, дијаграме и различите аудио-визуелне форме.
Ученик користи различите изворе информација и података (библиотеке, медије, интернет,
личну комуникацију итд.) и критички разматра њихову поузданост и ваљаност. Ефикасно
проналази, селектује и интегрише релевантне информације из различитих извора.
Ученик:
• зна да је за разумевање догађаја и доношење компетентних одлука потребно имати
релевантне и поуздане податке;
• уме да пореди различите изворе и начине добијања података, да процењује њихову
поузданост и препозна могуће узроке грешке;
• користи табеларни и графички приказ података и уме овако приказане податке да чита,
тумачи и примењује;
• користи информационе технологије за чување, презентацију и основну обраду података;
• зна разлику између података и њиховог тумачења, зна да исти подаци, у зависности од
контекста, могу имати различита тумачења и да тумачења могу да буду пристрасна;
• разуме разлику између јавних и приватних података, зна које податке може да добије
од надлежних институција и користи основна правила чувања приватности података.
Дигитална компетенција
144
ИКТ средство и да га користи на одговоран и креативан начин у активностима које ради тога
спроводи (комуникација; сарадња; учешће у животу заједница; учење; решавање проблема;
трансакције; планирање, организација и управљање самосталним и заједничким активно-
стима; стварање, организација, обрада и размена информација), а да истовремено приступ
решавању проблема прилагоди могућностима технологије. Приликом коришћења ИКТ-а
свестан је ризика за сопствену и туђу сигурност и добробит и одговорним поступањем себе
и друге штити од нежељених последица.
Ученик:
• уме да претражује, процењује релевантност и поузданост, анализира и систематизује
информације у електронском облику користећи одговарајућа ИКТ средства (уређаје,
софтверске производе и електронске услуге);
• изрaжaвa сe у електронском облику кoришћeњeм oдгoвaрajућих ИКТ средстава, укљу-
чујући мултимедијално изражавање и изражавање са елементима формално дефини-
саних нотација карактеристичних за коришћена ИКТ средства (нпр. адресе, упити,
команде, формуле, процедуре и сл. изражене у одговарајућој нотацији);
• помоћу ИКТ уме да представи, оргaнизуje, структуира и форматира информације ко-
ристећи на ефикасан начин могућности датог ИКТ средства;
• приликом решавања проблема уме да одабере одговарајућа ИКТ средства, као и да при-
лагоди начин решавања проблема могућностима тих ИКТ средстава;
• ефикaснo кoристи ИКТ зa кoмуникaциjу и сaрaдњу;
• препознаје ризике и опасности при коришћењу ИКТ-а и у односу на то одговорно
поступа.
Решавање проблема
Ученик:
• испитујући проблемску ситуацију, идентификује ограничења и релевантне карактери-
стике проблемске ситуације и разуме како су оне међусобно повезане;
• проналази/осмишљава могућа решења проблемске ситуације;
• упоређује различита могућа решења проблемске ситуације преко релевантних крите-
ријума, уме да објасни шта су предности и слабе стране различитих решења и да се
определи за боље решење;
• припрема примену изабраног решења, прати његову примену усклађујући је са новим са-
знањима која стиче током примене датог решења и успева да реши проблемску ситуацију;
• вреднује примену датог решења, идентификује његове добре и слабе стране и форму-
лише препоруке за наредно искуство са истим или сличним проблемским ситуацијама.
145
Сарадња
Ученик је способан да се у сарадњи са другима или као члан групе ангажује на зајед-
ничком решавању проблема или реализацији заједничких пројеката. Учествује у зајед-
ничким активностима на конструктиван, одговоран и креативан начин афирмишући дух
међусобног поштовања, равноправности, солидарности и сарадње. Активно, аргументова-
но и конструктивно доприноси раду групе у свим фазама групног рада: формирање гру-
пе, формулисање заједничких циљева, усаглашавање у вези са правилима заједничког рада,
формулисање оптималног начина за остварење заједничких циљева на основу критичког
разматрања различитих предлога, подела улога и дужности, преузимање одговорности за
одређене активности, надгледање заједничког рада и усклађивање постигнутих договора
са новим искуствима и сазнањима до којих се долази током заједничког рада и сарадње. У
процесу договарања уме да изрази своја осећања, уверења, ставове и предлоге. Подржава
друге да изразе своје погледе, прихвата да су разлике у погледима предност групног рада
и поштује друге који имају другачије погледе. У сарадњи са другима залаже се да се одлуке
доносе заједнички на основу аргумената и прихваћених правила заједничког рада.
Ученик:
• конструктивно, аргументовано и креативно доприноси раду групе, усаглашавању и
остварењу заједничких циљева;
• доприноси постизању договора о правилима заједничког рада и придржава их се током
заједничког рада;
• активно слуша и поставља релевантна питања поштујући саговорнике и сараднике, а
дискусију заснива на аргументима;
• конструктивно доприноси решавању разлика у мишљењу и ставовима и притом по-
штује друге као равноправне чланове групе;
• ангажује се у реализацији преузетих обавеза у оквиру групног рада на одговоран,
истрајан и креативан начин;
• учествује у критичком, аргументованом и конструктивном преиспитивању рада групе
и доприноси унапређењу рада групе.
146
Ученик:
• уме да се удружује са другима како би ангажовано, толерантно, аргументовано и кри-
тички заступао одређене ставове, интересе и политику, поштујући права оних који за-
ступају супротстављене иницијативе, као и правила и процедуре за доношење одлука;
• активно учествује у животу школе и заједнице тако што поштује друге учеснике као
једнако вредне аутономне особе и њихова људска и мањинска права и тако што се
супротставља различитим формама насиља и дискриминације;
• својим активностима у школи и заједници афирмише дух толеранције, равноправности
и дијалога;
• критички и аргументовано учествује у разматрању отворених питања за која је заин-
тересован, поштујући разлике у мишљењу и интересима и даје лични допринос пости-
зању договора;
• има осећање припадности одређеним културним заједницама, локалној заједници,
региону у којем живи, ширем друштву, држави Србији и међународним организацијама
у које је Србија укључена;
• на афирмативан начин изражава свој идентитет и поштује другачије културе и тради-
ције и тако доприноси духу интеркултуралности;
• на изборима уме да се определи за политичке идеје и програме за које сматра да на нај-
бољи начин доприносе остварењу личне и друштвене добити и поштује право других
на другачије опредељење;
• залаже се за солидарност и учествује у хуманитарним активностима.
Ученик:
• познаје основне састојке хране и промене које утичу на њен квалитет;
• разуме значај правилне исхране и адекватне прераде хране за очување здравља;
• познаје карактеристике основних заразних болести, њихове изазиваче и мере превен-
ције;
• разуме значај лекова и правилног начина њихове употребе за очување здравља;
• познаје могуће последице коришћења никотина, алкохола и других психоактивних суп-
станци;
• бира стил живота имајући на уму добре стране и ризике тог избора (нпр. активно ба-
вљење спортом, вегетаријанска исхрана);
• уме да пружи прву помоћ.
147
Одговоран однос према околини
Ученик:
• разуме концепт здравог и безбедног окружења (вода, ваздух, земљиште) за живот људи и
спреман је да се активно ангажује у заштити и унапређењу квалитета живота у заједници;
• показује разумевање и спремност за ангажовање у заштити природе и управљању ресур-
сима тaкo дa сe нe угрoжaвa мoгућнoст будућих гeнeрaциja дa зaдoвoљe свoje пoтрeбe;
• процењује ризике и користи од употребе неких супстанци по околину и здравље људи и
одговорно поступа са њима (правилно их складишти и одлаже отпад);
• познаје факторе који утичу на загађење земљишта, воде и ваздуха, разуме и предвиђа
последице њихове употребе;
• увиђа предности и недостатке коришћења различитих извора енергије;
• разуме значај и користи могућности рециклирања.
Естетичка компетенција
Ученик је упознат са културним наслеђем људске заједнице, има свест о вредности умет-
ничких и културних дела и њиховог значаја за развој друштва. Естетичка компетенција
иде корак даље од тога, ка препознавању међуповезаности различитих форми и средстава
уметничког изражавања. Свестан је значаја естетске димензије у свакодневном животу, има
критички однос према употреби и злоупотреби естетике. Ученик се оспособљава да иска-
зује опажања, осећања и идеје у вези са уметничким изразима у различитим медијима, да
култивише културне навике, да изграђује аутономне естетске критеријуме и преференције
и суди у складу с њима.
Ученик:
• позитивно вреднује допринос културе и уметности развоју људске заједнице; свестан је
међусобних утицаја културе, науке, уметности и технологије;
• показује осетљивост за естетску димензију у свакодневном животу и има критички
однос према употреби и злоупотреби естетике;
• има изграђене преференције уметничких и културних стилова и користи их за обогаћи-
вање личног искуства;
• повезује уметничка и културна дела са историјским, друштвеним и географским кон-
текстом њиховог настанка;
• уме да анализира и критички вреднује уметничка дела која су представници различи-
тих стилова и епоха, као и дела која одступају од карактеристика доминантних праваца;
• вреднује алтернативне уметничке форме и изразе (субкултурна дела).
148
Предузимљивост и предузетничка компетенција
Ученик:
• разуме важност личне активације и показује иницијативу у упознавању са карактери-
стикама тржишта рада (захтеви појединих радних места, начин функционисања инсти-
туција, позиционирање у свету бизниса);
• разуме принципе функционисања тржишта рада и схвата неопходност сталног усавр-
шавања у складу са развојем тржишта и захтевима послодаваца;
• уме да идентификује и адекватно представи своје способности и вештине („јаке стра-
не”); уме да напише CV и мотивационо писмо;
• уме да искаже и заступа своје идеје и да утиче на друге, кроз развој вештине јавног го-
вора, преговарање и решавање конфликата;
• способан је да постави адекватне и реалне циљеве процењујући и прихватајући ризике;
планира ресурсе и управља њима (знања и вештине, време, новац, технологије и други
ресурси) и усредсређен је на постизање циљева;
• зна да комуницира с послодавцима; уме да преговара; спреман је да обавља праксу и
волонтира поштујући договоре.
149
4. ХОРИЗОНТАЛНА, ВЕРТИКАЛНА И
ДИЈАГОНАЛНА КОРЕЛАЦИЈА
Појам корелације у настави има више значења. Једно од основних је оно којим се озна-
чава повезивање основних елемената наставе у складну целину да би ученици формирали
јединствен поглед на свет. У наставној пракси корелација се углавном схвата као повези-
вање сродних садржаја из сродних предмета, а сврха јој је да наставу учини ефикаснијом,
рационалнијом и економичнијом, али и да мотивише и анимира ђаке за обрађивање теме.
Корелација наставног предмета може бити: хоризонтална, вертикална и дијагонална.
Хоризонтална корелација подразумева повезаност садржаја различитих наставних пред-
мета на нивоу једног разреда. Под вертикалном корелацијом се подразумева међусобно
повезивање садржаја једног предмета на нивоу више разреда. Дијагонална корелација под-
разумева повезивање истих садржаја који се јављају у више наставних предмета на нивоу
више разреда.
Из хоризонталних, вертикалних и дијагоналних корелација наставних предмета изра-
ста корелационо-интеграциони наставни систем, у којем се сједињују и повезују наставни
садржаји различитих наставних подручја појединих предмета. Тако је могућа корелација
Рачунарства и информатике са свим наставним предметима, зависно од градива које се про-
учава. Најчешће су везе с предметима из подручја природних наука (Математика, Физика,
Хемија, Биологија), али једнако су важне и честе корелације са Енглеским језиком, Исто-
ријом, Географијом, Ликовном културом итд.
У наставном плану Рачунарства и информатике за трећи разред гимназије у највећој се
мери уочавају хоризонтална и дијагонална корелација са наставним садржајем Математике
и вертикална корелација са наставним садржајем другог и четвртог разреда, али и са неким
темама из првог разреда.
Рационални алгебарски изрази. Ђаци кроз алгебарске изразе треба да продубе знање и да
се спреме за предстојеће озбиљније задатке.
150
Хомотетија и сличност. Ова област Математике једна је од примењиваних у свакоднев-
ном животу, а у Информатици је такође заступљена у трећој години у програму за рад са
прозорима.
151
5. НАСТАВНЕ ТЕХНИКЕ, МЕТОДЕ И ОБЛИЦИ
Рачунарство и информатика је у односу на друге наставне предмете веома специфично,
јер је више проблемски оријентисано. Фазе решавања проблема у информатици могу се кла-
сификовати на следећи начин:
1. Постављање проблема.
2. Разумевање проблема и прикупљање података.
3. Избор методе решавања.
4. Решавање проблема.
5. Анализа решења кроз интерпретацију и дискусију, што нас често може навести на
избор другачијег начина решавања.
Наставне методе које ће наставник применити на часу ради бољег усвајања градива зави-
се од садржаја наставне јединице, циљева наставног часа и облика рада који се на том часу
примењују. Циљеви наставног часа могу бити образовни (материјални), функционални и
васпитни.
152
Наставни процес је врло комплексан и одликује се бројним разноврсностима, непрестаним
тражењем нових методичких решења, складним односом свих основних форми. Он пред-
ставља јединство рада ученика и наставника, мишљења, сазнања, васпитања и образовања.
Најзаступљеније методе у настави Рачунарства и информатике су:
• предавачке методе, у којим наставник излаже, а ученик слуша (час се не сме свести
само на ову методу);
• метода дијалога, коју одликује заједнички рад наставника и ученика који се одвија у
облику питања и одговора. Овом методом подстичу се мисаоне активности ученика и
захтева се њихова потпуна пажња. Јавља се у различитим облицима, као хеуристички
разговор, катихетички разговор, дискусија;
• демонстрациона метода, која је заснована на показивању и посматрању. Примерена
је код обраде готових информатичких производа, а показује се на примеру уз помоћ
пројектора прикљученог на рачунар;
• метода рада са текстом, која подразумева самосталан рад ученика са литературом;
• метода самосталних вежби, код које ученик самостално изводи постављени задатак,
нпр. на рачунару или у слободно време остварује неки рад (домаћи, семинарски) који
наставник прегледа и усмерава га у даљем раду. Ова метода захтева и велики труд на-
ставника, јер се често ради о садржајима који су шири него наставно градиво, а посебно
је погодан за више разреде основне школе и средњу школу;
• пројектна настава, која је оријентисана ка производу, а захтева самоорганизацију и
властиту одговорност;
• откривачка метода, која подстиче ученике на активнију улогу у процесу учења и у коме
се обраћа пажња на контекст и искуство ученика (наставник поставља питања како би
ученика усмерио на разумевање концепта пре него што се исти искаже).
Облици наставе проистичу из постављених општих и специфичних циљева и задатака.
Најзаступљенији су: фронтална настава, рад у пару, тимски рад, групни рад, индивиду-
ални рад и програмирана настава. У току једног часа може се променити неколико облика
рада. Постоје и посебни облици наставе који се обавезно изводе – додатни и допунски рад.
Припремни и допунски рад се, према Закону о средњем образовању и васпитању (члан
24), организује ако се у току школске године укаже потреба за таквим облицима рада. При-
премни рад се реализује за ученике који полажу разредни или поправни испит и за ванред-
не ученике. Допунски рад се организује за ученике који стално или повремено заостају у
савлађивању образовно-васпитних садржаја у редовној настави.
Задаци допунског и припремног рада су:
• ближе одређивање програмског садржаја у којима ученик не постиже добре резултате;
• омогућавање да се савладавање овако утврђених садржаја усклади са потребама и
могућностима ученика за које се организује овакав рад;
• пружање помоћи ученицима да се лакше уклопе у редовну наставу и праћење њиховог
напредовања.
Садржаји за допунски и припремни рад прописани су наставним планом и програмом.
Избор, ширина и дубина обраде, као и дидактичко-методички поступци, у овим облицима
рада су, више него обично, под утицајем индивидуалних карактеристика укључених у такав
рад.
153
Пре издвајања ученика за допунски рад треба утврдити узроке и тешкоће које имају у
савладавању градива. У препознавању ученика за допунски рад учествују предметни на-
ставник, одељењски старешина, педагошко-психолошка служба и родитељ, па се допунским
радом у највећем броју случајева обухватају:
• ученици који долазе из других школа, посебно из оних где се програм разликује (учени-
ци из иностранства);
• ученици који су због болести, породичних и других оправданих разлога дуже одсуство-
вали са наставе;
• ученици који перманентно заостају и тешко савлађују наставно градиво;
• ученици који у току наставне године више пута у континуитету добију негативну оцену,
а посебно ако су у претходном разреду показали недовољан успех или ишли на поправ-
ни испит;
• ученици који у недовољној мери познају језик на ком се обавља настава.
Допунски рад се организује у току читаве школске године, с тим што за неке ученике
или групе ученика може да траје дуже или краће време, што зависи од узрока заостајања и
времена потребног за савладавање одређеног наставног садржаја, док се припремни рад ор-
ганизује у августовском испитном року. Организује се са групом ученика из једног или више
одељења једног разреда или са појединим ученицима. Број ученика не треба да буде већи од
10, а најбољи ефекти се постижу у мањим групама или, уколико услови дозвољавају, инди-
видуално. Уколико се организује допунски рад у групама, онда посебну пажњу треба обра-
тити на то да групе обухватају ученике који имају исте проблеме и тешкоће. Допунски рад се
може одржавати једном или два пута у току недеље, а час може трајати краће или дуже од 45
минута, што у највећој мери зависи од способности ученика. Пракса је показала да највећи
успех на допунској настави има рад са једним учеником, јер је тада ученик најслободнији да
каже и да и по неколико пута тражи да се решавању одређеног проблема приступи на раз-
личите начине и у различитим ситуацијама како би могао да усвоји неки део градива.
154
Садржаји додатног рада полазе од редовног плана и програма, али се, сходно интересо-
вањима и потребама ученика, продубљују и допуњују новим садржајима и као такви важе
само за ученике обухваћене додатном наставом. Ти садржаји су индивидуализовани, како у
односу на ученике, тако и у односу на наставника, па би било добро да наставници из струч-
ног већа Рачунарства и информатике у договору између себе поделе области предвиђене
додатним радом (према сопственим способностима и афинитетима). Додатним радом треба
обухватити ученике који постижу изузетне резултате у савладавању садржаја програма,
који показују интересовање за проширивање и продубљивање знања и вештина, који су
обдарени и талентовани за одређене области.
Програм додатног рада треба планирати и организовати у оквиру недељног распореда
часова образовно-васпитног рада. Часови могу да трају краће или дуже од 60 минута, зави-
сно од садржаја који се остварују. Треба настојати да се часови додатног рада организују у
супротној смени, за време радних субота и слично, а према могућностима школе и времену
које одговара наставницима и ученицима. С обзиром на функцију додатног рада, настав-
ник треба да препоручи најразноврсније облике, методе и поступке рада који ће ученицима
омогућити да њихове креативне способности и интересовања максимално дођу до изражаја
(индивидуални и групни облик, проблемска и индивидуализована настава и други облици
наставног рада). Наставник треба да упућује ученике да се самостално служе литературом,
приручницима, да траже материјал из области за коју су заинтересовани на интернету и да
на тај начин долазе до нових идеја где би и како могли да искористе своје знање, да праве
записе, анализе, закључке и сл.
Због велике специфичности самог предмета Рачунарство и информатика и интересовања
ученика за нове технологије, могуће је направити велики број секција, које могу да похађају
ученици различитих разреда који имају афинитета према одређеној теми, нпр.:
• Секција за програмирање;
• Секција за архитектуру рачунарског система;
• Секција за рачунарску графику;
• Секција за рачунарске мреже;
• Секција за обраду звука;
• Секција за обраду видео-записа;
• Секција за веб-дизајн...
155
6. НАСТАВНА СРЕДСТВА
Наставним средствима сматрају се сва материјална средства за остваривање захтева која
наставнику или ученику служе за успешно и разумно обликовање и извођење образовног и
васпитног процеса. Наставна средства су увек везана за тему наставног часа и градиво које
се обрађује. Могу се поделити на:
• текстуална: уџбеник, збирка задатака, радна свеска, наставни листићи и други штам-
пани материјали;
• визуелна, аудио-визуелна и аудитивна: цртежи, слике, фотографије, дијаграми, плака-
ти, таблице, модели, макете, апарати, ЦД-и, филмови, ТВ емисије, рачунарске презента-
ције, интернет презентације...
Наставна средства не треба поистовећивати са наставним помагалима, јер она немају ди-
ректне везе са наставним градивом. Наставним помагалима сматрају се техничка помагала
која су неопходна за употребу наставних средстава и реализацију часа, а то су: табла и креда,
рачунар, пројектор, фото-апарат, камера...
Под текстуалним наставним средствима у оквиру Рачунарства и информатике за трећи
разред подразумева се уџбеник који је одабрало стручно веће. Уџбеник има две функције:
наставнику служи као основни материјал да припреми, одмери количину градива и обли-
кује наставни садржај за час који припрема, а ученицима као помоћ у савладавању обрађе-
ног градива. Поред уџбеника, користе се и наставни листићи које припрема наставник за
реализацију појединих наставних јединица. У њима су најчешће дати задаци које треба ура-
дити на часу и задаци за самостални и домаћи рад, како би ученици што боље усвојили
градиво и увежбали неку област.
Што се осталих наставних средстава тиче, због саме природе предмета, највише се кори-
сте рачунарске и интернет презентације за одговарајући наставни садржај, а могу се наћи
готово за сваку тему. Наставник има одговорност да пажљиво прегледа филмове које би
приказао ученицима (да одабере најадекватније и за њих се пажљиво припреми). Филм
је, свакако, најинтересантнији, пошто омогућава непосредно доживљавање и мотивисање
ученика. Најважније дидактичке функције филма су у томе што он: приближава стварност
која није доступна у процесу учења, буди интересовање према предмету сазнања, развија
способност опажања, активност, машту и мишљење. Може се користити у свим фазама на-
ставног процеса, као и за остваривање различитих циљева и задатака.
Смишљена употреба наставних средстава изграђује прецизна опажања, трагања, уоча-
вање проблема, као и различите интелектуалне операције, а пре свега функционално
мишљење. Различита знања која су ученици стекли уз помоћ наставних средстава подстичу
их на поређења, закључивања и уопштавања. Правилном употребом наставних средстава
може се утицати на рационализацију рада наставника и ученика, а тиме и на повећање успе-
шности наставе. Наставна средства олакшавају наставнику рад на припремању наставе,
ослобађају га сувишног излагања материје и омогућавају ефикаснију индивидуалну помоћ у
раду, док ученицима појачавају концентрацију на процес учења.
156
7. ОЦЕЊИВАЊЕ УЧЕНИКА
Основна сврха оцењивања је да унапређује квалитет процеса учења. Оцењивање је са-
ставни део процеса наставе и учења којим се стално прати остваривање прописаних циље-
ва, исхода, стандарда постигнућа ученика и стандарда квалификација, као и напредовања
ученика у развијању компетенција у току савладавања школског програма. Оцењивање
је континуирана педагошка активност којом се код ученика развија активан однос према
учењу, подстиче мотивација за учење, развијају радне навике, а ученик се оспособљава за
објективну процену сопствених постигнућа и постигнућа других ученика, при чему развија
одређени систем вредности.
Како би се омогућила ефикасност учења, наставник се руководи следећим принципима
при оцењивању:
• поузданост: означава усаглашеност оцене са утврђеним, јавним и прецизним крите-
ријумима оцењивања;
• ваљаност: оцена исказује ефекте учења (оствареност исхода, ангажовање и напредо-
вање ученика);
• разноврсност начина оцењивања: избор одговарајућих и примена различитих метода и
техника оцењивања како би се осигурала ваљаност, поузданост и објективност оцена;
• редовност и благовременост оцењивања: обезбеђује континуитет у информисању уче-
ника о њиховој ефикасности у процесу учења и ефекат оцене на даљи процес учења;
• оцењивање без дискриминације и издвајања по било ком основу;
• уважавање индивидуалних разлика, образовних потреба, узраста, претходних пости-
гнућа ученика.
Применом ових принципа наставник обезбеђује да оцена буде објективан показатељ
постигнућа ученика.
Праћење развоја и напредовања ученика у достизању исхода и стандарда постигнућа
у току школске године обавља се формативним и сумативним оцењивањем. Форматив-
но оцењивање је прикупљање релевантних података о напредовању ученика, постизању
прописаних исхода и циљева. Ово оцењивање наставнику даје повратну информацију за
даље креирање процеса учења, а ученику препоруку за даље напредовање и евидентира се
у педагошкој документацији наставника. На основу података прикупљених формативним
оцењивањем могу се извести оцене које се уносе у дневник рада. Подаци за формативно
оцењивање су подаци о знањима, вештинама, ангажовању, самосталности и одговорности
према раду. Сумативно оцењивање је вредновање постигнућа ученика на крају програмске
целине, модула или за класификациони период. Ове оцене су по правилу бројчане и уносе
се у дневник рада, а могу бити унете и у педагошку документацију. Обе врсте оцењивања
део су јединственог процеса оцењивања заснованог на унапред утврђеним критеријумима.
Оцена је јавна и саопштава се и образлаже ученику одмах по спроведеном поступку
оцењивања.
157
Оценом се изражава:
• оствареност циљева и прописаних, односно прилагођених стандарда постигнућа, до-
стизање исхода и степена развијености компетенција у току савладавања програма
предмета (процењује се на основу овладаности појмовном структуром и терминоло-
гијом; разумевања, примене и вредновања научених поступака и процедура и реша-
вања проблема; рада са подацима и информацијама; интерпретирања, закључивања и
доношења одлука; вештина комуникације и изражавања у различитим формама; овла-
даности моторичким вештинама; извођења радних задатака);
• ангажовање ученика у настави (активно учествовање у настави, одговоран однос према
постављеним задацима, сарадња са другима и показано интересовање и спремност за
учење и напредовање);
• напредовање у односу на претходни период (приликом оцењивања уважава се остваре-
на разлика у достизању критеријума постигнућа);
• препорука за даље напредовање ученика (јасно указује ученику на то шта треба да по-
бољша у наредном периоду и саставни је део повратне информације уз оцену).
Оцењивање успеха ученика из наставног предмета је сталан образовно-васпитни посту-
пак који има више функција. Оцена нарочито треба:
• да буде објективна и поуздана мера напредовања ученика у савладавању наставног пла-
на и програма;
• да ученика редовно обавештава о постигнућу;
• да подстиче ученика на активан однос према настави, другим облицима образовно-
-васпитног рада и учења;
• да ученика оспособљава за објективну процену сопствених и постигнућа других уче-
ника;
• да је показатељ ефикасности рада наставника и школе.
Оцена је конкретизација једне комплексне ситуације и никада није једноставна конста-
тација. Да би била што објективнија, наставник је обавезан да у процесу оцењивања води
рачуна о циљевима наставе, претходном искуству и активностима ученика, да дефинише
активности и методологију спровођења тих активности и да води рачуна о интеракцији у
учионици. Да би се оцењивање ваљано спровело и било у функцији наставе, мора се водити
рачуна и о потребама ученика.
Улоге наставника и потребе ученика у процесу оцењивања дате су следећом табелом4:
4
Д. Бјекић, Ж. М. Папић, Тестови знања: израда и примена у средњој школи, Чачак, 2006.
158
Улоге наставника Потребе ученика
• јасно одредите чему треба да поучите • Потребно ми је да знам шта се од мене
Циљеви
наставе
ученике; очекује.
• размотрите са ученицима постављене
циљеве;
• одредите учениково претходно • Потребно ми је да знам шта радим
искуство; добро, а шта не радим добро.
активности
Претходно
искуство и
Критеријуми оцењивања успеха ученика из наставног предмета су: врста, обим и ниво
усвојених знања, умења и вештина у односу на прописане наставним планом и програмом
за предмет, разред, образовни профил, односно врсту школе.
Врста знања, умења и вештина одређују се као основна, проширена и продубљена у одно-
су на њихов значај за остваривање циља и задатака предмета. За довољну оцену неопходна
су основна знања. За већу оцену од довољне неопходна су проширена, односно продубљена
знања, умења и вештине ученика.
Обим знања, умења и вештина утврђује се зависно од количине усвојених садржаја про-
писаних за одређени предмет. Ниво знања, умења и вештина утврђује се зависно од квали-
тета усвојеног садржаја: сложености усвојених знања, умења и вештина; степена схватања и
разумевања усвојених садржаја и оспособљености за њихову примену.
Успех ученика у учењу изражава се оценом: одличан (5), врло добар (4), добар (3), довољан
(2) и недовољан (1).
Оцену одличан (5) добија ученик који:
• примењује знања, укључујући и методолошка, у сложеним и непознатим ситуацијама,
самостално и на креативан начин објашњава и критички разматра сложене садржинске
целине и информације; процењује вредност теорија, идеја и ставова;
• бира, повезује и вреднује различите врсте и изворе података;
159
• формулише претпоставке, проверава их и аргументује решења, ставове и одлуке;
• решава проблеме који имају више решења, вреднује и образлаже решења и примењене
поступке;
• изражава се на различите начине (усмено, писмено, графички, практично и др.), укљу-
чујући и коришћење информационих технологија и прилагођава комуникацију и начин
презентације различитим контекстима;
• самостално извршава сложене радне задатке поштујући стандардизовану процедуру, по-
казује иницијативу и прилагођава извођење, начин рада и средства новим ситуацијама;
• доприноси групном раду продукцијом идеја, иницира и организује поделу улога и задата-
ка, уважава мишљења других чланова групе и помаже им у реализацији њихових задата-
ка, посебно у ситуацији „застоја” у групном раду; фокусиран је на заједнички циљ груп-
ног рада и преузима одговорност за реализацију продуката у задатом временском оквиру;
• утврђује приоритете и ризике и на основу тога планира и организује краткорочне и
дугорочне активности и одређује потребно време и ресурсе;
• континуирано показује заинтересованост и одговорност према сопственом процесу
учења, уважава препоруке за напредовање и реализује их.
Оцену врло добар (4) добија ученик који:
• логички организује и самостално тумачи сложене садржинске целине или информације;
• повезује садржаје и концепте из различитих области са ситуацијама из живота;
• пореди и разврстава различите врсте података према више критеријума истовремено;
• заузима ставове на основу сопствених тумачења и аргумената;
• уме да анализира проблем, изврши избор одговарајуће процедуре и одговарајућег
поступка у решавању нових проблемских ситуација;
• изражава се на различите начине (усмено, писмено, графички, практично, ликовно и
др.), укључујући и коришћење информационих технологија, и прилагођава комуника-
цију задатим контекстима;
• самостално извршава сложене радне задатке према стандардизованој процедури;
• планира динамику рада, организује активности у групи, реализује сопствене задатке
имајући на уму планиране заједничке продукте групног рада;
• планира и организује краткорочне и дугорочне активности, утврђује приоритете и
одређује потребно време и ресурсе;
• континуирано показује заинтересованост за сопствени процес учења, уважава препо-
руке за напредовање и углавном их реализује.
Оцену добар (3) добија ученик који:
• разуме и самостално објашњава основне појмове и везе између њих;
• разврстава различите врсте података у основне категорије према задатом критеријуму;
• уме да формулише своје ставове, процене и одлуке и објасни на који је начин дошао до
њих;
• бира и примењује одговарајуће поступке и процедуре у решавању проблемских ситу-
ација у познатом контексту;
• уме јасно да искаже одређени садржај у складу са захтевом и на одговарајући начин
(усмено, писмено, графички, практично и др.), укључујући коришћење информационих
технологија;
160
• самостално извршава рутинске радне задатке према стандардизованој процедури;
• извршава додељене задатке у складу са циљевима, очекиваним продуктима и планира-
ном динамиком рада у групи; уважава чланове тима и различитост идеја;
• планира и организује краткорочне активности и одређује потребно време и ресурсе;
• показује заинтересованост за сопствени процес учења, уважава препоруке за напредо-
вање и делимично их реализује.
Оцену довољан (2) добија ученик који:
• познаје и разуме кључне појмове и информације и повезује их на основу задатог крите-
ријума;
• усвојио је одговарајућу терминологију;
• закључује директно на основу поређења и аналогије са конкретним примером;
• способан је да се определи и да искаже став;
• примењује одговарајуће поступке и процедуре у решавању једноставних проблемских
ситуација у познатом контексту;
• уме јасно да искаже појединости у оквиру садржаја, држећи се основног захтева и на
одговарајући начин (усмено, писмено, графички, практично и др.), укључујући и ко-
ришћење информационих технологија;
• уз инструкције извршава рутинске радне задатке према стандардизованој процедури;
• извршава додељене задатке искључиво на захтев и уз подршку осталих чланова групе;
уважава чланове тима и различитост идеја;
• планира и организује краткорочне активности на основу задатих услова и ресурса;
• повремено показује заинтересованост за сопствени процес учења, а препоруке за
напредовање реализује уз стално праћење.
Оцену недовољан (1) добија ученик који не испуњава критеријуме за оцену довољан (2) и
не показује заинтересованост за сопствени процес учења, нити напредак.
161
недеље. Распоред и промене распореда утврђује одељењско веће на препоруку педагошког
колегијума. Наставник је дужан да обавести ученике о наставним садржајима који ће се
проверавати према распореду најкасније пет дана пре провере.
Провера и праћење постигнућа ученика обавља се на сваком часу. Ученик у току часа може
да буде само једанпут оцењен након провере постигнућа. Оцена добијена после писмене про-
вере постигнућа уписује се у дневник рада у року од осам дана од дана провере. Ако после пи-
смене провере постигнућа више од половине ученика једног одељења добије недовољну оце-
ну, писмена провера се понавља за ученика који је добио недовољну оцену и за ученика који
није задовољан оценом. Оваква провера се понавља једанпут и може да буде организована на
часу допунске наставе. Пре организовања поновљене провере, наставник је дужан да орга-
низује допунску наставу, односно да организује допунски рад. Ученик и родитељ имају право
на образложење оцене, као и право увида у рад ученика (писмене радове, контролне задатке,
тестове знања, производе практичног рада и др.) на основу кога је оцена дата.
Наставничко и одељењско веће и стручна већа планирају, прате и анализирају оцењи-
вање и предлажу мере за унапређивање квалитета оцењивања и постигнућа ученика.
Закључну оцену из предмета утврђује одељењско веће на предлог предметног наставника.
Закључна оцена је бројчана и утврђује се на основу свих оцена од почетка школске године и
сагледавања развоја, напредовања и ангажовања ученика и прикупљених података у педа-
гошкој документацији наставника. Ученику који има мање од три оцене у току полугодишта
не може се утврдити закључна оцена. Предметни наставник који није утврдио прописан
број оцена у току полугодишта обавезан је да за ученика који редовно похађа наставу, а нема
прописани број оцена, спроведе оцењивање на редовном часу или часу допунске наставе у
току полугодишта (у току последње недеље наставе) уз присуство одељењског старешине,
члана стручног већа, стручног сарадника (педагога или психолога) или групе ученика. Ако
предметни наставник, из било којих разлога, није у могућности да организује овакав час,
школа је дужна да обезбеди одговарајућу стручну замену.
Одељењски старешина је у обавези да сарађује са предметним наставницима у праћењу
развоја и напредовања ученика, прати оцењивање и подстиче наставнике да редовно оцењују
ученике.
У околностима када два или више наставника предлажу јединствену оцену, предлог
закључне оцене се утврђује на основу усаглашавања њиховог мишљења у односу на утврђе-
не критеријуме. Не може се предложити позитивна оцена из предмета уколико наставник
једног дела предмета предлаже недовољну оцену.
Закључна оцена за успех из предмета може изузетно да буде и највећа појединачна оце-
на уписана у дневник, добијена било којом техником провере постигнућа, а не може бити
мања од:
• одличан (5), ако је аритметичка средина свих појединачних оцена најмање 4,50;
• врло добар (4), ако је аритметичка средина свих појединачних оцена од 3,50 до 4,49;
• добар (3), ако је аритметичка средина свих појединачних оцена од 2,50 до 3,49;
• довољан (2), ако је аритметичка средина свих појединачних оцена од 1,50 до 2,49.
Закључна оцена за успех из предмета је недовољан (1) ако је аритметичка средина свих
појединачних оцена мања од 1,50.
162
Одељењско веће може да промени предлог закључне оцене предметног наставника
искључиво уз образложење према критеријумима утврђеним Правилником, а утврђује се
гласањем, евидентира се у напомени, а у записнику одељењског већа шире се образлаже.
Закључна оцена утврђена на одељењском већу уписује се у дневник рада у предвиђену ру-
брику.
Уколико ученик има недовољну закључну оцену на крају првог полугодишта, наставник
је дужан да организује допунску наставу за припрему ученика и спроведе оцењивање у вези
са поправљањем оцене уз присуство одељењског старешине или стручног сарадника или на
часу допунске наставе у току полугодишта.
Оцена на испиту се утврђује на основу прописаних циљева, исхода, стандарда пости-
гнућа ученика и стандарда квалификација већином гласова укупног броја чланова комиси-
је, у складу са Законом. Оцена комисије је коначна. Ученик може дневно да полаже испит
само из једног предмета.
Одељењски старешина је у обавези да благовремено, а најмање четири пута у току школске
године, на примерен начин обавештава родитеље о постигнућима ученика, напредовању,
мотивацији за учење и напредовање, владању и другим питањима значајним за образовање
и васпитање.
163
8. ЛИТЕРАТУРА
Бјекић, Д., Папић, Ж., М. (2006): Тестови знања – израда и примена у средњој школи, Чачак:
ПАП.
Вујиновић, С. (2015): Рачунарство и информатика – Приручник за наставнике рачунар-
ства и информатике за други разред гимназије, Београд: Klett.
Марић, Ф. (2016): Информатика 3, уџбеник за трећи разред гимназије, Београд: Klett.
Мркаљ, З. (2014): Методичка слагалица 7, Београд: Klett.
Трнавац, Н., Ђорђевић, Ј. (1995): Педагогија, Београд: Научна књига.
Чабаркапа, М. (2014): Рачунарство и информатика за 3. разред гимназије, Београд: Круг.
Чабаркапа, М. (2006): Рачунарство и информатика – збирка задатака за IV разред гимна-
зије, Београд: Завод за уџбенике.
Чабаркапа, М. (2004): Рачунарство и информатика за трећи разред гимназије, Београд: Круг.
Корисни линкови
www.math.pmf.unizg.hr/~bruckler/mni2.ppt (Методика наставе информатике, РowePoint пре-
зентација),
www.dmi.uns.ac.rs/site/dmi/download/master/GordanaStankovic.pdf (Корелација наставе ма-
тематике и информатике у средњим школама)
164