52
ALGORITMI, PROGRAMI, ALGORITMI, PROGRAMI, PROGRAMSKI JEZICI PROGRAMSKI JEZICI

ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

  • Upload
    lamdung

  • View
    231

  • Download
    3

Embed Size (px)

Citation preview

Page 1: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

ALGORITMI, PROGRAMI, ALGORITMI, PROGRAMI, PROGRAMSKI JEZICI PROGRAMSKI JEZICI

Page 2: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

PodaciPodaci, , informacijeinformacije, , komunikacijakomunikacija

Page 3: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Podaci i informacijePodaci i informacije

PodaciPodaci -- fizifiziččkiki opisiopisi pojmovapojmova, , idejaideja, , apstrakcijaapstrakcijaInformacijeInformacije -- znaznaččenjaenja pridrupridružženaena podacimapodacimaČČemuemu sluslužžee podacipodaci? ? –– pprijenosrijenosuu informacijainformacija, , –– pohranpohranii informacijainformacija zaza budubuduććee upotrebeupotrebe,,–– izvođenjizvođenjuu novihnovih informacijainformacija obradomobradom podatakapodataka premaprema

određenimodređenim pravilimapravilima

ČČemuemu sluslužžee informacijeinformacije? ? –– PodrPodršška ka u u procesimaprocesima odluodluččivanjaivanja i i upravljanjaupravljanja

Page 4: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

KKomunikacijaomunikacija

RazmjenaRazmjena podataka (informacija) podataka (informacija) izmeđuizmeđu–– ljudiljudi–– ljudiljudi i i strojevastrojeva–– strojevastrojeva

TemeljiTemelji se se nana zajednizajedniččkomkom dogovorudogovoru o o znaznaččenjuenju fizifiziččkihkih simbolasimbola ((podatakapodataka) ) kojikojipredstavljajupredstavljaju pojmovepojmove, , ččinjeniceinjenice iliili idejeideje i i pravila njihove razmjenepravila njihove razmjene

Page 5: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

ALGORITMIALGORITMI

Page 6: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Operacije i raOperacije i raččunanjaunanja

OperacijaOperacija–– PravilPraviloo zaza radrad s s podacimapodacima (+, (+, -- , *, div, /, , *, div, /, modmod))PodaciPodaci i i operacijeoperacije -->> raraččunanjeunanje

6+3=9, 66+3=9, 6--3=3, 6*3=183=3, 6*3=186 div 3=2, 7 div 2=3, 7/2=3.5, 6 div 3=2, 7 div 2=3, 7/2=3.5,

6 6 modmod 2=0, 7 2=0, 7 modmod 2=12=1RaRaččunanjeunanje ((postupakpostupak rjerješšavanjaavanja))–– konakonaččanan skupskup operacijaoperacija primijenjenprimijenjen nana konakonaččanan

skupskup podatakapodataka s s ciljemciljem rjerješšavanjaavanja postavljenogpostavljenogzadatkazadatka

Page 7: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

AlgoritamAlgoritam

RaRaččunanjeunanje kojekoje rjerješšavaava postavljenipostavljeni zadatakzadatakZnaZnaččajkeajke algoritmaalgoritma::–– PopisPopis operacijaoperacija ((uputauputa) ) kojekoje opisujuopisuju izvrizvrššavanjeavanje

nekognekog postupkapostupka izraizražženen nana jasanjasan i i logilogiččanan nanaččinin–– OperacijeOperacije iziz popisapopisa ((koracikoraci algoritmaalgoritma) ) morajumoraju bitibiti

neposrednoneposredno izvediveizvedive–– NedvosmislenNedvosmislen–– ZavrZavrššavaava u u konakonaččnomnom brojubroju korakakoraka

DobroDobro oblikovanioblikovani strukturiranistrukturirani algoritamalgoritam olakolakššavaavaččitljivostitljivost i i razumljivostrazumljivost postupkapostupka raraččunanjaunanja

