Osposobljavanje studenata za:
1. razumijevanje i primjenu temeljnih znanja o programiranju korištenjem programskog jezika C,
2. korištenje funkcija iz standardnih biblioteka programskog jezika C kao što su funkcije za unos i ispis podataka, rad sa stringovima i matematičkim funkcijama,
3. pisanje funkcija u programu, te korištenje pokazivača, dinamičke alokacije memorije i struktura podataka.
očekivani ishodi učenja
Studenti će nakon uspješno savladanog predmeta moći:
1. objasniti osnovne pojmove vezane uz izradu, prevođenje i pokretanje C programa,
2. napisati, pokrenuti i izvršiti jednostavan C program,
3. u izradi programa koristiti funkcije, pokazivače i dinamičku alokaciju memorije,
4. kreirati korisničke tipove podataka korištenjem struktura i unija,
5. realizirati unos podataka u program iz datoteka kao i ispis rezultata programa u datoteku,
6. koristiti program za pronalaženje pogreški (engl. debugger) kod pronalaženja pogreški u programu.
Uvod u semantiku C programskog jezika – osnovni tipovi, varijable, izrazi. Deklariranje korisničkih tipova podataka. Strukture. Pobrojani tipovi. Unije. Funkcije. Prijenos parametara po vrijednosti i po referenci. Doseg i trajanje varijable. Pokazivači. Adresni operatori. Pointeri i nizovi. Alociranje memorije. Manipulacija nad bitovima. Ulazno-izlazne operacije. Modularno programiranje i funkcionalna dekompozicija programa. Leksički pretprocesor: korištenje simbola, makro naredbi i zaglavlja. Uvjetno kompajliranje. Definicija automatskih, statičkih i vanjskih varijabli. Razlika između statičkih i vanjskih funkcija. Apstraktni tipovi podtaka – primjeri stog, red, lista, stablo. Stil programiranja.
preporučena literatura
Ivo Mateljan:”Računala i programiranje”, Skripta , FESB, Split 2004
Byron S.Gottfried: "Programming with C", Schaum's Outlines, McGraw-Hill, New York 1996 (ISBN 0-07-024035-3)
dopunska literatura
Rajko Vulin: "Zbirka riješenih zadataka iz C-a", Školska knjiga, Zagreb 1995
način praćenja kvalitete i uspješnosti izvedbe svakog predmeta i/ili modula
Mišljenja studenata o kvaliteti nastave putem anketa.
Nastavnici koji podučavaju srodne predmete surađuju i zajednički vode brigu o kvaliteti nastave.
Povremeno promatranje i evaluacija nastave od strane predstojnika odsjeka/ šefa katedre, itd.
ispit (način polaganja, ispitni rokovi)
IIspit se sastoji od teoretskog i laboratorijskog dijela. Jednom kada se neki od dijelova položi, ocjena vrijedi do kraja akademske godine.
Laboratorijski dio se polaže na računalima po završetku laboratorijskih vježbi, te nakon toga na svakom ispitnom roku.
Teoretski dio se polaže pismeno i to podijeljen u dva kolokvija. Tijekom semestra bit će organiziran jedan kolokvij, a na svim ostalim rokovima studenti mogu birati koji će kolokvij polagati (mogu i oba istovremeno).
Uvjeti za pozitivnu ocjenu su: odrađene laboratorijske vježbe 100%, pozitivna ocjena iz laboratorijskih vježbi i više od 50% bodova na svakom od kolokvija.
Konačna ocjena se računa na slijedeći način:
Ocjena = 0,5*L + 0,5*T
L - ocjena iz laboratorijskih vježbi,
T – ocjena iz teoretskog dijela.
Ocjena teoretskog dijela se određuje na relativan način i to tako da se studentima koji su prošli teoretski dio ispita na 1. i 2. roku ocjena se računa na slijedeći način:
15% najviših bodova imaju izvrstan (5)
35% sljedećih imaju vrlo dobar (4)
35% sljedećih imaju dobar (3)
15% najlošijih imaju dovoljan (2)
Studenti koji ispit polažu na 3. roku iz teoretskog i laboratorijskog dijela mogu dobiti samo ocjenu dovoljan (2).
Ispitni rokovi: Prema kalendaru nastave
Nastavne jedinice za Predavanja
Broj sati
1.
Uvod u semantiku C programskog jezika. Pridruživanje datoteka programu. Komentari. Osnovni tipovi podataka. Deklariranje varijabli.
4 sata
2.
Naredbe preprocesoru. Aritmetički operatori. Prefix/postfix inkrement/dekrement operatori. Stil programiranja
4 sata
3.
Unos s tipkovnice. Relacijski operatori. Iteracije (for petlja). Selekcija (if naredba, if else). Logički operatori u složenim relacijama, While petlja. Do while petlja. Switch/case naredba.
4 sata
4.
Nizovi. Deklariranje nizova. Nizovi znakova (stringovi). Funkcije za rad sa stringovima i znakovima. Unos znaka i stringa s tipkovnice.
Funkcije. Doseg i trajanje varijable. Prijenos parametara po vrijednosti i po referenci. Niz kao argument funkcije. Rekurzivne funkcije. Definicija automatskih, statičkih i vanjskih varijabli.
4 sata
7.
Deklariranje korisničkih tipova podataka. Strukture. Pobrojani tipovi. Unije. Nizovi struktura. Struktura unutar strukture.
4 sata
8.
Pokazivači. Adresni operatori. Pokazivači na znakove, nizove i nizove znakova. Pokazivači na strukture. Pokazivači u strukturama.
4 sata
9.
Rad s datotekama.
4 sata
10.
Dinamičko alociranje memorije. Apstraktni tipovi podataka - vezane liste.
4 sata
11.
Pronalaženje elementa u listi. Dodavanje elementa u listu iza i ispred određenog elementa. Sortiranje liste.
4 sata
12.
Naredbe break, continue i exit. Sistemski pozivi. Argumenti funkcije main.
4 sata
13.
Preprocesorski izrazi. Uvjetno prevođenje. Typedef. Brojivi tipovi podataka. Pokazivači na funkcije Formati za stringove i karaktere sistemski pozivi.
4 sata
Nastavne jedinice za Auditorne vježbe
Broj sati
1.
Uvod u semantiku C programskog jezika. Pridruživanje datoteka programu. Komentari. Osnovni tipovi podataka. Deklariranje varijabli.
2 sata
2.
Naredbe preprocesoru. Aritmetički operatori. Prefix/postfix inkrement/dekrement operatori. Stil programiranja
2 sata
3.
Unos s tipkovnice. Relacijski operatori. Iteracije (for petlja).
2 sata
4.
Selekcija (if naredba, if else). Logički operatori u složenim relacijama, While petlja. Do while petlja. Switch/case naredba.
2 sata
5.
Nizovi. Deklariranje nizova. Nizovi znakova (stringovi). Funkcije za rad sa stringovima i znakovima. Unos znaka i stringa s tipkovnice.
Funkcije. Doseg i trajanje varijable. Prijenos parametara po vrijednosti i po referenci. Niz kao argument funkcije. Rekurzivne funkcije. Definicija automatskih, statičkih i vanjskih varijabli.
2 sata
8.
Dodatni operator pridruživanja. Uvjetni operatori. Konverzija tipova podataka. Ispisivanje ASCII vrijednosti znaka. Rad sa bitovima. Upravljanje pozicijom kursora.
2 sata
9.
Deklariranje korisničkih tipova podataka. Strukture. Pobrojani tipovi. Unije. Nizovi struktura. Struktura unutar strukture.
2 sata
10.
Pokazivači. Adresni operatori. Pokazivači na znakove, nizove i nizove znakova. Pokazivači na strukture. Pokazivači u strukturama.
2 sata
11.
Rad s datotekama.
2 sata
12.
Dinamičko alociranje memorije. Apstraktni tipovi podataka - vezane liste.
2 sata
13.
Naredbe break, continue i exit. Sistemski pozivi. Argumenti funkcije main.
2 sata
Nastavne jedinice za Laboratorijske vježbe
Broj sati
1.
Pisanje prvog programa. Prevođenje i pokretanje programa.
2 sata
2.
Unos podataka s tastature i ispis na ekran.
2 sata
3.
Primjeri for petlje.
2 sata
4.
Primjeri if naredbe, logičkih operatora u složenim relacijama i while petlje.
2 sata
5.
Switch/case. Nizovi.
2 sata
6.
Matrice i stringovi.
2 sata
7.
Funkcije.
2 sata
8.
Rekurzivne funkcije.
2 sata
9.
Strukture.
2 sata
10.
Pokazivači. Pokazivači na osnovne tipove podataka.
2 sata
11.
Pokazivači na strukture i nizove.
2 sata
12.
Dinamičko alociranje memorije.
2 sata
13.
Rad s datotekama
2 sata
Niste više prijavljeni
Istekla vam je prethodna prijava te se morate ponovno prijaviti.
Nastao je problem u radu sustava
Informacije o problemu smo pohranili i nastojat ćemo ga riješiti. Ako vas ova greška sprječava da obavite nešto važno, možete nas odmah kontaktirati na helpdesk@fesb.hr.
Vaš preglednik nije podržan
Koristite web preglednik koji nije podržan. Za puno korisničko iskustvo, preuzmite najnoviju inačicu vašeg preglednika.