P. 1
2 Prez Algoritam

2 Prez Algoritam

|Views: 5|Likes:
Published by dubi001

More info:

Published by: dubi001 on Jul 01, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/18/2014

pdf

text

original

Uvod u programiranje

Algoritam
ƒ ƒ ƒ ƒ Precizno opisan način rješenja nekog problema Jednoznačno određuje što treba napraviti Kao ishod algoritma pojavi se rezultat. Konačni broj koraka; svaki korak opisan instrukcijom

Primjer algoritma – kiseljenje krastavaca
ƒ Početni objekti:
• 5 kg krastavaca, 1 l alkoholnog octa (9%), 30 dag šećera, 10 dag soli, kopar, papar

ƒ ƒ ƒ ƒ ƒ ƒ ƒ

Krastavce i kopar oprati i posložiti u čiste staklenke U 2 l vode dodati ocat, šećer, sol i papar Zakuhati uz miješanje Vruću otopinu uliti u staklenke Staklenke zatvoriti celofanom i gumicom Složiti staklenke u široki lonac napunjen vodom do grla staklenki Zagrijati vodu do 80 stupnjeva. Ako toplomjer nije raspoloživ, zagrijavati dok se s dna ne počnu dizati mjehurići zraka ƒ Staklenke izvaditi, obrisati i složiti na police u smočnicu ƒ Rezultat:
• kiseli krastavci

Primjer algoritma – ručno zbrajanje dvaju višeznamenkastih dekadskih brojeva ƒ Početni objekti: • 2 pribrojnika ƒ Napisati dekadske brojeva tako da znamenke jedinica budu potpisane jedna ispod druge. Ako u manjem broju ne postoji znamenka koje u većem ima. učiniti • Zbrojiti dvije odgovarajuće znamenke i prijenos • Na odgovarajuće težinsko mjesto rezultata upisati znamenku jedinica tako dobivene sume • Broju prijenos dodijeliti vrijednost znamenke desetica tako dobivene sume ƒ Ako je prijenos > 0. ƒ Zamisliti broj koji ćemo nazvati prijenos. znamenke desetica i sve ostale znamenke također. i postaviti ga na vrijednost 0 ƒ Za svako težinsko mjesto. upisati ga ispred rezultata ƒ Rezultat: • zbroj . zamisliti da na tom mjestu piše 0. krenuvši s desna na lijevo.

3333333. 10/3 = 3.. ƒ Algoritam postaje učinkovit tek ako se broj znamenki unaprijed ograniči . npr. ƒ Primjeri: • Zbrajanje cijelih brojeva je učinkovito • Dijeljenje realnih brojeva nije jer se može pojaviti broj s beskonačno mnogo znamenki.Algoritam ƒ Instrukcije moraju biti izvedive i jednoznačne ƒ Primjeri za nedopuštene instrukcije: • izračunaj 5/0 • uvećaj x za 6 ili 7 ƒ Učinkovitost: • U konačnom vremenu može se dobiti rezultat koristeći olovku i papir..

to je 3170979198376 godina! .. barem 2020 kombinacija ~ 1026 Kad bi se 1 kombinacija analizirala 1 µs. zahtijevao bi milijarde godina na najbržem zamislivom računalu.Algoritam ƒ Algoritam je uporabljiv ako se dobije rezultat u konačnom vremenu ƒ Vrijeme izvođkoji enja biti "razumno" Primjer: Algoritam bi mora izabirao potez igrača šaha tako da ispita sve moguće posljedice poteza. Zašto? 20 mogućih prvih poteza bijelog 20 mogućih prvih poteza crnog > 20 mogućih drugih poteza bijelog > 20 mogućih drugih poteza crnog itd.. Za 10 poteza svakog igrača.

ƒ Algoritam se grafički predočava prikazu svaki algoritamski korak grafičkim simbolom. U tom je iskazan odgovarajućim se tekstualno prikazuje . Algoritam pseudokodom. dijagramom toka.