Page 8: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

OsnovneOsnovne strukturestrukture pripri konstrukcijikonstrukcijialgoritmaalgoritma

SlijednaSlijedna–– koracikoraci se se izvrizvrššavajuavaju u u slijeduslijedu jedanjedan izaiza

drugogadrugoga, a , a pojedinipojedini korakkorak se se izvrizvrššavaava samosamojedanputjedanput

IzbornaIzborna–– izabireizabire se i se i izvrizvrššavaava samosamo jednajedna odod ponuđenihponuđenih

mogumoguććnostinostiPonavljanjaPonavljanja–– izvođenjeizvođenje jednogjednog iliili viviššee korakakoraka se se ponavljaponavlja

Page 9: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Primjer: Primjer: ObraObraččunun telefonskihtelefonskihtrotrošškovakova

ZadatakZadatak: : SastaviteSastavite algoritamalgoritam zazaizraizraččunavanjeunavanje telefonskihtelefonskih trotrošškovakova nanakrajukraju mjesecamjeseca, , akoako susu poznatipoznati brojbrojpotropotroššenihenih telefonskihtelefonskih impulsaimpulsa, , cijenacijenajednogjednog impulsaimpulsa tete iznosiznos telefonsketelefonskepretplatepretplate. U . U iznosiznos telefonsketelefonske pretplatepretplateurauraččunaunatto o jeje 100 100 impulsaimpulsa..

Page 10: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

PoPoččetnoetno poznatipoznati podacipodaci

BrojBroj potropotroššenihenih telefonskihtelefonskih impulsaimpulsa–– IMPULSIIMPULSI

CijenaCijena jednogjednog impulsaimpulsa–– CIJENACIJENA

IznosIznos telefonsketelefonske pretplatepretplate–– PRETPLATAPRETPLATA

BrojBroj impulsaimpulsa urauraččunatunat u u pretplatupretplatu–– 100100

Page 11: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

ŽŽeljenieljeni rezultantnirezultantni podatakpodatak

IznosIznos ukupnihukupnih telefonskihtelefonskih trotrošškovakova–– TROTROŠŠAKAK

Page 12: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

VarijableVarijable

VeliVeliččineine kojakoja poprimajupoprimaju vrijednostivrijednosti izizskupaskupa dopudopušštenihtenih vrijednostivrijednosti. . VrijednostVrijednostvarijablevarijable tijekomtijekom izvrizvrššavanjaavanja određujeodređujealgoritamalgoritam

IMPULSI, CIJENA, PRETPLATA, TROIMPULSI, CIJENA, PRETPLATA, TROŠŠAKAK

Page 13: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

KonstanteKonstante

VeliVeliččininee stalnestalne vrijednostivrijednosti

100100

Page 14: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

IzraIzraččunavanjeunavanje trotrošškaka

VIVIŠŠAK = IMPULSI AK = IMPULSI –– 100100

TROTROŠŠAK = PRETPLATA + VIAK = PRETPLATA + VIŠŠAK * CIJENAAK * CIJENA

Page 15: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

KoraciKoraci algoritamaalgoritama

1.1. UnesiUnesi podatkepodatke: : –– IMPULSI, CIJENA, PRETPLATAIMPULSI, CIJENA, PRETPLATA

2.2. Ako IMPULSI > 100 Ako IMPULSI > 100

oondanda VIVIŠŠAK AK ←← IMPULSI IMPULSI –– 100100iinanaččee VIVIŠŠAK AK ←← 00

3.3. TROTROŠŠAK AK ←← PRETPLATA + VIPRETPLATA + VIŠŠAK * CIJENAAK * CIJENA

4.4. IspiIspišši i rezultatrezultat–– TROTROŠŠAKAK

Page 16: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

ObjaObjaššnjenjenjenje

1. Pridruživanje vrijednosti varijablama2. Pravilo zaključivanja:

Ako je UVJET zadovoljen (da/ne)onda izračunaj (da)inače izračunaj (ne)

