You are on page 1of 16

RAUNALSTVO

14.09.2009.

SVEUILITE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI

RAUNALSTVO
Prof. dr. sc. Hrvoje Gold
2009/2010.

RAUNALSTVO

06. ALGORITMI, PROGRAMI, PROGRAMSKI JEZICI


2

Podaci i informacije

Podaci, informacije Podaci, informacije, , komunikacija

Podaci - fiziki opisi pojmova, ideja, apstrakcija I f Informacije ij - znaenja j pridruena id podacima d i emu slue podaci?
prijenos rijenosu u informacija, pohrani pohrani informacija za budue upotrebe, izvoenju enju novih informacija obradom podataka prema odreenim pravilima

emu slue informacije?


Podrka u procesima odluivanja i upravljanja

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Komunikacija

Razmjena podataka (informacija) izmeu


ljudi ljudi i strojeva strojeva

ALGORITMI

Temelji se na zajednikom dogovoru o znaenju fizikih simbola (podataka) koji predstavljaju pojmove, injenice ili ideje i pravila njihove razmjene
5 6

Operacije i raunanja

Algoritam

Operacija
Pravilo P a ilo Pravil ilo za a rad ad s podacima (+, (+ - , *, * div, di /, / mod)

Raunanje koje rjeava postavljeni zadatak Z ajke Zna jk algoritma: l it


Popis operacija (uputa) koje opisuju izvravanje nekog postupka izraen na jasan i logian nain Operacije iz popisa (koraci algoritma) moraju biti neposredno izvedive Nedvosmislen ed os s e Zavrava u konanom broju koraka

Podaci i operacije -> raunanje 6+3=9, 66-3=3, 6*3=18 6 div 3=2, 7 div 2=3, 7/2=3.5, 6 mod 3 3=0, 0, 7 mod 2 2=1 1 Raunanje (postupak rjeavanja)
konaan skup operacija primijenjen na konaan skup podataka s ciljem rjeavanja postavljenog zadatka
7

Dobro oblikovani strukturirani algoritam olakava itljivost i razumljivost postupka raunanja


8

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Osnovne strukture pri konstrukciji algoritma


Primjer: Obraun telefonskih trokova


Slijedna
koraci ko aci se i izvravaju a aj u slijed slijedu jedan iza i a drugoga, a pojedini korak se izvrava samo jedanput

Izborna
izabire se i izvrava samo jedna od ponuenih mogunosti

Ponavljanja
izvoenje jednog ili vie koraka se ponavlja
9

Zadatak: Sastavite algoritam za i unavanje izra j telefonskih t l f kih trokova t k na kraju mjeseca, ako su poznati broj potroenih telefonskih impulsa, cijena jednog impulsa te iznos telefonske pretplate. U iznos telefonske pretplate uraunat unato je 100 impulsa.

10

Poetno poznati podaci


eljeni rezultantni podatak


Broj potroenih telefonskih impulsa


IMPULSI

Iznos ukupnih telefonskih trokova


TROAK

Cijena jednog impulsa


CIJENA

Iznos telefonske pretplate


PRETPLATA

Broj impulsa uraunat u pretplatu


100
11 12

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Varijable

Konstante

Veliine koja poprimaju vrijednosti iz skupa k d doputenih t ih vrijednosti. ij d ti Vrijednost V ij d t varijable tijekom izvravanja odreuje algoritam IMPULSI, IMPULSI CIJENA, CIJENA PRETPLATA, PRETPLATA TROAK TROAK

Veliine ine stalne vrijednosti 100

13

14

Izraunavanje troka
1.

Koraci algoritama
Unesi podatke:

2.

VIAK = IMPULSI 100 TROAK = PRETPLATA + VIAK * CIJENA


3. 4.

IMPULSI, IMPULSI CIJENA CIJENA, PRETPLATA

Ako IMPULSI > 100 onda VIAK IMPULSI 100 inae VIAK 0 TROAK PRETPLATA + VIAK * CIJENA Ispii rezultat
TROAK

15

16

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Objanjenje
1. 2.

Dijagram toka / Simboli


3.

Pridruivanje vrijednosti varijablama P il zaklju Pravilo klj ivanja: i j Ako je UVJET zadovoljen (da/ne) onda izraunaj (da) inae izraunaj (ne) Operacija p j pridruivanja p j ()
- varijabli s lijeve strane znaka pridruivanja pridruuje se vrijednost izraza s desne strane znaka pridruivanja

Pregledniji prikaz algoritma koritenjem standardnih grafikih simbola

Poetak ili kraj algoritma Ulaz i/ i/ili ili izlaz podataka Pridruivanje vrijednosti varijablama
18

4.

Ispis vrijednosti varijable


17

Simboli dijagrama toka


Mjesto izbora, grananja Poetak strukture ponavljanja Podalgoritam,
algoritam al goritam iji su detalji

Dijagram toka algoritma za obraun telefonskih telefonsk ih trokova


POETAK
1

IMPULSI CIJENA PRETPLATA

TROAK <- PRETPLATA + VIAK * CIJENA NE

DA IMPULSI > 100

opisani drugdje (procedure, funkcije)


VIAK <- IMPULSI - 100 VIAK <- 0

TROAK

Redoslijed izvoenja koraka algoritma


1

SVRETAK

19

20

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Izvodljivi dijagram toka

Dijagram toka
Zadaci
raptor.martincarlisle.com

21

22

Z1. Koliko iznose vrijednosti varijabli na kraju izvoenja postupka prikazanog prikazanog dijagramom toka toka? ?

Z.2 Sastavite dijagram toka za izraunavanje povrine i trokuta t k t ako k su poznate t njegove j stranice a, b i c .
c b

a
23 24

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Z.3 Sastavite dijagram toka programa koji t b proit treba itati ti d dva t troznamenkasta k t cijela ij l broja te izraunati i ispisati njihov umnoak, kolinik (realni i cijelobrojni) i ostatak.

Z.4 Sastavite dijagram toka za izraunavanje aritmeti it tike k sredine di N prirodnih i d ih brojeva. b j

25

26

Z.5 Sastavite dijagram toka za izraunavanje zbroja b j parnih ih i neparnih ih brojeva b j niza i od d n prirodnih brojeva.

Z.6 Sastavite dijagram toka za izraunavanje zbroja b j prvih ih n lanova l niza: i

27

28

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Programi i programski jezici


Program
Algoritam prilagoen za izvoenje na raunalu

RAUNALNI PROGRAMI PROGRAMI

Programski jezik
Sredstvo za izraavanj izraavanje e programa Slui za opis
zadatka adatka, , podataka TO?, TO? IME? postupka rjeavanja KAKO?

29

30

Opis zadatka i postupka rjeavanja


ivotni ciklus programa


TO?, IME?
Opis zadatka, polaznih podataka, eljenih rezultata i njihovih meusobnih zakonitosti, relacija

Postavljanje zadatka, problema Sastavljanje j j algoritma g Programiranje Kodiranje programa

prilagoavanje algoritma za izvoenje na raunalu pisanje program programa a u programskom jeziku

KAKO?
Opis p postupka p p rjeavanja j j Redoslijed primjene zakonitosti, relacija na podacima da bi se dobio eljeni rezultat

Unos, prevoenje i izvoenje programa Testiranje programa Ispravljanje pogreaka u programu Dokumentiranje programa Odravanje programa
opis algoritama i uporabe programa

provjera rada prema postavljenim zahtjevima

31

promjena programa prema zahtjevima korisnika


32

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Pristupi programiranju
Strukturirano programiranje Objektu usmjereno programiranje Programiranje agenata ......

Strukturirano programiranje
Sustavni pristup programiranju
1. Deklaracija podataka
popis varijabli i njihovih tipova tip podatka utvruje skup doputenih vrijednosti varijable

2. Izvedbeni dio
redoslijed d lij d izvo i enja j naredbi dbi programa (koraka k k algoritma) algoritma )

