You are on page 1of 30

Algoritmi i programiranje

Predavanje 3 OSNOVNI POJMOVI PROJEKTIRANJE PROGRAMA

OSNOVNI POJMOVI
Raunalni program Raunalno sklopovlje Pohrana podataka Strojni jezik Jezini prevoditelji Izvorni i ciljni kod Sintaktike pogreke Kategorije softvera

RAUNALNI PROGRAM je skup naredbi koje raunalo slijedi kako bi izvrilo neku zadau
Programe uvijek koristimo kada koristimo i raunalo Pod pojmom SOFTVER (eng. software) podrazumijeva se program

RAUNALNO SKLOPOVLJE su ureaji od kojih se sastoji raunalo i to su:


Sredinja jedinica za obradu (CPU) Glavna memorija Priuvna memorija Ulazni ureaji Izlazni ureaji Pod pojmom HARDVER (eng. hardware) podrazumijeva se raunalno sklopovlje

Mikroprocesor, RAM, HDD, USB

POHRANA PODATAKA u raunalu odvija se iskljuivo pretvorbom podataka u bitove koji mogu poprimiti vrijednost ili 1 ili 0
Grupu od 8 bitova nazivamo BAJT (eng. byte). 1 byte je dostatan za pohranjivanje jednog slovnobrojanog znaka u ASCII kodu.

Pohrana broja 77 u 1 bajt

Pohrana slova A u 1 bajt

ASCII kod je do nedavno bio najei nain pohranjivanja znakova, on ima skup od standardnih 128 znakova. Npr. slovo A je 65, ili binarno 01000001. Za kodiranje znakova u svim jezicima, pa i u naem jeziku danas se koristi Unicode standard.

STROJNI JEZIK je jedini jezik koji moe razumjeti mikroprocesor; proces izvravanja jedne naredbe strojnog jezika izgleda ovako:
FETCH, faza dohvaanja naredbe iz glavne memorije u meu-memoriju mikroprocesora DECODE, faza dekodiranja naredbe u kojoj se priprema izvrenje mikro koda za dohvaenu naredbu EXECUTE, faza izvravanja dohvaene naredbe strojnog jezika

8, 16, 32, 64 bitni operativni sustavi i mikroprocesori

