Programiranje
Vođeni proces učenja i poučavanja
Pregled sadržaja obrađenih tijekom nastave i materijala koji služe kao podsjetnik, dodatno objašnjenje ili proširenje gradiva. Opseg i dubina obrade prilagođavaju se predznanju učenika, pitanjima koja se pojavljuju tijekom rada i raspoloživom vremenu.
SIU 1
Funkcije i rekurzija u programiranju
Odrediti ulazne i izlazne parametre funkcionalnih cjelina
Zašto koristimo funkcije?
Podjela programa na manje cjeline, ponovna uporaba koda, preglednost, lakše testiranje i održavanje programa.
Definicija i poziv funkcije
Korisnički kreirane funkcije, naziv funkcije, povratni tip, parametri, tijelo funkcije i mjesto poziva funkcije u programu.
Ulazni i izlazni parametri
Prepoznavanje podataka koje funkcija prima, obrade koju izvodi i rezultata koji vraća programu.
Funkcije bez parametara i bez povratne vrijednosti, više parametara, prosljeđivanje po vrijednosti i pregled dosega varijabli.
Upotrijebiti polje kao argument funkcije
Polje kao parametar funkcije
Prosljeđivanje jednodimenzionalnog polja funkciji te značenje parametara koji opisuju polje.
Obrada elemenata u funkciji
Zbrajanje, prebrojavanje, minimum i maksimum, pretraživanje te izmjena elemenata polja.
Povrat rezultata obrade
Funkcija koja vraća izračunatu vrijednost i funkcija koja mijenja sadržaj proslijeđenog polja.
Dvodimenzionalna polja, funkcije za sortiranje ili pretraživanje te usporedba rada s poljima i spremnicima STL-a.
Identificirati i izdvojiti manje cjeline u problemu te ih integrirati u rješenje
Dekompozicija problema
Prepoznavanje dijelova problema koji se mogu riješiti kao zasebne funkcionalne cjeline.
Određivanje odgovornosti funkcija
Svaka funkcija obavlja jasno određenu zadaću i ima definirane ulaze i izlaze.
Povezivanje funkcionalnih cjelina
Pozivanje više funkcija iz glavnog programa i prosljeđivanje rezultata između pojedinih dijelova rješenja, lokalne i globalne varijable.
Razlaganje većeg problemskog zadatka na više funkcija, usporedba različitih mogućnosti dekompozicije i rasprava o čitljivosti programa.
Analizirati algoritam, izraditi funkcionalne cjeline i integrirati ih u program
Analiza problema i algoritma
Određivanje ulaznih podataka, očekivanih rezultata, potrebnih obrada i odnosa među dijelovima rješenja.
Projektiranje funkcionalnih cjelina
Unaprijed definirane funkcije.
Projektiranje funkcionalnih cjelina
Odabir funkcija, njihovih parametara, povratnih vrijednosti i redoslijeda izvođenja, preopterećenje funkcije.
Integracija i provjera programa
Povezivanje funkcija, provjera ispravnosti pojedinih dijelova i testiranje cjelovitog programskog rješenja.
Refaktoriranje postojećeg programa, izdvajanje ponovljenog koda u funkcije te usporedba početnog i poboljšanog rješenja.
Prepoznati i koristiti rekurziju u rješavanju problema
Pojam rekurzije
Funkcija koja poziva samu sebe, osnovni slučaj i rekurzivni korak.
Praćenje rekurzivnog poziva
Analiza slijeda poziva, uvjeta završetka i povratka vrijednosti kroz rekurzivne pozive.
Rekurzivno rješavanje problema
Prepoznavanje problema koji se može svesti na isti problem manjeg opsega i izrada jednostavnog rekurzivnog rješenja.
Rekurzivno računanje potencije i faktorijela, obrada znamenki, jednostavni problemi nad nizovima te drugi problemi prikladni za rekurzivnu dekompoziciju.
Procijeniti učinkovitost rješenja i odabrati optimalno rekurzivno ili iterativno rješenje
Više načina rješavanja istog problema
Usporedba dvaju ili više ispravnih algoritamskih rješenja.
Iterativno i rekurzivno rješenje
Usporedba strukture, čitljivosti, broja operacija i zahtjeva za memorijom.
Odabir prikladnog pristupa
Obrazlaganje izbora rješenja s obzirom na problem, jednostavnost, učinkovitost i održavanje programa.
Jednostavna analiza vremenske i prostorne složenosti, broj rekurzivnih poziva te prepoznavanje situacija u kojima rekurzija nije najbolji izbor.
Pregled SIU 1