3. Operacija pridruživanja (←)- varijabli s lijeve strane znaka pridruživanja pridružuje se

vrijednost izraza s desne strane znaka pridruživanja

4. Ispis vrijednosti varijable

Page 17: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

DijagramDijagram tokatoka / Simboli/ Simboli

PreglednijiPregledniji prikazprikaz algoritmaalgoritma korikorišštenjemtenjemstandardnihstandardnih grafigrafiččkihkih simbolasimbola

PoPoččetaketak iliili krajkraj algoritmaalgoritma

UlazUlaz i/i/iliili iizlazzlaz ppodatakaodataka

PPridruridružživanjeivanje vrijednostivrijednosti vvarijablamaarijablama

Page 18: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Simboli dijagrama tokaSimboli dijagrama toka

MjestoMjesto izboraizbora, , grananjagrananja

PoPoččetaketak strukturestrukture ponavljanjaponavljanja

PPodalgoritamodalgoritam,, alalgoritamgoritam ččijiiji susu detaljidetalji

oopisanipisani drugdjedrugdje ((procedure,procedure, ffunkcijeunkcije))

RedoslijedRedoslijed izvođenjaizvođenja korakakoraka aalgoritmalgoritma

Page 19: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

DijagramDijagram tokatoka algoritmaalgoritma zaza obraobraččununtelefonsktelefonskihih trotrošškovakova

VIŠAK <- IMPULSI - 100 VIŠAK <- 0

IMPULSICIJENA

PRETPLATATROŠAK <- PRETPLATA + VIŠAK * CIJENA

TROŠAK

SVRŠETAK

IMPULSI > 100DA NE

POČETAK

1

1

Page 20: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Dijagram tokaDijagram toka

ZadaciZadaci

Page 21: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Z1. Z1. KolikoKoliko iznoseiznose vrijednostivrijednosti varijablivarijabli nana krajukrajuizvođenjaizvođenja postupkapostupka prikazanprikazanogog dijagramomdijagramom tokatoka??

Page 22: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Z.2 Z.2 SastaviteSastavite dijagramdijagram tokatoka zaza izraizraččunavanjeunavanjepovrpovrššineine trokutatrokuta akoako susu poznatepoznate njegove njegove stranicestranice aa, , bb i i cc ..

cc bb

aa

Page 23: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Z.3 Z.3 SastaviteSastavite dijagramdijagram tokatoka programaprograma kojikojitrebatreba proproččitatiitati dvadva troznamenkastatroznamenkasta cijelacijelabrojabroja tete izraizraččunatiunati i i ispisatiispisati njihovnjihovumnoumnožžakak, , kolikoliččniknik (realni i (realni i cijelobrojnicijelobrojni) ) i i ostatakostatak. . TipoveTipove podatakapodataka izraziteizraziteidentifikatorimaidentifikatorima programskogprogramskog jezikajezikaPascal.Pascal.

Page 24: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Z.4 Z.4 SastaviteSastavite dijagramdijagram tokatoka zaza izraizraččunavanjeunavanjearitmetiaritmetiččkeke sredinesredine N N prirodnihprirodnih brojevabrojeva..

Page 25: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Z.5 Z.5 SastaviteSastavite dijagramdijagram tokatoka zaza izraizraččunavanjeunavanjezbroja parnih i neparnih brojeva niza od zbroja parnih i neparnih brojeva niza od nn prirodnih brojeva.prirodnih brojeva.

Page 26: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Z.6 Z.6 SastaviteSastavite dijagramdijagram tokatoka zaza izraizraččunavanjeunavanjezbrojazbroja prvihprvih nn ččlanovalanova nizaniza::

Page 27: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

RARAČČUNALNI UNALNI PROGRAMPROGRAMII

Page 28: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Programi i programski jeziciProgrami i programski jezici

ProgramProgram–– AAlgoritamlgoritam prilagođenprilagođen za za izvođenjeizvođenje na na raraččunaluunalu