33

34

Struktura programa izraena programskim jezikom Pascal


program ..... ..... ..... ..... begin ..... ..... ..... end. (* zaglavlje programa *) ( ) (* deklaracija podataka *) (* poetak *) (* izvedbeni dio *) (* svretak *)
35

Algoritam za obraun telefonskih trokova zapisan u programskom jeziku Pascal


program Telefon; var impulsi, l vi viak: k integer i ; pretplata, cijena, tro troak: real; begin readln(impulsi, cijena, pretplata); if impulsi > 100 then vi vi ak := impulsi - 100 else vi vi ak := 0; tro tro ak := pretplata + vi vi ak * cijena; writeln(' Tro Troak iznosi ', tro tro ak:6:2, ' kn') end.
36

Algoritmi, programi, programski jezici

RAUNALSTVO

14.09.2009.

Navoenje varijabli i tipova


Pridruivanje i ispis vrijednosti


var naziv: tip;


naziv: impulsi i vi viak
tip: i integer nteger
varijable poprimaju vrijednosti iz skupa cijelih brojeva

readln( ....... )
proitaj vrijednosti s ulazne jedinice raunala (tipkovnica, datoteka) i pridrui ih varijablama navedenim unutar zagrada

naziv: pretplata, cijena i tro troak


tip: r real eal
varijable ij ble poprimaju pop im j vrijednosti ijedno ti iz i skupa k p decimalnih, de im lnih realnih e lnih brojeva

writeln( ....... )
ispii p tekst komentara i vrijednosti j varijabli j na standardnu izlaznu jedinicu raunala (zaslon, datoteka, tiskalo)

Iskazi, naredbe u programskom jeziku Pascal se zavravaju znakom ; (to (toka zarez) zarez)
37

38

Operatori i strukture nadzora


Formati ispisa

Struktura uvjeta
if ... then ... else (ako ... onda ... inae) e)