x4 ))) . U ovom slučaju algoritamska shema se sastoji od algoritamskih koraka ulaza. Primjer: Sastavi algoritam za izračunavanje vrijednosti y koji je zadan relacijom : y = x 1* ( x2 .Linijska struktura ƒ Svaki algoritamski korak tijekom rješavanja zadatka izvršava se samo jedan put. obrade i izlaza.5 * ( x3 + 2.3.1 .1 * ( 4.

.

Primjer: Površina kruga ƒPseudokod početak definiraj PI=3. “ je “. povrsina kraj . " učitajte radijus povrsina = (radijus * radijus) * PI ispiši "Povrsina kruga radijusa ”.14 ispiši "Zadajte radijus kruga. . radijus. .

y. rez x=8 y = 15 rez =10 + y / x rez Kraj .Primjer: Dijeljenje dva cijela broja ƒ Dijagram toka Početak cijeli broj x.

U tom smislu ispunjenje uvjeta generira daljnji tijek rješavanja. ƒ Postavlja se pitanje da li je neki uvjet ispunjen ili nije.Razgranata struktura ƒ Svaki algoritamski korak izvršava se najviše jedan put tijekom rješavanja zadatka. Međutim. Ovaj se algoritamski korak naziva uvjetnim – korakom odluke. u ovakvoj strukturi moguće su i situacije da se neki algoritamski koraci tijekom rješavanja zadatka ne izvrše. . ƒ Odluka je uvijek popraćena s odgovorima "DA" alternativno "NE". ƒ U razgranatoj algoritamskoj shemi uvijek postoji jedan algoritamski korak koji omogućava grananje algoritma.

Jednostrana selekcija ƒ Pseudokôd ako je logički_izraz tada naredbe logički_izraz D niz naredbi N .

Dvostrana selekcija ƒ Pseudokôd ako je logički_izraz tada niz_naredbi_1 inače D logički_izraz niz_naredbi_2 niz naredbi_1 N niz naredbi_2 .

Primjer Programski zadatak: Pronaći najveći od tri zadana broja Pseudokod koji koristi isključivo termine govornog jezika pročitaj tri realna broja ispiši pročitane brojeve odredi najveći broj ispiši nađeni broj .

z ispiši x.Rješenje u pseudokodu koji koristi uobičajene simbole pročitaj x.y.z ako je x > y tada ako je x > z tada rez = x inače rez = z inače ako je y > z tada rez = y inače rez = z ispiši rez kraj .y.

z rez = z ako je x > y tada ako je x > z tada rez = x inače ako je y > z tada rez = y ispiši rez kraj .y.Poboljšanje prethodnog rješenja pročitaj x.z ispiši x.y.

zadaj: a1 = 5. a2 i a3 pridružiti varijablama b1. a3 = 8 ako je a1 ≤ a2 tada b1 = a1 b2 = a2 inače b1 = a2 b2 = a1 ako je a3 < b1 tada b3 = b2 b2 = b1 b1 = a3 inače ako je a3 < b2 tada b3 = b2 b2 = a3 inače b3 = a3 ispiši b1. b2. b3 . a2 = 2. b2 i b3 tako da je b1 ≤ b2 ≤ b3.Zadatak: Potrebno je numeričke vrijednosti triju varijabli a1.

inače niz_naredbi_0 ..Višestrana selekcija ako je (logički_izraz_1) onda niz_naredbi_1 inače ako je (logički_izraz_2) onda niz_naredbi_2 inače ako je (logički_izraz_3)onda niz_naredbi_3 ..

ispisati odgovarajuću poruku. Parametre pravaca učitati programom. Postupak: x = (b2 .Određivanje sjecišta dvaju pravaca ƒ Odrediti sjecište dvaju pravaca.a2) y = a1 · x + b1 y= a2 x +b 2 y = a + x 1 b1 y y x . Ako sjecište ne postoji.b1) / (a1 .

y kraj .b2 izračunaj nazivnik izraza ako su pravci paralelni onda ispiši poruku inače izračunaj x.a2.Rješenje u pseudokodu učitaj a1.a2.b1.b1.b2 ispiši a1.y ispiši x.

Ako je . a ako nije treba uz odgovarajuću poruku završiti program. učitaj cijeli broj x ako je x<100 ili x>999 onda ispiši poruku da x nije troznamenkast inače rez = x mod 100 rez = rez / 10 ispiši srednja znamenka broja x je rez kraj Primjer: Pročitati neki troznamenkasti cijeli broj x.učitani broj troznamenkast treba pronaći srednju znamenku i ispisati pročitani broj i nađenu znamenku.

u protivnom tiskaj p3 .Primjer w w w Unesi tri broja p1. p2. p3 Ispituj vrijednost p1 Ako je p1=0 tiskaj p2.

Primjer ƒ Sastaviti algoritamsku shemu za izračunavanje vrijednosti y koji se ravna po relacijama:  x1 + x2 y=  x1 − x2 akoje akoje x1 ≤ x2 x1 > x2 .

.

Primjer ƒ Sastaviti algoritamsku shemu za izračunavanje vrijednosti y koji se ravna po relacijama :  x1 + x2 x1 < x2  y =  x1 ⋅ x2 x1 = x2 x − x x > x  1 2 1 2 .

.

Sastaviti algoritam za određivanje da li je uneseni broj pozitivan ili negativan. tvori cikličku algoritamsku shemu. ƒ Primjer.Cikličke strukture ƒ Niz algoritamsih koraka u kojem se jedan ili više algoritamskih koraka može izvršiti više od jedanput. pri jednom izvršavanju algoritma zadatka. a ako je nula program završava. .

Pocetak x x<0 Broj je negativan x>0 Broj je pozitivan x=0 Kraj .

Petlja s ispitivanjem uvjeta ponavljanja na početku ƒ Pseudokod dok je (logički_izraz) | niz_naredbi N logički_izraz D niz_naredbi .

Petlja s ispitivanjem uvjeta ponavljanja na kraju ponavljaj | niz_naredbi dok ne bude (logički_izraz) niz_naredbi D logički_izraz N .

as .Primjer: Izračunaj aritmetičku sredinu brojeva koji se redom čitaju s tipkovnice sve dok njihova suma ne premaši neku zadanu gornju granicu. n. učitaj gornju granicu gg brojač n = 0 s = 0 ponavljaj učitaj i s = s + i n = n+1 dok ne bude s > gg as = s / n ispiši s.

korak niz_ .Petlja s poznatim brojem ponavljanja ƒ Pseudokod za i = poc do kraj (korak k) niz_naredbi naredbi i = poc. kraj.

način ƒ Rješenje s petljom u kojoj se uvjet ispituje na početku učitaj n fakt=1 i=1 dok je i <= n fakt = fakt*i i = i+1 ispiši n.fakt .Program za izračunavanje N faktorijela 1.

fakt . način ƒ Rješenje s petljom u kojoj se uvjet ispituje na kraju: ucitaj n fakt = 1 i = 1 ponavljaj fakt = fakt * i i = i+1 dok je i <= n ispisi n.Program za izračunavanje N faktorijela 2.

fakt . način ƒ Rješenje s petljom s poznatim brojem ponavljanja: učitaj n fakt = 1 za i = 1 do n fakt = fakt * i ispiši n.Program za izračunavanje N faktorijela 3.

polaže se samo usmeni dio u sljedećem roku (rokovima). 2. Tri su novčića označena s A. . pristupa se usmenom. napisati algoritam kojim ćemo ustanoviti za svaki novčić da li je lakši ili teži od idealnog C. kao i ispisati rezultat. a novčići A ili B nisu potpuno ispravni po svojoj težini i nisu jednaki. B i C. a ako ne.Zadaci – dijagram toka ili pseudokod 1. količina potrošenih impulsa kao i cijena jednog impulsa. Riješiti algoritam za slučaj izlaska na ispit koji se sastoji od pismenog i usmenog dijela. Ako ne položi usmeni dio. piše se pismeni ponovno u sljedećem roku. Prvih 100 potrošenih impulsa se ne plaća. 3. Novčić C je mjerilo idealne težine. Nacrtati dijagram toka za program koji računa iznos telefonskog računa ako je poznata cijena pretplate. Ako se položi pismeni. Ako mjerimo novčiće pomoću vage.

Postaviti algoritam kojim razvrstavamo geometrijske likove u četiri skupine: a. lik je pravokutnik ako su: zadovoljeni uvjeti a1.stranice koje čine kut su jednake b. c. . . c. nepravilni likovi su oni koji ne ispunjavaju niti jedan uvjet. lik je romboid ako je: zadovoljen uvjet a1. . d. a nije zadovoljen uvjet a3. b. Prigodom ispitivanja potrebno je prebrojiti likove. i a2. Uvjeti za raspoznavanje likova su: lik je kvadrat ako su: a1.4.nasuprotne stranice jednake AB = CD i AD = BC a2.. . d.kut BAD = 90o a3. Kvadrat Pravokutnik Romboid nepravilni likovi a.

na drugoj stanici presjedne na tramvaj i stigne na odredište. 15 minuta jedan zvučni signal 30 minuta dva zvučna signala 45 minuta tri zvučna signala. Putovat će prvom linijom čiji autobus naiđe. Drugi je način korištenje autobusne linije 12. i 60 minuta četiri zvučna signala i onoliko zvučnih signala koliko ima sati.5. zbroj minuta i zbroj sati. 2. 4. Putnik može do odredišta stići na dva načina. Izraditi dijagram toka za obavljanje telefonskog razgovora. Prvi je način putovanje autobusom na liniji 6 i njime stiže direktno do odredišta. Ura ima sposobnost da daje na svakih: 1. . 7. 6. 3. Sastaviti dijagram toka za rad digitalne ure koja pokazuje zbroj sekundi.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->