Programski jezikProgramski jezik–– SredstvoSredstvo za za izraizražžavanjavanjee programaprograma–– SluSlužži za opisi za opis

zzadatkaadatka, podataka , podataka –– ŠŠTO?, TO?, ČČIME?IME?postupka rjepostupka rješšavanja avanja –– KAKO?KAKO?

Page 29: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

OpisOpis zadatkazadatka i postupka rjei postupka rješšavanjaavanja

ŠŠTO?, TO?, ČČIME?IME?–– OpisOpis zadatka, zadatka, polaznihpolaznih podatakapodataka, , žželjenih eljenih

rezultatarezultata i i njihovihnjihovih međusobnihmeđusobnih zakonitostizakonitosti, , relacijarelacija

KAKO?KAKO?–– OpisOpis postupkapostupka rjerješšavanjaavanja–– RedoslijedRedoslijed primjeneprimjene zakonitostizakonitosti, , relacijarelacija na na

podacima da bi se dobio podacima da bi se dobio žželjeni rezultateljeni rezultat

Page 30: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

ŽŽivotni ciklus programaivotni ciklus programaPostavljanje zadatka, problemaPostavljanje zadatka, problemaSastavljanje algoritmaSastavljanje algoritmaProgramiranjeProgramiranje

–– prilagođavanje algoritma za izvođenje na raprilagođavanje algoritma za izvođenje na raččunaluunaluKodiranjeKodiranje programaprograma

–– pisanjepisanje programprograma u programskom jezikua u programskom jezikuUnos, preUnos, prevođenje i izvođenje programavođenje i izvođenje programaTestiranjeTestiranje programaprograma

–– provjeraprovjera rada rada premaprema postavljenimpostavljenim zahtjevimazahtjevimaIspravljanjeIspravljanje pogrepogreššakaaka u u programuprogramuDokumentiranjeDokumentiranje programaprograma

–– opisopis algoritamaalgoritama i i uporabeuporabe programaprogramaOdrOdržžavanjeavanje programaprograma

–– promjenapromjena programaprograma premaprema zahtjevimazahtjevima korisnikakorisnika

Page 31: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Pristupi programiranjuPristupi programiranju

Strukturirano programiranjeStrukturirano programiranjeObjektu usmjereno programiranjeObjektu usmjereno programiranjeProgramiranje agenataProgramiranje agenata

Page 32: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

StrukturiranoStrukturirano programiranjeprogramiranje

SustavniSustavni pristuppristup programiranjuprogramiranju1.1. DeklaracijaDeklaracija podatakapodataka

popispopis varijablivarijabli i i njihovihnjihovih tipovatipovattipip podatkapodatka utvrđujeutvrđuje skupskup dopudopušštenihtenih vrijednostivrijednostivarijablevarijable

2.2. IzvedbeniIzvedbeni diodioredoslijedredoslijed izvođenjaizvođenja naredbinaredbi programaprograma ((korakakorakaalgoritmaalgoritma))

Page 33: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

StrukturaStruktura programaprograma izraizražženaenaprogramskimprogramskim jezikomjezikom PPascalascal

programprogram .......... (*(* zaglavljezaglavlje programaprograma *)*).................... (*(* deklaracijadeklaracija podatakapodataka *)*)..........

beginbegin (* (* popoččetaketak *)*).................... (*(* iizvedbenizvedbeni diodio *)*)..........

endend. . (* (* svrsvrššetaketak *)*)

Page 34: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

AlgoritamAlgoritam zaza obraobraččunun telefonskihtelefonskih trotrošškovakovazapisanzapisan u u programskomprogramskom jezikujeziku PPascalascal

programprogram TelefonTelefon;;varvar impulsiimpulsi, vi, viššakak: : integerinteger;;pretplatapretplata, , cijenacijena, , trosaktrosak: : realreal;;

beginbeginreadlnreadln((impulsiimpulsi, , cijenacijena, , pretplatapretplata));;