Format ispisa vrijednosti varijable varijabla:n:m n = ukupni broj mjesta za ispis m = broj decimalnih mjesta

Operacija pridruivanja := Aritmetiki operatori +, - , *, ,/ Zapis teksta koji e biti neposredno ispisan ' ........ '
39

40

Algoritmi, programi, programski jezici

10

RAUNALSTVO

14.09.2009.

Priprema programa za izvoenje


Unos izvornog programa u raunalo 2. Prevoenje i tvorba izvedbenog oblika 3. Izvoenje programa
1.

Unos izvornog programa u raunalo


Prijenos teksta, izvornog oblika, programa s papirnatog medija u memoriju raunala te njegova pohrana u datoteku na magnetskom mediju (disk) pomou programa za ureivanje teksta Datoteka imenovani skup povezanih podataka koji ine loginu cjelinu (program, mjerni podaci, dokument, slika, zvuni zapis, video zapis)

41 42

Unos izvornog programa u raunalo

Prevoenje i tvorba izvedbenog oblika


Program izraen programskim jezikom u i izvornom obliku blik itljivom itlji ovjeku j k program jezinog prevoditelja prevodi u ciljni, stroju itljivi - ovjeku gotovo neitljivi, izvedbeni oblik Izbor programa za prevoenje ovisi o programskom jeziku u kojem je zapisan izvorni program

43

44

Algoritmi, programi, programski jezici

11

RAUNALSTVO

14.09.2009.

Prevoenje i tvorba izvedbenog oblika

Jezini prevoditelj

45

46

Izvoenje programa

Izvoenje programa

Punjenje izvedbenog oblika programa u memoriju j i pokretanje p j programa p g pomo p u upravljakih naredbi operacijskog sustava raunala Operacijski sustav - program za upravljanje radom raunala, nadzor programskoprogramsko-sklopovskih sredstava raunala i komunikaciju s ovjekom Nakon pokretanja programa unose se putem ulazne l jedinice j di i poetno t poznati ti podaci, d i a raunalo na temelju programa izraunava rezultantnu vrijednost koju ispisuje na izlaznoj jedinici raunala
47 48

Algoritmi, programi, programski jezici

12

RAUNALSTVO

14.09.2009.

Dohvat radnog okruenja

Pokretanje radnog okruenja

http://www.freepascal.org
49 50

Unos programa

Spremanje programa

51

52

Algoritmi, programi, programski jezici

13

RAUNALSTVO

14.09.2009.

Prevoenje programa

Izvoenje programa

53

54

Uvod
Prirodni jezici Umjetni U j t i jezici j i i esperanto t Programski

PROGRAMSKI JEZICI

Vii
Proceduralno usmjereni Neproceduralno usmjereni Strojni jezik
Mnemoniki oblik (asembler) Binarni oblik
55 56

Nii

Algoritmi, programi, programski jezici

14

RAUNALSTVO

14.09.2009.

Vii programski jezici


Proceduralno, algoritamski usmjereni


Opis zadatka i opis postupka za rjeavanje zadatka d tk blii ljudskom lj d k nainu i opisa i

Izraajna sredstva za opisivanje podataka i za konstrukciju k t k ij algoritama: l it ADA, ADA , APL APL, , BASIC, BASIC , C, COBOL, FORTRAN, LISP, LOGO, PASCAL, PL/I

57

58

Neproceduralno usmjereni

Nii programski jezici


Opis zadatka i opis postupka za rjeavanje j j zadatka d tk blii grai i nainu i izvoenja na raunalu Strojni jezik - programe zapisane u strojnom jeziku, neposredne upute za rad, rad , mogue je koristiti samo na raunalu odreene arhitekture

Izraajna sredstva za opisivanje podataka i njihovih jih ih meusobnih b ih relacija l ij


programska sredina pronalazi niz operacija ili postupke kojim se podaci, zadovoljenjem njihovih meusobnih relacija, prevode u rezultate: PROLOG, PROLOG, SQL

59

60

Algoritmi, programi, programski jezici

15

RAUNALSTVO

14.09.2009.

Objektu usmjereno programiranje


ALGORITAM ZA OBRAUN TELEFONSKIH TROKOVA ZAPISAN U PROGRAMSKOM JEZIKU C main() { int impulsi, visak; float pretplata, cijena, trosak; scanf("%f %d %f", &pretplata, &impulsi, &cijena); if (impulsi > 100) visak = impulsi - 100; else visak = 0; trosak = pretplata + visak*cijena; printf("Trosak iznosi %f kn", trosak); }
61 62

Objektu usmjereno pisani program: program: korisnik upravlja komunikacijom s programom, programom redoslijed poruka je nepravilan i odreuje ga korisnik Tradicionalno pisani program: program: program upravlja komunikacijom s korisnikom Vii programski jezici za pisanje programa koji podravaju objektu usmjereno programiranje programiranje: : Smalltalk, C++, Visual Basic, Java, C#

Algoritmi, programi, programski jezici

16

You might also like