Programiranjevpuip

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
6 ishoda učenja
20 sati za SIU 1

SIU 1

Funkcije i rekurzija u programiranju

I1

Odrediti ulazne i izlazne parametre funkcionalnih cjelina

Okvirno planirana obrada: 5 sati

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.

Primjeri Primjeri programa – dodati naknadno

Ulazni i izlazni parametri

Prepoznavanje podataka koje funkcija prima, obrade koju izvodi i rezultata koji vraća programu.

Podsjetnik Kratki sažetak – dodati naknadno
Moguća proširenja

Funkcije bez parametara i bez povratne vrijednosti, više parametara, prosljeđivanje po vrijednosti i pregled dosega varijabli.

I3

Upotrijebiti polje kao argument funkcije

Okvirno planirana obrada: 3 sata

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.

Primjeri Primjeri programa – dodati naknadno

Povrat rezultata obrade

Funkcija koja vraća izračunatu vrijednost i funkcija koja mijenja sadržaj proslijeđenog polja.

Podsjetnik Kratki pregled – dodati naknadno
Moguća proširenja

Dvodimenzionalna polja, funkcije za sortiranje ili pretraživanje te usporedba rada s poljima i spremnicima STL-a.

I4

Identificirati i izdvojiti manje cjeline u problemu te ih integrirati u rješenje

Okvirno planirana obrada: 3 sata

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.

Primjeri Primjeri programa – dodati naknadno

Povezivanje funkcionalnih cjelina

Pozivanje više funkcija iz glavnog programa i prosljeđivanje rezultata između pojedinih dijelova rješenja, lokalne i globalne varijable.

Podsjetnik Shematski prikaz – dodati naknadno
Moguća proširenja

Razlaganje većeg problemskog zadatka na više funkcija, usporedba različitih mogućnosti dekompozicije i rasprava o čitljivosti programa.

I5

Analizirati algoritam, izraditi funkcionalne cjeline i integrirati ih u program

Okvirno planirana obrada: 3 sata

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.

Primjeri Primjeri programa – dodati naknadno

Projektiranje funkcionalnih cjelina

Odabir funkcija, njihovih parametara, povratnih vrijednosti i redoslijeda izvođenja, preopterećenje funkcije.

Primjeri Primjeri programa – dodati naknadno

Integracija i provjera programa

Povezivanje funkcija, provjera ispravnosti pojedinih dijelova i testiranje cjelovitog programskog rješenja.

Podsjetnik Kontrolna lista – dodati naknadno
Moguća proširenja

Refaktoriranje postojećeg programa, izdvajanje ponovljenog koda u funkcije te usporedba početnog i poboljšanog rješenja.

I2

Prepoznati i koristiti rekurziju u rješavanju problema

Okvirno planirana obrada: 3 sata

Pojam rekurzije

Funkcija koja poziva samu sebe, osnovni slučaj i rekurzivni korak.

Materijal Vizualni primjer rekurzije – dodati naknadno

Praćenje rekurzivnog poziva

Analiza slijeda poziva, uvjeta završetka i povratka vrijednosti kroz rekurzivne pozive.

Primjeri Primjeri programa – dodati naknadno

Rekurzivno rješavanje problema

Prepoznavanje problema koji se može svesti na isti problem manjeg opsega i izrada jednostavnog rekurzivnog rješenja.

Podsjetnik PDF / poveznica – dodati naknadno
Moguća proširenja

Rekurzivno računanje potencije i faktorijela, obrada znamenki, jednostavni problemi nad nizovima te drugi problemi prikladni za rekurzivnu dekompoziciju.

I6

Procijeniti učinkovitost rješenja i odabrati optimalno rekurzivno ili iterativno rješenje

Okvirno planirana obrada: 3 sata

Više načina rješavanja istog problema

Usporedba dvaju ili više ispravnih algoritamskih rješenja.

Materijal Primjeri usporedbe – dodati naknadno

Iterativno i rekurzivno rješenje

Usporedba strukture, čitljivosti, broja operacija i zahtjeva za memorijom.

Primjeri Parovi rješenja – dodati naknadno

Odabir prikladnog pristupa

Obrazlaganje izbora rješenja s obzirom na problem, jednostavnost, učinkovitost i održavanje programa.

Podsjetnik Usporedna tablica – dodati naknadno
Moguća proširenja

Jednostavna analiza vremenske i prostorne složenosti, broj rekurzivnih poziva te prepoznavanje situacija u kojima rekurzija nije najbolji izbor.

Pregled SIU 1

Što povezujemo u ovoj cjelini?

funkcije parametri povratne vrijednosti polja kao argumenti dekompozicija problema funkcionalne cjeline rekurzija iteracija analiza algoritma učinkovitost rješenja