JEZINI PREVODITELJI slue za prevoenje programa zapisanih u viim programskim jezicima u program izraen strojnim programskim jezikom. Postoje dvije izvedbe jezinih prevoditelja:
TUMAI NAREDBI (interpreteri) koji prevode i istovremeno izvravaju naredbe (Python) PREVODITELJI PROGRAMA (kompajleri) koji prevoenje vre u vie faza i generiraju izvrni kod u strojnom jeziku npr. u obliku (EXE) datoteke (C#)

Kljune rijei programskih jezika, mnemonici strojnog jezika

IZVORNI KOD predstavlja niz naredbi iji slijed programer osmiljava kako bi raunalo obavilo odreenu zadau CILJNI KOD dobiva se nakon prevoenja izvornog koda kompajlerom SINTAKTIKA POGREKA (eng. syntax error) predstavlja pogreku koja nastaje nepotivanjem pravila programskog jezika u kojem je izvorni kod napisan Sve sintaktike pogreke trebaju biti ispravljene kako bi prevoditelj programa mogao kreirati izvrnu datoteku!

INTEGRIRANO RAZVOJNO OKRUENJE (eng. Integrated Development Environment) je specijalizirani softverski paket koji sadri:
Ureiva teksta prilagoen pisanju programa Prevoditelj programa (kompajler) Alate za testiranje programa i lociranje pogreaka

KATEGORIJE SOFTVERA
SISTEMSKI SOFTVER predstavlja skupinu programa koja se brine za izvedbu osnovnih funkcionalnosti raunala kao npr. operativni sustav APLIKACIJSKI SOFTVER predstavlja skupinu programa koji omoguavaju vrenje pojedinog skupa zadataka kao npr. Microsoft Word

PROJEKTIRANJE PROGRAMA
Programski zadatak Algoritam

VARIJABLE, KONSTANTE I OSNOVNI OPERATORI


Izlazni i ulazni podaci Varijable
Ime Tip Deklaracija

Konstante Osnovni aritmetiki operatori

PROJEKTIRANJE PROGRAMA provodi se pomou dijagrama toka i pseudokoda, to su prikazi rjeenja zadatka koji na jasan nain naglaavaju logiku grananja i odluivanja pri izvrenju programa LOGIKE POGREKE ne sprjeavaju program da se pokrene i izvodi, ali su najei uzrok neispravnih rezultata programa
Pseudokod je neformalni jezik bez pravila sintakse, koji se ne prevodi niti izvodi Dijagram toka grafiki prikazuje i opisuje korake koje izvodi program

PROGRAMSKI ZADATAK je jednoznano odreena funkcionalnost koju program mora obaviti


Jasno zadani zadatak je preduvjet upotrebljivog rjeenja i ralambe zadatka na manje cjeline

ALGORITAM je skup dobro definiranih logikih koraka, koji u konanom vremenu rjeavaju programski zadatak

IZLAZNI podaci se generiraju programom i prikazuju na izlaznoj jedinici (npr. zaslon) ULAZNI podaci dolaze izvan raunala i program ih pribavlja preko ulazne jedinice (npr. tipkovnica) VARIJABLE programa su varijabilni podaci u glavnoj memoriji raunala i nalaze se u ispisno/upisnoj memoriji(RAM)

VARIJABLA sadri vrijednosti ulaznih ili izlaznih veliina / podataka ili meurezultate. Program tijekom izvravanja moe u bilo kojem koraku izmijeniti vrijednost VARIJABLE.

IME VARIJABLE
Mora biti jedna rije
Ne smije sadravati razmak Ne smije biti rezervirana rije programskog jezika Prvi znak ne smije biti znamenka Ime bi trebalo sugerirati namjenu ili sadraj varijable

Prije uporabe u programu varijable se moraju navesti, deklarirati tj. potrebno je odrediti tip varijable

IME VARIJABLE ne smije biti rezervirana rije programskog jezika c#

DEKLARACIJOM varijable dodjeljujemo varijabli odreenog imena njezin tip TIP varijable definira vrstu podataka koju elimo pohranjivati u tu varijablu npr. Za cjelobrojne vrijednosti koristimo tipove int Za niz znakova koristimo tip string
Za brojeve s decimalnim zarezom koristimo tip

double
Za logike vrijednosti koriste se tip bool Boole-ove vrijednosti, tj. vrijednosti istinitosti - istina true ili la false

string ivo;
Ova naredba je DEKLARACIJA poto je varijabli ivo ovom naredbom dodijeljen tip string,ovaj tip slui za pohranu niza znakova Za pohranu vrijednosti cijelih brojeva potrebno je deklarirati varijablu kao tip int

int sat, minuta;

Nakon deklariranja, varijabla moe poprimiti vrijednost nekog ulaznog podatka ili se operacijom pridruivanja = postavlja poetna vrijednost
ivo = "Hej."; sat = 11; minuta = 59; // pridjeljuje var. ivo vrijednost "Hej." // pridjeljuje vrijednost 11 var. sat // postavlja vrijednost var. minuta na 59

Ime Vrijednost varijable varijable ivo sat minuta Hej. 11 59

Varijabla i njoj pridijeljeni podaci moraju imati isti tip

Ime Vrijednost varijable varijable string int ivo sat minuta 11 Hej. 59

KONSTANTA je vrsta varijable koje se nakon deklaracije (pridruivanje tipa varijabli) samo jednom inicijalizira i tijekom programa vie ne mijenja svoju vrijednost const const const const int mjeseci = 12; int tjedana = 52; int dana = 365; double pi = 3.14;

OSNOVNI ARITMETIKI OPERATORI su specijalni znakovi koji predstavljaju jednostavne raunske operacije poput zbrajanja i mnoenja
1+1 sat-1 sat*60+minuta minuta/60

Navedeni izrazi sadre i varijable i brojeve U svakom od izraza, varijabla se prilikom izrauna zamjeni svojom trenutnom vrijednou

int sat, minuta; sat = 11; minuta = 59; Console.WriteLine(Broj minuta poslije ponoci: "); Console.WriteLine(sat * 60 + minuta); Console.WriteLine(Dio sata koji je prosao: "); Console.WriteLine(minuta / 60);

Program e ispisati ove rezultate na zaslonu


Broj minuta poslije ponoci: 719 Dio sata koji je prosao: 0

Alternativa za kritini dio programa izgleda:


Console.Write(Postotak sata koji je prosao: "); Console.WriteLine(minuta * 100 / 60); Postotak sata koji je prosao: 98

PRAVILA PREDNOSTI aritmetikih operatora


2*3-1=5
vei rang operacija minute*100/60, 5900/60=98 s lijeva na desno (int) minute*100/60, 59*1=59 s desna na lijevo (int)

2*3-14

Izbjegavanje prednosti operatora vri se upotrebom zagrada


2*(3-1)=4

Upotrebom zagrada zaobilazimo nedoumice


(minute*100)/60

Openito nije mogue vriti matematike operacije nad nizovima znakova (stringovima) Slijedei izrazi nisu dozvoljeni ako je varijabla ivo tipa string
ivo - 1 "Hello"/123 ivo * "Hello"

Da li je varijabla ivo tipa string ili int, mogue je ustanoviti jedino gledajui njezinu deklaciju Operator + IPAK radi nad nizovima znakova, ali izvodi spajanje, a ne matematiku operaciju zbrajanja
"Hello, " + "world" = " Hello, world"

Kreiranje novog programa (projekta) u razvojnoj okolini Visual Studio 2008 Express Edition

You might also like