Saša Singer: Programiranje 1
Zadnja promjena: 16. siječnja 2020.
- Obavijest: Zadnja dva redovita predavanja održat će se
10.1. i 17.1.2020.
- Nastava za grupe PDM1 (M-Ž), PDMN2:
petak, 10–12 sati u (003).
- Konzultacije:
petak, 12–14 sati, ili po dogovoru.
- Termini kolokvija (razred F3):
- Prvi kolokvij: petak, 29. studenog 2019., u 15 sati
- Drugi kolokvij: petak, 7. veljače 2020., u 15 sati
- Popravni kolokvij: petak, 21. veljače 2020., u 15 sati
- Službena web-stranica
kolegija.
- Zamjenska (djelomična)
web-stranica
kolegija, sa svim materijalima (bez foruma).
Koristiti u slučaju da službena web-stranica nije dostupna.
Napomena: Može se dogoditi da neke posebne stvari tamo ne rade.
Materijali i linkovi:
- Dio programa za predavanja
u paketu, zajedno s .exe verzijama (Intel C 19.0.5, IA-32)
(zip, 21.9 MB, 19.12.2019. u 14:42)
Napomena: Programi su kompajlirani za modernije procesore
(Intel Core i7, Haswell).
- Ako vam .exe verzije ne rade, probajte
stariju verziju (Intel C 11.1)
(zip, 7821 kB, 10.11.2016. u 16:36)
- Dio programa za vježbe
(Programi 8.4.4, 8.4.8, 8.4.12., i prosti brojevi)
u paketu, zajedno s .exe verzijama (Intel C 19.0.5, IA-32)
(zip, 795 kB, 30.09.2019. u 21:22)
Napomena: Programi su kompajlirani za modernije procesore
(Intel Core i7, Haswell).
- Ako vam .exe verzije ne rade, probajte
stariju verziju (Intel C 11.1)
(zip, 409 kB, 02.01.2015. u 15:50)
- Predavanja (prezentacije) iz kolegija Programiranje 1 (akad. god. 2019/20):
- 1. predavanje
— Uvod u kolegij
(pdf, 1097 kB, 05.10.2019. u 10:53)
- 2. predavanje
— Uvod u algoritme, principi rada računala, građa računala
(pdf, 1567 kB, 12.10.2019. u 21:51)
- Dodatak 1
— Matematički model računala — Turingov stroj
(pdf, 410 kB, 22.09.2019. u 18:27)
- Dodatak 2
— Stvarni izgled računala, cache
(pdf, 1968 kB, 22.09.2019. u 18:29)
- 3. predavanje
— Prikaz podataka u računalu, cijeli brojevi bez predznaka,
cijeli brojevi s predznakom (+ dodaci na kraju)
(pdf, 2387 kB, 10.10.2019. u 13:30)
- Prošireno predavanje
— zajedno s dodacima na pravim mjestima (a ne na kraju)
(pdf, 2246 kB, 22.09.2019. u 18:37)
- 4. predavanje
— Prikaz realnih brojeva, aritmetika i greške zaokruživanja
(pdf, 1257 kB, 17.10.2019. u 12:51)
- Sažetak prikaza realnih brojeva
(pdf, 321 kB, 22.09.2019. u 18:41)
- Dodatak 1
— Cijeli i realni brojevi — binarni prikaz i prikaz u
računalu (algoritmi i primjeri)
(pdf, 2249 kB, 22.09.2019. u 18:43)
- Dodatak 2
— Aritmetika realnih brojeva i širenje grešaka zaokruživanja
(pdf, 1398 kB, 22.09.2019. u 18:44)
- 5. predavanje
— Uvod u C, Unix i Windows okruženje. Primjeri programa kroz Code::Blocks
(pdf, 1230 kB, 20.10.2019. u 14:19)
- Dodatak
— Detaljan opis prva tri programa kroz Code::Blocks
(pdf, 1328 kB, 20.10.2019. u 14:21)
- 5. predavanje plus dodatak
— uključuje i detaljan opis programa kroz Code::Blocks
(pdf, 2105 kB, 20.10.2019. u 14:20)
- 6. predavanje
— Osnovni elementi C-a, konstante, varijable, enumeracije.
Operatori i izrazi — prvi dio
(pdf, 2011 kB, 20.10.2019. u 13:33)
- 7. predavanje
— Operatori i izrazi — drugi dio. Potpuna tablica prioriteta
(pdf, 1458 kB, 20.10.2019. u 13:10)
- 8. predavanje
— Kontrola toka programa — naredbe za kontrolu postupaka
(pdf, 917 kB, 07.11.2019. u 21:49)
- 9. predavanje
— Osnovni algoritmi na cijelim brojevima
(pdf, 1133 kB, 13.11.2019. u 21:38)
- 10. predavanje
— Funkcije, primjeri, rekurzivne funkcije, zadaci o funkcijama
(pdf, 1890 kB, 05.12.2019. u 17:22)
- Dodatak
— Primjeri funkcija za neke probleme (Prosti brojevi i faktori,
binomni koeficijenti, brzo potenciranje)
(pdf, 1725 kB, 19.12.2019. u 17:15)
- 11. predavanje
— Ulaz i izlaz podataka — znakovi, stringovi, formatirani ulaz/izlaz
(pdf, 1640 kB, 12.12.2019. u 15:54)
- 12. predavanje
— Nizovi, operacije, pretraživanje nizova
(pdf, 1514 kB, 16.01.2020. u 12:52)
- 13. predavanje
— Sortiranje nizova, ponavljanje za kolokvij
(pdf, 2678 kB, 16.01.2020. u 13:35)
- Predavanja (prezentacije) iz kolegija Programiranje 1 (akad. god. 2018/19):
- 1. predavanje
— Uvod u kolegij
(pdf, 1079 kB, 04.10.2018. u 12:04)
- 2. predavanje
— Uvod u algoritme, principi rada računala, građa računala
(pdf, 1565 kB, 11.10.2018. u 14:59)
- Dodatak 1
— Matematički model računala — Turingov stroj
(pdf, 410 kB, 03.10.2018. u 19:54)
- Dodatak 2
— Stvarni izgled računala, cache
(pdf, 1968 kB, 03.10.2018. u 19:55)
- 3. predavanje
— Prikaz podataka u računalu, cijeli brojevi bez predznaka,
cijeli brojevi s predznakom (+ dodaci na kraju)
(pdf, 2385 kB, 11.10.2018. u 13:52)
- Prošireno predavanje
— zajedno s dodacima na pravim mjestima (a ne na kraju)
(pdf, 2246 kB, 11.10.2018. u 13:57)
- 4. predavanje
— Prikaz realnih brojeva, aritmetika i greške zaokruživanja
(pdf, 1255 kB, 11.10.2018. u 21:29)
- Sažetak prikaza realnih brojeva
(pdf, 321 kB, 11.10.2018. u 20:18)
- Dodatak 1
— Cijeli i realni brojevi — binarni prikaz i prikaz u
računalu (algoritmi i primjeri)
(pdf, 2249 kB, 03.10.2018. u 20:11)
- Dodatak 2
— Aritmetika realnih brojeva i širenje grešaka zaokruživanja
(pdf, 1398 kB, 11.10.2018. u 21:33)
- 5. predavanje
— Uvod u C, Unix i Windows okruženje, primjeri u Code::Blocks,
osnovni elementi C-a
(pdf, 1620 kB, 03.10.2018. u 20:17)
- Dodatak
— Detaljan opis prva tri programa kroz Code::Blocks
(pdf, 1328 kB, 03.10.2018. u 20:18)
- 5. predavanje plus dodatak
— uključuje i detaljan opis programa kroz Code::Blocks
(pdf, 2495 kB, 03.10.2018. u 20:14)
- 6. predavanje
— Konstante, varijable, enumeracije. Operatori i izrazi — prvi dio
(pdf, 1743 kB, 25.10.2018. u 11:46)
- 7. predavanje
— Operatori i izrazi — drugi dio. Potpuna tablica prioriteta
(pdf, 1349 kB, 10.01.2019. u 15:05)
- 8. predavanje
— Kontrola toka programa — naredbe za kontrolu postupaka
(pdf, 917 kB, 08.11.2018. u 11:29)
- 9. predavanje
— Osnovni algoritmi na cijelim brojevima
(pdf, 1133 kB, 14.11.2018. u 14:19)
- 10. predavanje
— Funkcije, primjeri, rekurzivne funkcije, zadaci o funkcijama
(pdf, 1889 kB, 06.12.2018. u 12:07)
- Dodatak
— Primjeri funkcija za neke probleme (Prosti brojevi i faktori,
binomni koeficijenti, brzo potenciranje)
(pdf, 1676 kB, 03.10.2018. u 20:43)
- 11. predavanje
— Ulaz i izlaz podataka — znakovi, stringovi, formatirani ulaz/izlaz
(pdf, 1565 kB, 12.12.2018. u 21:03)
- 12. predavanje
— Nizovi, operacije, pretraživanje nizova
(pdf, 1516 kB, 10.01.2019. u 14:55)
- 13. predavanje
— Sortiranje nizova, ponavljanje za kolokvij
(pdf, 2680 kB, 20.01.2019. u 13:13)
- Stari materijali (iz akad. god. 2017/18 i ranijih godina)
prebačeni su
ovdje.
- Dodatna literatura i linkovi:
-
Steve Summit, C Programming
— Dodatne lekcije (na engleskom) uz Kernighan, Ritchie knjigu (KR2).
- Novi standard C11:
završna verzija prijedloga (travanj 2011).
Standard ima oznaku ISO/IEC 9899:2011 i plaća se!
- Knjiga za znatiželjne:
Jens Gustedt, "Modern C"
— dublji pogled u moderni C, s naglaskom na C11.
- David Goldberg: "What Every Computer Scientist Should Know About
Floating-Point Arithmetic", proširena verzija, 2001. (1991.)
- Formati:
pdf
verzija (cijeli "Numerical Computation Guide", pogledati Appendix D, str. 173--251),
on-line
čitanje.
- Ulrich Drepper, "What Every Programmer Should Know About Memory", 2007.
- Dodatni materijali za Prog1 i Prog2:
- Funkcije fprintf, fscanf
— sažetak prema KR2
(pdf, 59 kB, 19.12.2015. u 20:38)
- Skripta
prof. M. Juraka za Prog1 i Prog2 iz akad. god. 2003/04
(objavljeno s dozvolom autora).
- Razvojna okolina Code::Blocks
- Razvojna okolina
Code::Blocks 17.12 za Windows (instalacijski program, zajedno s MinGW gcc kompajlerom).
Ova verzija je instalirana u nekim praktikumima (u ostalima je prethodna verzija 16.01).
- Za druge operacijske sustave, posjetite glavnu stranicu
Code::Blocks.
Napomene:
- Svi materijali dostupni na ovim stranicama zaštićeni su
Zakonom o autorskom pravu.
- Prema tome, bez dozvole autora,
nije ih dozvoljeno
distribuirati i umnožavati.
- Svakom pojedincu
dozvoljeno
ih je koristiti samo za osobne potrebe.