ifif impulsiimpulsi > 100 > 100 thenthen viviššakak := := impulsiimpulsi -- 100100elseelse viviššakak := 0;:= 0;

trotroššakak := := pretplatapretplata + vi+ viššakak * * cijenacijena;;writelnwriteln((' ' TroTroššakak iznosiiznosi ', ', trotroššak:6:2, ' ak:6:2, ' knkn''))endend..

Page 35: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Navođenje varijabli i tipovaNavođenje varijabli i tipova

vvarar nazivnaziv: tip;: tip;–– nazivnaziv: : impulsiimpulsi i vii viššakak

tiptip: i: integernteger–– varijable varijable poprimajupoprimaju vrijednostivrijednosti iziz skupaskupa cijelihcijelih brojevabrojeva

–– nazivnaziv: : pretplatapretplata, , cijenacijena i i trotroššakaktiptip: r: realeal

–– varijablevarijable poprimajupoprimaju vrijednostivrijednosti iziz skupaskupa decimalnihdecimalnih, , realnihrealnihbrojevabrojeva

IskaziIskazi, , naredbenaredbe u u programskomprogramskom jezikujeziku PPascalascalse se zavrzavrššavajuavaju znakomznakom ; (; (totoččkaka zarezzarez))

Page 36: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

PridruPridružživanje i ispis vrijednostiivanje i ispis vrijednosti

readlnreadln( ....... )( ....... )–– proproččitajitaj vrijednostivrijednosti s s ulazneulazne jedinicejedinice raraččunalaunala

((tipkovnicatipkovnica, , datotekadatoteka) i ) i pridrupridružžii ihih varijablamavarijablamanavedenimnavedenim unutarunutar zagradazagrada

writelnwriteln( ....... ) ( ....... ) –– ispiispiššii teksttekst komentarakomentara i i vrijednostivrijednosti varijablivarijabli nana

standardnustandardnu izlaznuizlaznu jedinicujedinicu raraččunalaunala ((zaslonzaslon, , datotekadatoteka, , tiskalotiskalo))

Page 37: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Operatori i strukture nadzoraOperatori i strukture nadzora

SStrukturatruktura uvjetauvjetaif ... then ... if ... then ... eelselse ((akoako ... ... ondaonda ... ... iinanaččee))OOperacijaperacija pridrupridružživanjaivanja:=:=AAritmetiritmetiččkiki operatorioperatori

+, +, -- , *, / , *, / --ZZapisapis tekstateksta kojikoji ććee bitibiti neposrednoneposredno ispisanispisan' ........ '' ........ '

Page 38: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Formati ispisaFormati ispisa

FFormatormat ispisaispisa vrijednosti vrijednosti varijablevarijable

varijabla:n:mvarijabla:n:m

n = n = ukupniukupni brojbroj mjestamjesta zaza ispisispis

m = m = brojbroj decimalnihdecimalnih mjestamjesta

Page 39: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

PripremaPriprema programaprograma zaza izvođenjeizvođenje

1.1. UUnosnos izvornogizvornog programaprograma u u raraččunalounalo2.2. PPrevođenjerevođenje i i tvorbatvorba izvedbenogizvedbenog oblikaoblika3.3. IIzvođenjezvođenje programaprograma

Page 40: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

UnosUnos izvornogizvornog programaprograma u u raraččunalounalo

PrijenosPrijenos tekstateksta, , izvornogizvornog oblikaoblika, , programaprogramas s papirnatogpapirnatog medijamedija u u memorijumemoriju raraččunalaunalatete njegovanjegova pohranapohrana u u datotekudatoteku nanamagnetskommagnetskom medijumediju (disk) (disk) pomopomoććuuprogramaprograma zaza uređivanjeuređivanje tekstatekstaDatotekaDatoteka imenovaniimenovani skupskup povezanihpovezanihpodatakapodataka kojikoji ččineine logilogiččnunu cjelinucjelinu(program, (program, mjernimjerni podacipodaci, , dokumentdokument, , slikaslika, , zvuzvuččnini zapiszapis, video , video zapiszapis))

