Državna Matura Informatics cheat sheet
Državna Matura Informatics · Keep the key ideas within reach.
Osnove računalništva in informacijskih sistemov
Von Neumannova arhitektura: CPU (krmilna enota + ALU + registri), pomnilnik, vhodno-izhodne enote; skupna vodila prenašajo podatke, naslove in krmilne signale.
Hierarhija pomnilnika po hitrosti in ceni: registri > predpomnilnik (L1/L2/L3) > RAM > SSD/HDD > zunanji pomnilnik; kapaciteta narašča obratno sorazmerno s hitrostjo.
RAM je hlapen (volatile) in izgubi vsebino ob izklopu; ROM/flash je nehlapen in hrani firmware oz. BIOS/UEFI.
1 bajt = 8 bitov; 1 KiB = 1024 B, 1 MiB = 1024 KiB, 1 GiB = 1024 MiB; decimalne predpone (kB, MB, GB) temeljijo na 1000.
Vrste programske opreme: sistemska (OS, gonilniki, pripomočki) in uporabniška (aplikacije); OS upravlja procese, pomnilnik, datotečni sistem in V/I.
Naloge OS: razvrščanje procesov (scheduling), upravljanje pomnilnika (strani/enote), datotečni sistem, uporabniški vmesnik in varnost.
Vrste omrežij po obsegu: PAN (osebno), LAN (zgradba), MAN (mesto), WAN (država/svet); topologije: zvezda, vodilo, obroč, mreža.
Model TCP/IP: aplikacijski, transportni (TCP zanesljiv, UDP hiter brez potrditev), internetni (IP naslovi, usmerjanje) in omrežni dostop.
IP naslov IPv4 ima 32 bitov (npr. 192.168.0.1), maska določa omrežni in gostiteljski del; IPv6 ima 128 bitov in je zapisan v šestnajstiškem zapisu.
Algoritmi in programovanje
Algoritem mora biti končen, določen (determiniran), splošen in učinkovit; vsak korak mora biti izvedljiv.
Tri osnovne krmilne strukture: zaporedje, izbira (if/else, switch) in ponavljanje (while, do-while, for).
Zanka while preveri pogoj pred izvedbo telesa (lahko se ne izvede), do-while po njej (izvede se vsaj enkrat).
Tabela (array) hrani elemente istega tipa na zaporednih indeksih, običajno od 0; dostop po indeksu je O(1).
Sklad (stack) deluje LIFO (push/pop), vrsta (queue) deluje FIFO (enqueue/dequeue); povezan seznam omogoča vstavljanje v O(1) ob znanem vozlu.
Iskanje: linearno O(n) na neurejenih podatkih, binarno O(log n) le na urejeni tabeli.
Razvrščanje: mehurčno O(n²), vstavljanje O(n²), hitro razvrščanje povprečno O(n log n) in najslabše O(n²), zlivanje vedno O(n log n).
Rekurzija potrebuje robni pogoj (base case); vsak klic doda okvir na sklad, pregloboka rekurzija povzroči prekoračitev sklada.
Sledenje (trace) programa: ročno izpiši vrednosti spremenljivk po vsakem koraku; pogoste napake so off-by-one, napačen pogoj in neinicializirana spremenljivka.
Podatki in podatkovne baze
Relacijski model: tabela (relacija) = vrstice (zapisi) × stolpci (atributi); vsak zapis mora biti enolično določen s primarnim ključem.
Primarni ključ je enoličen in ne sme biti NULL; tuji ključ se sklicuje na primarni ključ druge (ali iste) tabele in zagotavlja referenčno celovitost.
Entitetno-povezovalni model: entitete, atributi, povezave 1:1, 1:N, M:N; povezava M:N se v relacijski bazi razbije v vmesno tabelo.
Normalizacija: 1NF (atomske vrednosti), 2NF (brez delnih odvisnosti od sestavljenega ključa), 3NF (brez tranzitivnih odvisnosti); cilj je odprava odvečnosti in anomalij.
Osnovni SQL: SELECT stolpci FROM tabela WHERE pogoj GROUP BY ... HAVING ... ORDER BY ...; WHERE filtrira vrstice pred združevanjem, HAVING po njem.
Agregatne funkcije: COUNT, SUM, AVG, MIN, MAX; NULL se pri COUNT(stolpec) in AVG ne šteje, zato uporabi COUNT(*), kjer šteješ vse vrstice.
Združevanje tabel: INNER JOIN vrne le ujemanja, LEFT JOIN vse vrstice leve tabele z NULL na desni; CROSS JOIN tvori kartezični produkt.
DML spreminja podatke (INSERT, UPDATE, DELETE), DDL spreminja strukturo (CREATE, ALTER, DROP); COMMIT potrdi, ROLLBACK razveljavi transakcijo (ACID).
Integritetne omejitve: NOT NULL, UNIQUE, CHECK, PRIMARY KEY, FOREIGN KEY; indeks pospeši iskanje, a upočasni vstavljanje in zavzame prostor.
Spletne tehnologije in internet
HTTP je brezstanoven protokol zahtevka-odgovora; metode GET (podatki v URL), POST (podatki v telesu), PUT, DELETE; statusne kode: 200 OK, 301 preusmeritev, 404 ni najdeno, 500 napaka strežnika.
HTTPS = HTTP prek TLS; šifrira promet in preverja strežnik s potrdilom, privzeti vratci: HTTP 80, HTTPS 443, FTP 21, SMTP 25, DNS 53.
DNS pretvori domensko ime v IP naslov; poteka hierarhično (korenski, vrhnji, pooblaščeni strežniki) in uporablja predpomnilnik.
Model odjemalec-strežnik: brskalnik pošlje zahtevek, strežnik obdela in vrne odgovor; sejne piškotke (cookies) in seje uporabljamo za ohranjanje stanja.
HTML določa strukturo (html, head, body, h1-h6, p, a, img, ul/ol, table, form), CSS videz (selektorji element/razred #id, box model: content-padding-border-margin).
Razlika med id in class v CSS: id je v dokumentu enkraten in ima višjo specifičnost, class se lahko ponovi; vrstni red kaskade: inline > id > class > element.
JavaScript se izvaja v brskalniku (odjemalcu) in omogoča dinamično spreminjanje DOM; strežniški jezik (npr. PHP) se izvaja na strežniku pred pošiljanjem HTML.
Varnost spleta: XSS (vbrizgan skript), CSRF (ponarejena zahteva s piškotkom), SQL injection; obramba: validacija vnosov, parametrizirane poizvedbe, escaping, HTTPS, HttpOnly piškotki.
Varnost, zasebnost in etika v informatiki
CIA-triada: zaupnost (confidentiality), celovitost (integrity), razpoložljivost (availability); vsak varnostni ukrep brani vsaj eno od njih.
Zlonamerna programska oprema: virus se veže na datoteke, črv (worm) se sam širi po omrežju, trojanec se predstavi kot koristen program, ransomware šifrira podatke in zahteva odkupnino.
Phishing, smishing in vishing zavajajo uporabnika k razkritju podatkov; socialni inženiring izkorišča zaupanje, ne tehnične ranljivosti.
Kriptografija: simetrično šifriranje uporablja en ključ (AES), asimetrično par zasebni/javni ključ (RSA); zgoščevalne funkcije (SHA-256) so enosmerne in zaznajo spremembo vsebine.
Avtentikacija preveri identiteto (geslo, žeton, biometrija), avtorizacija določi pravice; večfaktorska avtentikacija združi vsaj dva različna dejavnika.
Varnostne kopije po pravilu 3-2-1: tri kopije, na dveh različnih medijih, ena zunaj lokacije; brez preverjenega obnavljanja kopija ni veljavna.
GDPR: osebni podatek je vsak podatek o identificiranem ali določljivem posamezniku; načela so zakonitost, omejitev namena, najmanjši obseg, točnost, omejitev hrambe, celovitost in odgovornost.
Pravice posameznika po GDPR: dostop, popravek, izbris (pravica do pozabe), omejitev obdelave, prenosljivost in ugovor; kršitev je treba prijaviti nadzornemu organu v 72 urah.
Avtorska pravica ščiti izražanje (kodo, besedilo), ne ideje; licence določajo uporabo: lastniška, odprtokodna (GPL copyleft, MIT permisivna), Creative Commons za vsebine.
Družbeni in gospodarski vidiki informatike
Digitalna ločnica (digital divide) ločuje posameznike in regije po dostopu do IKT, hitrosti povezave in digitalnih veščinah.
Digitalna pismenost zajema iskanje in vrednotenje virov, varno komuniciranje, obvladovanje orodij ter razumevanje pravnih in etičnih pravil.
Avtomatizacija in umetna inteligenca spreminjata poklice: rutinska dela se nadomeščajo, narašča povpraševanje po analitičnih in digitalnih kompetencah.
Gospodarske koristi IKT: večja produktivnost, nižji transakcijski stroški, e-poslovanje, delo na daljavo; stroški vključujejo infrastrukturo, usposabljanje in vzdrževanje.
Industrija 4.0 povezuje IoT, senzorike, robotiko in analitiko podatkov v pametne proizvodne procese; veliki podatki (big data) opisujejo obseg, hitrost in raznolikost podatkov.
Družbeni vplivi: lažje širjenje dezinformacij, mehurčki filtriranja (filter bubbles), vpliv na duševno zdravje, izguba zasebnosti, e-odpadki in poraba energije podatkovnih centrov.
Zeleno računalništvo: energetska učinkovitost, podaljšanje življenjske dobe naprav, recikliranje elektronskih odpadkov in virtualizacija strežnikov.
Delo na daljavo in e-učenje zahtevata primerno infrastrukturo in digitalne kompetence; dostopnost (accessibility) zagotavlja uporabo tudi osebam z invalidnostjo.
Reševanje problemov in računalniško mišljenje
Računalniško mišljenje sestavljajo dekompozicija, prepoznavanje vzorcev, abstrakcija in oblikovanje algoritma.
Dekompozicija: problem razdeli na manjše podprobleme, ki jih rešuješ ločeno in nato sestaviš v celoto.
Abstrakcija odstrani nepomembne podrobnosti in ohrani bistvene; model je poenostavljena predstavitev sistema, npr. diagram poteka ali tabela.
Diagram poteka: oval = začetek/konec, pravokotnik = proces, romb = odločitev, paralelogram = vhod/izhod, puščice = tok izvajanja.
Pseudokoda opisuje algoritem v jeziku, neodvisnem od programskega jezika; sledi zaporedju, izbiri in ponavljanju.
Vzorec (pattern) je ponavljajoča se struktura v podatkih ali rešitvi; posplošitev vzorca vodi do ponovno uporabne funkcije ali formule.
Razčlenjevanje problema na podprobleme z enako strukturo vodi v rekurzijo; če se podproblemi prekrivajo, uporabi memoizacijo ali dinamično programiranje.
Preverjanje rešitve: robni primeri (nič, negativno število, prazen seznam), tipični primeri in primerjava pričakovanega z dejanskim izhodom.
Hevristika je približna strategija za hitro rešitev brez zagotovila optimalnosti; uporablja se, ko je natančna rešitev predraga.