Uvod u programiranje – VPUIP

Uvod u 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 i raspoloživom vremenu.

45 planiranih sati
2 skupa ishoda učenja
10 ishoda učenja

SIU 1

Osnove programiranja

I1

Koristiti osnovne tipove podataka, matematičke, logičke i operatore usporedbe te ugrađene matematičke funkcije u linearnim problemima

Planirani omjer aktivnosti: VPUiP: 5 / UTR: 4 / SAU: 7

Uvod u modul

Upoznavanje sa sadržajem, načinom rada i očekivanjima.

Na satu Uvodni razgovor i dogovor o radu

Algoritmi i podatkovne strukture

Osnovni pojmovi algoritama, svojstva algoritama i načini zapisivanja algoritama.

Osnovna struktura programa

Razvojno okruženje, pravila pisanja programa, ključne riječi, tipovi podataka, varijable, konstante, konverzije i komentari.

Naredba pridruživanja, izrazi i operatori

Aritmetički, logički i relacijski operatori, unarni, binarni i ternarni operatori te prioriteti izvođenja.

Ulaz, izlaz i matematičke funkcije

Ugrađene funkcije za unos i ispis podataka te uporaba standardnih matematičkih funkcija.

Moguća proširenja

Usporedba C++ i Pythona, dodatni primjeri konverzija podataka, složeniji izrazi i primjena matematičke biblioteke.

I2

Odrediti korake za rješavanje problema pomoću pseudokoda

Planirani omjer aktivnosti: 4 / 4 / 6

Linijska algoritamska struktura

Redoslijed naredbi i rješavanje jednostavnog linearnog problema.

Razgranata algoritamska struktura

Odabir tijeka izvođenja ovisno o zadanom uvjetu.

Ciklička algoritamska struktura

Ponavljanje naredbi i osnovni modeli cikličkih algoritama.

Analiza algoritama

Provjera ispravnosti koraka, ulaznih podataka i očekivanog rezultata.

U pripremi Materijal će biti naknadno dodan.
Moguća proširenja

Usporedba dijagrama tijeka i pseudokoda, analiza ispravnosti te jednostavna procjena učinkovitosti algoritma.

I3

Izraditi algoritam i program u odabranom programskom jeziku rješavajući problem uporabom grananja

Planirani omjer aktivnosti: 3 / 6 / 6

Jednostruko i potpuno grananje

Naredbe if i if-else.

Tutorial C++ uvjeti

Ugniježđeno grananje

Kombiniranje više uvjeta i naredbi odlučivanja.

Višestruko grananje

Naredba switch-case i izbor odgovarajućeg slučaja.

Tutorial C++ switch
Moguća proširenja

Složeni logički izrazi, provjera valjanosti ulaznih podataka i usporedba različitih rješenja istog problema.

I4

Izraditi algoritam i program rješavajući problem uporabom petlje s određenim brojem ponavljanja

Planirani omjer aktivnosti: 4 / 4 / 6

Petlja s poznatim brojem ponavljanja

Petlja for, brojačka varijabla, početna vrijednost, uvjet i promjena brojača.

Ugniježđene petlje

Kombiniranje više petlji i oblikovanje složenijih ispisa.

Moguća proširenja

Ispis uzoraka, tablice vrijednosti, kombiniranje petlje i grananja te jednostavne simulacije.

I5

Izraditi algoritam i program rješavajući problem uporabom petlje s uvjetom na početku ili kraju

Planirani omjer aktivnosti: 4 / 6 / 6

Petlja s uvjetom na početku

Petlja while i provjera uvjeta prije izvođenja.

Petlja s uvjetom na kraju

Petlja do-while i najmanje jedno izvođenje tijela petlje.

Ugniježđene petlje

Kombiniranje petlji i odabir prikladne vrste ponavljanja.

Moguća proširenja

Provjera valjanosti unosa, izbornici vođeni petljom, beskonačne petlje i usporedba for, while i do-while.

SIU 2

Spremnički tipovi podataka

I1

Prikupiti i analizirati korisničke zahtjeve za programsko rješenje

Planirani omjer aktivnosti: 2 / 4 / 2

Osobnosti korisnika i intervjui

Utvrđivanje korisničkih potreba, izlučivanje zahtjeva i pisanje korisničkih izjava.

U pripremi Materijal 21 bit će naknadno povezan.

Prioritizacija i dokumentiranje zahtjeva

Određivanje prioriteta korisničkih izjava, izrada dokumenta sa zahtjevima, evaluacija i refleksija.

Moguća proširenja

Funkcionalni i nefunkcionalni zahtjevi, analiza loše definiranih zahtjeva te rad u paru ili timu.

I2

Izraditi jednostavnije programsko rješenje uporabom funkcija jednodimenzionalnog ili dvodimenzionalnog slijednog spremnika

Planirani omjer aktivnosti: 4 / 8 / 3

Jednodimenzionalno polje

Deklariranje, inicijalizacija, pristup elementima i osnovni algoritmi.

Tutorial C++ polja

Dvodimenzionalno polje

Rad s retcima, stupcima i elementima matrice.

Nizovi znakova i stringovi

C-stringovi, klasa string i osnovne operacije nad tekstom.

Vektor i linijske strukture

Uvod u spremnike promjenjive veličine i osnovne pojmove linijskih struktura podataka.

Dodatni sadržaji

Pokazivači, osnovni pojmovi struktura i objekata te usporedba polja, stringa i vektora mogu se uključiti prema mogućnostima razreda.

I3

Izraditi jednostavnije programsko rješenje uporabom funkcija zbirke stog

Planirani omjer aktivnosti: 7 / 8 / 3

Standard Template Library

Osnovni pojam STL-a, spremnici, iteratori i algoritmi.

Vektor kao uvod u STL spremnike

Inicijalizacija, metode, prolazak i osnovni algoritmi.

Pojam stoga

Stog kao apstraktni tip podataka, LIFO načelo i primjeri iz svakodnevnog života.

Stog u C++ i problemski zadaci

Operacije push, pop, top, empty i size te tipične primjene.

Moguća proširenja

Povijest preglednika, undo funkcionalnost, pretvorba izraza, provjera zagrada i složeniji natjecateljski zadaci.

I4

Izraditi jednostavnije programsko rješenje uporabom funkcija zbirke red

Planirani omjer aktivnosti: 4 / 8 / 3

Pojam reda i red kao ADT

FIFO načelo i primjeri reda iz svakodnevnog života.

STL queue i osnovne operacije

Operacije push, pop, front, back, empty i size.

Implementacija i problemski zadaci

Uporaba reda u algoritmima, simulacijama i obradama zahtjeva.

Red s korisnički definiranim objektima

Pohrana i obrada složenijih elemenata u redu.

I5

Koristiti funkcije zbirke elemenata čiji redoslijed nije zadan smještajem u memoriji — lista

Planirani omjer aktivnosti: 8 / 8 / 3

Pojam liste i osnovne operacije

Elementi liste, umetanje, uklanjanje i prolazak kroz listu.

Algoritmi i problemski zadaci

Primjena lista u rješavanju problema i uporaba metoda spremnika.

Implementacija i naprednija primjena

Odabir liste i uporaba u zahtjevnijim algoritmima.

Rekapitulacija i odabir spremnika

Usporedba spremnika vector, stack, queue i list.

Završni pregled

Što smo povezali u ovom modulu?

Algoritmi Pseudokod Grananje Petlje Polja Stringovi STL Vektor Stog Red Lista Odabir spremnika