Page 41: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

UnosUnos izvornogizvornog programaprograma u u raraččunalounalo

Page 42: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

PrevođenjePrevođenje i i tvorbatvorba izvedbenogizvedbenog oblikaoblika

Program Program izraizražženen programskimprogramskim jezikomjezikom u u izvornomizvornom oblikuobliku ččitljivomitljivom ččovjekuovjeku program program jezijeziččnognog prevoditeljaprevoditelja prevodiprevodi u u ciljniciljni, , strojustroju ččitljiviitljivi -- ččovjekuovjeku gotovogotovo neneččitljiviitljivi, , izvedbeniizvedbeni oblikoblikIzborIzbor programaprograma zaza prevođenjeprevođenje ovisiovisi o o programskomprogramskom jezikujeziku u u kojemkojem jeje zapisanzapisanizvorniizvorni programprogram

Page 43: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

PrevođenjePrevođenje i i tvorbatvorba izvedbenogizvedbenog oblikaoblika

Page 44: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

IzvođenjeIzvođenje programaprograma

PunjenjePunjenje izvedbenogizvedbenog oblikaoblika programaprograma u u memorijumemoriju i i pokretanjepokretanje programaprograma pomopomoććuuupravljaupravljaččkihkih naredbinaredbi operacijskogoperacijskog sustavasustavararaččunalaunalaOperacijskiOperacijski sustavsustav -- program program zaza upravljanjeupravljanjeradomradom raraččunalaunala, , nadzornadzor programskoprogramsko--sklopovskihsklopovskihsredstavasredstava raraččunalaunala i i komunikacijukomunikaciju s s ččovjekomovjekomNNakonakon pokretanjapokretanja programaprograma unoseunose se se putemputemulazneulazne jedinicejedinice popoččetnoetno poznatipoznati podacipodaci, a , a raraččunalounalo nana temeljutemelju programaprograma izraizraččunavaunavarezultantnurezultantnu vrijednostvrijednost kojukoju ispisujeispisuje nana izlaznojizlaznojjedinicijedinici raraččunalaunala

Page 45: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

IzvođenjeIzvođenje programaprograma

Page 46: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Dohvat radnog okruDohvat radnog okružženjaenja

http://www.freepascal.org

Page 47: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Pokretanje radnog okruPokretanje radnog okružženjaenja

Page 48: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Unos programaUnos programa

Page 49: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Spremanje programaSpremanje programa

Page 50: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Prevođenje programaPrevođenje programa

Page 51: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

Izvođenje programaIzvođenje programa

Page 52: ALGORITMI, PROGRAMI, PROGRAMSKI JEZICImafpz.fpz.hr/~goldh/Racunalstvo0607/Predavanja - ppt/P06_Algorit... · stranice a, bi c. c b a. Z.3 Sastavite dijagram toka programa koji

ALGORITAM ZA OBRAALGORITAM ZA OBRAČČUN TELEFONSKIH TROUN TELEFONSKIH TROŠŠKOVA KOVA ZAPISAN U PROGRAMSKOM JEZIKU CZAPISAN U PROGRAMSKOM JEZIKU C

main()main(){{

intint impulsiimpulsi, , visakvisak;;floatfloat pretplatapretplata, , cijenacijena, , trosaktrosak;;scanfscanf("%f %d %f", &("%f %d %f", &pretplatapretplata, &, &impulsiimpulsi, &, &cijenacijena););if (if (impulsiimpulsi > 100) > 100)

visakvisak = = impulsiimpulsi -- 100;100;elseelse visakvisak = 0;= 0;trosaktrosak = = pretplatapretplata + + visakvisak**cijenacijena;;printf("Trosakprintf("Trosak iznosiiznosi %f %f knkn", ", trosaktrosak););

}}