Cilj nastave predmeta Programiranje i programski jezici je upoznavanje sa algoritamskim načinom rešavanja problema, ovladavanje tehnikama programiranja i sticanja znanja o savremenim programskim jezicima.
Razred | Prvi |
Nedeljni fond časova | 3 časa |
Godišnji fond časova | 105 časova |
Blok nastava-praksa | 60 časova |
SADRŽAJI PROGRAMA
UVOD U ALGORITME (4 časa)
– Pojam algoritma,
– veza između algoritama i računara,
– način zapisa algoritama,
– osnovne konstrukcije u kreiranju algoritama,
– korišćenje algoritama u rešavanju problema.
PROGRAMSKI JEZICI (4 časa)
– razvoj i pregled programskih jezika,
– rešavanje problema primenom računara
UVOD U PROGRAMIRANjE U VIZUELNOM GRAFIČKOM OKRUŽENjU (6 časova)
– kreiranje aplikacije
– programiranje vođeno događajima i rukovanje događajima
– upoznavanje osnovnih standardnih komponenti i događaja
– prikaz i izrada jednostavniih primera
OSNOVNI ELEMENTI IZABRANOG PROGRAMSKOG JEZIKA (15 časova)
– osnovni tipovi podataka
– pregled operatora
– izrazi, konverzije podataka
– unošenje i prikaz podataka
– algoritmi linijske strukture (algoritam zamene vrednosti, cifre u zapisu dvocifrenog/trocifrenog broja, zadaci sa uglovima, crtanje raznih oblika, pomeranje loptice)
RAZGRANATE UPRAVLJAČKE STRUKTURE (16 časova)
– opis razgranatih upravljačkih struktura (naredbe grananja).
– izrada programa sa upravljačkim razgranatim strukturama
– uspeh u zavisnosti od prosečne ocene
– rad sa datumima
– minimum/maksimum tri cela broja
– pripadnost tačke krugu
– pripadnost tačke pravougaoniku
– primeri programa sa crtanjem
– primeri jednostavnih animacija
POTPROGRAMI (10 časova)
– zapis, poziv, prenos parametara
– globalne i lokalne promenljive
– izrada programa korišćenjem potprograma
– uredi tri broja
– rad sa ciframa trocifrenog broja (određivanje najveće/najmanje cifre, kreiranje najvećeg broja od cifara datog trocifrenog broja)
– određivanje sutrašnjeg/jučerašnjeg datuma zbir, razlika uglova izraženih stepenim, minutama i sekundama potprogrami u jednostavnim animacijama i programima sa crtanjem
CIKLIČKE UPRAVLJAČKE STRUKTURE (23 časa)
– Opis cikličkih upravljačkih struktura (ciklusa)
– Izrada programa sa cikličkim upravljačkim strukturama
– izračunavanje sume generisane sekvence brojeva
– sumiranje redova
– određivanje maksimalnog/minimalnog unetog broja
– rad sa ciframa prirodnog broja
– prikaz delioca broja
– provera da li je broj prost
– rastavljanje broja na proste činioce
– određivanje NZD, NZS
– razni primeri programa sa crtanjem
RAD SA TEKSTUALNIM DATOTEKAMA (FAJLOVIMA)
(7 časova)
– pojam, otvaranje, zatvaranje, čitanje
– kreiranje imenika, rečnika i sličnih aplikacija
– osnovne analize teksta
– broj slova, broj linija, broj rečenica, broj reči, dužina najduže reči
– transformacija fajla (brisanje komentara, brisanje suvišnih belina)
OPIS SLOŽENIH STRUKTURA PODATAKA U PROGRAMSKOM JEZIKU (11 časova)
– korišćenje jednodimenzionih nizova: kreiranje niza; indeksi u nizu
– osnovni algoritmi nad nizovima
– formiranje niza
– analiza sadržaja niza (suma elemanta, prosek, određivanje najmanjeg/najvećeg elementa)
BLOK NASTAVA:
60 časova blok nastave treba da prati gradivo i da služi za vežbanje obrađenih tema, dok je trideset časova predviđeno da učenici izrađuju i prezentuju projektne zadatke.
NAPOMENA: Za ovaj predmet u I razredu predviđena je izrada tri pismena zadatka (jedan u prvom i dva u drugom polugodištu) u trajanjau od po dva časa.
Razred | Drugi |
Nedeljni fond časova | 4 časa |
Godišnji fond časova | 140 časova |
Blok nastava-praksa | 60 časova |
SADRŽAJI PROGRAMA
RAD SA JEDNODIMENZIONIM NIZOVIMA (16 časova)
– analiza sadržaja niza
– rastuće serije elemenata
– provera da li su dati nizovi anagrami,
– provera da li je jedan niz podniz drugog
– provera da li je niz periodičan
– provera da li je niz palindrom
– određivanje najdužeg palindroma
– transformacije niza
– brisanje elementa
– brisanje dupliakta
– dodavanje elementa
– ciklično pomeranje niza
– grafički prikaz niza (niz krugova, niz praougaonika, niz autombila, niz pahuljica…)
– kreiranje jednostavnih animacija (npr. igra zmijica),
– algoritmi iz teorije brojeva sa nizovima (Eratostenovo sito, Paskalov trouga)
– rad sa velikim brojevima i polinomima (sabiranje, oduzimanje, množenje, izračunavanje vrednosti polinoma)
ALGORITMI SORTIRANjA NIZOVA (16 časova)
– SelectionSort
– InsertionSort
– BubbleSort
– grafički prikaz sortiranja
– primena algoritama sortiranja.
RAD SA NISKAMA (STRINGOVIMA) (8 časova)
– upoznavanje funkcija za rad sa stringovima
– primena funkcija za rad sa stringovima
REKURZIJA (16 časova)
– opis rekurzije i rekurzivnog načina rešavanja problema
– rekurzivni algoritmi
– nad prirodnim brojevima suma, faktorijel, stepen, ispis cifara
– Fibonačijevi brojevi (uz poseban osvrt na nedostataprirekurzivnorešavanju ovog problema)
– crta jednostavnih fraktala
– provera sintaksne ispravnosti i izračunavanje vrednosti potpuno zagrađenih izraza.
ALGORITAM BRZOG SORTIRANjA NIZA (10 časova)
– Quick Sort
– algoritam binarne pretrage
– primeri primene.
DVODIMENZIONI NIZOVI (MATRICE) (20 časova)
– kreiranje matrice
– upoznavanje kontrole za unos i prikaz matrice
– analiza sadržaja matrice
– određivanje najvećeg/najmanjeg elementa
– određivanje proseka po kolonama, po vrstama
– provera uređenost vrsta/kolona
– iteracija kroz određene delove matrice
– dijagonale
– trouglove
– kvadrate
– okoline datog polja
– kreiranje matrice date osobine
– jedinična matrica
– spiralna matrica
– transformacije matrice
– brisanje vrste/kolone
– dodavanje vrste/kolone
– simetrična preslikavanja
– sortiranje po vrstama/kolonama
– rešavanje problema korišćenjem matrica
– sistem lineranih jednačina
– tabela ocena učenika
– predstavljanje relacija matricama i analiza njihovih osobina
– rodbinske veze
– veze između gradova
PRETRAGA SA VRAĆANjEM – BAKTREKING (16 časova)
– rekurzivna implementacija pretrage sa vraćanjem
– bojenje oblasti
– obilazak šahovske table skakačem
– put kroz lavirint
– osam dama
– generisanje podskupova,
– generisanje permutacija
– primeri iterativne implementacije pretrage sa vraćanjem
SLOŽENIJE ANALIZE TEKSTA (14 časova)
– sintaksna analiza (rekurzivni spust i izračunavanje vrednosti izraza)
– razni algorimi za pretragu teksta
OPIS NEKIH NUMERIČKIH, ALGEBARSKIH I GEOMETRIJSKIH ALGORITAMA (12 časova)
BLOK NASTAVA:
60 časova blok nastave treba da prati gradivo i da služi za vežbanje obrađenih tema, dok je trideset časova predviđeno da učenici izrađuju i prezentuju projektne zadatke.
NAPOMENA: Pošto je fond časova četiri časa nedeljno predviđena su 4 pismena zadatka (po 2 časa za izradu i 1 za ispravak).
Razred | Treći |
Nedeljni fond časova | 2 časa |
Godišnji fond časova | 70 časova |
Blok nastava-praksa | 18 časova |
SADRŽAJI PROGRAMA
UVOD U OBJEKTNO ORJENTISANO PROGRAMIRANjE
(6 časova):
– nastanak i razvoj
– osnovna ideja i osnovni pojmovi objekto orijentisanog programiranja
– osnovni principi objekto orijentisanog programiranja
POJAM KLASE (22 časa)
– atributi
– metode
– konstruktori kao specijalne metode kreiranje instanci klase
– preopterćivanje metoda
– pristup elementima klase (princip enkapsulacije)
– statički članovi klase
– izrada klasa i njihova primena
– klasa za rad sa kompleksnim brojevima
– klasa za rad sa razlomcima
– klasa za rad sa tačkama u Dekartovom koordinatnom sistemu
– razne klase za rad sa geometrijskim figurama u ravni
– klase za rad sa skupovima, velikim brojevima, polinomima
NASLEĐIVANjE U OBJEKTNO ORIJENTISANOM PROGRAMIRANjU (24 časa)
– opis nasleđivanja u objekto orijentisanim jezicima, pojam polimorfizam
– apstraktne klase
– Primeri nasleđivanja klasa
– izrada hijerarhije klasa za rad sa geometrijskim figurama u ravni (krug, trougao, kvadrat, pravougaonik, mnogougao), pri tome obezbediti crtanje, proveru da li tačka pripada figuri i slično
– izrada hijerarhije klasa za rad sa matematičkim funkijama (obezbediti čitanje funkcije iz stringa, izračunavanje vrednosti, proeveru definisanosti, crtanje funkicje)
KREIRANjE BIBLIOTE KLASA, IZRADA PROJEKTA
(12 časova)
BLOK NASTAVA:
Na časovima blok nastave predviđena je izrada projektnih zadataka što će učenicima omogućiti praktičnu primenu stečenih znanja a profesorima bolji uvid u postignute rezultate. Tokom izrade projektnih zadataka predlaže se da se učenici podele u timove (3 do 4 člana) i da rade na projektnom zadatku.
NAPOMENA: Predviđena je izrada dva pismena zadatka (po 1 u svakom polugodištu) u trajanju od po dva časa. Po jedan čas je predviđen za ispravak pismenih zadataka