Sadržaj kolegija

  1. Uvod u algoritme. Pojam algoritma. Primjeri algoritama. Osnovna svojstva.
  2. Matematičke osnove računarstva. Brojevni sustavi. Sudovi. Logički veznici i složeni sudovi. Konjunktivna i disjunktivna normalna forma.
  3. Principi rada računala. Pojam naredbe. Ulaz, izlaz, memorija. Izvršni dio računala. Von Neumannov model. Turingov stroj.
  4. Građa računala. Matična ploča i procesor. Ulazno-izlazne naprave. Memorija.
  5. Prikaz podataka u računalu. Osnovni tipovi podataka. Prikaz i aritmetika cijelih brojeva. Prikaz realnih brojeva - IEEE standard. Greške zaokruživanja: pojam i primjeri.
  6. Uvod u programski jezik C. Izvođenje programa. Struktura programa. Osnove rada u Unix okruženju. Osnove rada u Win okruženju: Dev-C++.
  7. Osnovni tipovi podataka. Konstante. Varijable. Operatori i izrazi.
  8. Ulaz i izlaz podataka. Funkcije getchar i putchar. Znakovni nizovi: funkcije gets i puts. Funkcije scanf i printf.
  9. Naredbe za kontrolu postupaka. Naredbe if i if-else. Naredba switch. Petlje while, for i do-while. Naredbe break i continue.
  10. Osnovni algoritmi na brojevima. Opća načela provjere: postoji li objekt traženog svojstva i ima li svaki objekt zadano svojstvo. Primjeri (Euklidov algoritam, ispitivanje djeljivosti, prikaz broja u zadanoj bazi, pronalaženje znamenke zadanog broja koja zadovoljava neki uvjet).
  11. Funkcije. Definicija i deklaracija. Naredba return. Funkcije tipa void. Prijenos argumenata. Rekurzivne funkcije.
  12. Složene strukture podataka. Jednodimenzionalna polja. Osnovne karakteristike. Inicijalizacija i definicija. Polje kao argument funkcije. Primjeri (najveći/najmanji element niza, aritmetička sredina).
  13. Operacije s nizovima podataka. Sekvencijalno pretraživanje. Binarno pretraživanje. Sortiranje traženjem ekstrema. Bubble sort.