Stručni nastavni predmeti

Programiranje i programski jezici

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

Skip to toolbar