² dijagrami toka: primjeri · provjera dijagrama toka . detaljna tablica 38 ññ ² 1. dijagrami...

48
SVEUČILIŠTE U ZAGREBU Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva Ś, Zagreb, HRVATSKA © 2016 Ivanjko ZITS::Računalstvo – Dijagrami toka: primjeri Računalstvo Dijagrami toka: primjeri Doc. dr. sc. Edouard Ivanjko, dipl.ing.

Upload: others

Post on 30-Dec-2019

51 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

SVEUČILIŠTE U ZAGREBU Fakultet prometnih znanosti

Zavod za inteligentne transportne sustave Vukelićeva , Zagreb, HRVATSKA

© 2016 Ivanjko ZITS::Računalstvo – Dijagrami toka: primjeri

Računalstvo

Dijagrami toka: primjeri

Doc. dr. sc. Edouard Ivanjko, dipl.ing.

Page 2: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

2

ZITS::Računalstvo – Dijagrami toka: primjeri

Sadržaj

• Uvod

• Provjera parnosti broja

• Provjera predznaka broja

• Opseg mnogokuta

• Umnožak prvih n cijelih brojeva

Page 3: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Uvod

• Dijagram toka omogućava kreiranje koncepta za rješenje zadanog problema

• Prikaz je grafički pomoću blokova

– Lako slijeđenje izvođenja naredbi – Jednostavna provjera izvođenja

• Ručno ili pomoću aplikacije Raptor

• Podloga za izradu dijagrama toka

– Razrađena ideja rješenja

– Popis potrebnih varijabli

– Pseudokôd

3

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 4: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Uvod

• Općenita procedura izrade programa

– Proučavanje problema

– Razrada ideje

• Poznate i nepoznate vrijednosti

• Predviđanje problema

• Popis varijabli

– Izrada pseudokôda

– Izrada i testiranje dijagrama toka

• Raptor

– Izrada i testiranje C# programa

• MS Visual Studio

4

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 5: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Uvod – Predviđanje problema

• Unos

– Broj elemenata ima biti veći od nula

– Smislenost vrijednosti fizikalnih veličina

– Provjera ispravnosti specifičnih podataka

• OIB, JMBAG, …

• Matematičke operacije i funkcije

– Dijeljenje s nulom

– Korijen negativnog broja

• Obrada

– Beskonačna petlja

– Ispravan tip podatka za rezultat

5

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 6: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Uvod – Popis varijabli

• Definirati

– Količina potrebnih varijabli – Ime, tip i značenje varijable

• Koristiti tip s najmanjom potrošnjom memorije

• Napisati u obliku tablice

6

ZITS::Računalstvo – Dijagrami toka: primjeri

Ime varijable Tip varijable Značenje varijable

brojiloVozilaD507 int

Brojilo vozila na državnoj cesti D 07 između čvorova Valentinovo i Gubaševo na čvoru Krapinske Toplice

tempMotora float Temperatura motora broda izražena u stupnjevima Celsiusa

cijenaTaxiStart float Cijena početka taxi vožnje u kunama s uključenim PDV-om

Page 7: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Uvod – Provjera dijagrama toka

• Nakon što je napravljen dijagram toka potrebno je napraviti provjeru njegove ispravnosti

• Generiraju se testni podaci koji obuhvaćaju sve karakteristične slučajeve

– Naročito potencijalno problematične slučajeve

– Na osnovu testnih podataka se odredi točan rezultat • Prvo se dijagram toka provjeri ručno

– Koristi se tablica s koracima izvođenja te vrijednostima varijabli

– Potrebno obratiti pažnju na otkrivanje pogrešaka

• Nakon ručne provjere se radi implementacija

7

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 8: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Definicija problema

Potrebno je napraviti program koji će provjeriti parnost unesenog cijelog broja. Kao rezultat izvršavanja potrebno je ispisati pripadnu poruku.

8

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 9: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Proučavanje problema

– Obrađuje se samo jedan podatak

– Broj je paran ako je ostatak cjelobrojnog dijeljena s 2 jednak nula, a u suprotnom slučaju je broj neparan

• U Raptoru ostatak cjelobrojnog dijeljenja se dobije pomoću naredbe MOD ili REM

– Kao rezultat se ispisuje jedna poruka

• Odabir poruke ovisi o ostatku cjelobrojnog dijeljenja

9

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 10: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Razrada ideje

– Poznate i nepoznate vrijednosti

• Količina podataka?

– Samo jedan -> nije potrebna petlja

• Sam podatak?

– Zna operater -> potrebno ga unijeti u program

• Parnost broja?

– Traženi rezultat programa -> potrebno izračunati

– Predviđanje problema

• Dvije mogućnosti rezultata! – Potrebno koristiti strukturu grananja da se ispiše samo

jedna poruka kao rezultat

10

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 11: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Razrada ideje

– Popis varijabli

• Varijabla za unos podatka

• Varijabla za spremanje ostatka cjelobrojnog dijeljenja

11

ZITS::Računalstvo – Dijagrami toka: primjeri

Ime varijable Tip varijable Značenje varijable

broj int Uneseni podatak

ostatak int Ostatak cjelobrojnog dijeljenja s brojem 2

Page 12: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Izrada pseudokôda

Deklaracija varijabli

broj, ostatak

Ispis

”Unesite podatak za ispitivanje parnosti >”

Unos

broj

Izračunaj ostatak := broj MOD 2

12

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 13: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Izrada pseudokôda

ako je ostatak = = 0 onda

Ispis

"Uneseni podatak (broj " + broj + ") je paran!"

inače

Ispis

"Uneseni podatak (broj " + broj + ") je neparan!"

13

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 14: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Izrada dijagrama toka

– Strukturom grananja je osigurano da se uvijek ispiše samo jedna poruka rezultata ovisno o iznosu ostatka

14

ZITS::Računalstvo – Dijagrami toka: primjeri

ParnostBroja

ostatak == 0Da Ne

Početak

”U esite podatak za ispitivanje parnosti >”

broj

Kraj

"Uneseni podatak

(broj " + broj + ") je

paran!"

"Uneseni podatak

(broj " + broj + ") je

neparan!"

ostatak = broj MOD 2

Page 15: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Provjera dijagrama toka

– Testni podaci koji pokrivaju slučaj parnog i neparnog broja

• Npr. 4 i 5

– Točna rješenja za usporedbu s rezultatom izvođenja dijagrama toka

• Za prvi podatak (broj 4) rezultat je paran broj

• Za drugi podatak (broj 5) rezultat je neparan broj

15

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 16: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Provjera dijagrama toka

– Prvi podatak (broj 4)

16

ZITS::Računalstvo – Dijagrami toka: primjeri

ParnostBroja

Korak izvođenja

Oznaka bloka

Rezultat izvođenja

1 A Početak dijagrama toka

2 B Ispis poruke broj poprima vrijednost 4

3 C ostatak poprima vrijednost 0

4 D Uvjet je istinit

5 E Ispisuje se poruka ”Uneseni podatak broj je paran!”

6 G Završetak dijagrama toka

A

B

C

D

E F

G

ostatak == 0Da Ne

Početak

”U esite podatak za ispitivanje parnosti >”

broj

Kraj

"Uneseni podatak

(broj " + broj + ") je

paran!"

"Uneseni podatak

(broj " + broj + ") je

neparan!"

ostatak = broj MOD 2

Page 17: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera parnosti broja

• Provjera dijagrama toka – detaljna tablica

– Drugi podatak (broj 5)

17

ZITS::Računalstvo – Dijagrami toka: primjeri

ParnostBroja

Korak izvođenja

Oznaka bloka

broj ostatak Rezultat izvođenja

1 A - - Početak dijagrama toka

2 B 5 - Ispis poruke broj poprima vrijednost 5

3 C 5 1 ostatak poprima vrijednost 1

4 D 5 1 Uvjet je neistinit

5 E 5 1 Ispisuje se poruka ”Uneseni podatak (broj

je neparan!”

6 H 5 1 Završetak dijagrama toka

Page 18: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Definicija problema

– Potrebno je napraviti dijagram toka koji će ispisati koji je predznak unesenog broja. Za broj nula potrebno je definirati poseban slučaj.

18

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 19: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Proučavanje problema

– Obrađuje se samo jedan podatak

• Nije potrebna petlja

– Potrebno je odrediti predznak broja, a vrijednost nula je poseban slučaj

• Postoje moguća rezultata

• Potrebno je koristiti složenu strukturu grananja

– Rezultat izvođenja dijagrama toka je ispis poruke s oznakom predznaka broja

19

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 20: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Razrada ideje

– Poznate i nepoznate vrijednosti

• Količina podataka?

– Samo jedan podatak

• Vrijednost podatka?

– Zna ga operater koji ga unosi

• Predznak podatka?

– Rezultat programa, potrebno izračunati

– Predviđanje problema

• Vrijednost nula?

– Predstavlja poseban slučaj

20

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 21: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Razrada ideje

– Popis varijabli

• Varijabla za spremanje podatka

21

ZITS::Računalstvo – Dijagrami toka: primjeri

Ime varijable Tip varijable Značenje varijable

broj int Uneseni podatak

Page 22: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Izrada pseudokôda

Deklaracija varijabli

broj

Ispis

”Unesite broj za provjeru predznaka >”

Unos

broj

22

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 23: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Izrada pseudokôda

ako je broj > 0 onda

Ispis

”Uneseni broj je pozitivan!”

inače ako je broj < 0 onda

Ispis

”Uneseni broj je negativan!”

inače

Ispis

”Uneseni broj je jednak 0!”

23

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 24: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

broj > 0Da Ne

Da Ne

Početak

”U esite roj za provjeru predznaka >”

broj

Kraj

”U ese i roj je negativan!”

”U ese i roj je pozitivan!”

”U ese i roj je jednak 0!”

broj < 0

Provjera predznaka broja

• Izrada dijagrama toka

– Strukturom grananja s ispitivanjem više uvjeta je osigurano da se uvijek ispiše samo jedna poruka rezultata

24

ZITS::Računalstvo – Dijagrami toka: primjeri

PredznakBroja

Page 25: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Provjera dijagrama toka

– Testni podaci koji pokrivaju slučaj negativnog i pozitivnog broja te vrijednost nula

• Npr. -4, 5 i 0

– Točna rješenja za usporedbu s rezultatom izvođenja dijagrama toka

• Za prvi podatak (broj 4) rezultat je negativan broj

• Za drugi podatak (broj 5) rezultat je pozitivan broj

• Za treći podatak broj 0 rezultat je detektirana vrijednost nula

25

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 26: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Provjera dijagrama toka

– Prvi podatak (vrijednost -4)

26

ZITS::Računalstvo – Dijagrami toka: primjeri

PredznakBroja

broj > 0Da Ne

Da Ne

Početak

”U esite roj za provjeru predznaka >”

broj

Kraj

”U ese i roj je negativan!”

”U ese i roj je pozitivan!”

”U ese i roj je jednak 0!”

broj < 0

A

B

C

D E

F

H

G

Korak izvođenja

Oznaka bloka

Rezultat izvođenja

1 A Početak dijagrama toka

2 B Ispis poruke broj poprima vrijednost -4

3 C Uvjet nije istinit

4 E Uvjet je istinit

5 F Ispisuje se poruka ”Uneseni broj je negativan!”

6 H Završetak dijagrama toka

Page 27: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Provjera predznaka broja

• Provjera dijagrama toka – detaljna tablica

– Drugi podatak (vrijednost 5)

27

ZITS::Računalstvo – Dijagrami toka: primjeri

PredznakBroja

Korak izvođenja

Oznaka bloka

broj Rezultat izvođenja

1 A - Početak dijagrama toka

2 B 5 Ispis poruke broj poprima vrijednost 5

3 C 5 Uvjet je istinit

4 D 5 Ispisuje se poruka ”Uneseni broj je pozitivan!”

5 H 5 Završetak dijagrama toka

Page 28: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Definicija problema

– Potrebno je napraviti dijagram toka koji će izračunati opseg mnogokuta

28

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 29: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Proučavanje problema

– Mnogokut poligon je dio ravnine omeđen zatvorenom izlomljenom linijom

• Više stranica -> potrebna je petlja

– Mnogokut ima ili više stranica

• Potrebno je postići da je dijagram toka univerzalan za bilo koji mnogokut

– Rezultat izvođenja dijagrama toka je ispis poruke s izračunatim opsegom mnogokuta

29

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 30: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Razrada ideje

– Poznate i nepoznate vrijednosti

• Količina podataka duljina stranica ?

– Zna operater, ima više podataka

• Vrijednost podataka?

– Zna ga operater koji ih unosi

• Opseg mnogokuta?

– Rezultat programa, potrebno izračunati zbrajanjem duljina stranica

– Predviđanje problema

• Potreban broj iteracija petlje?

– Ovisi o slučaju tj. broju kutova u mnogokutu

30

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 31: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Razrada ideje

– Popis varijabli

• Varijabla za spremanje broja kutova u mnogokutu

• Varijabla za spremanje duljine pojedine stranice

• Varijabla za spremanje opsega mnogokuta

• Brojač za količinu obrađenih stranica mnogokuta

31

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 32: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Razrada ideje

– Popis varijabli

32

ZITS::Računalstvo – Dijagrami toka: primjeri

Ime varijable Tip varijable Značenje varijable

brojKutova int Broj kutova u mnogokutu

stranica broj s plivajućim

zarezom Duljina jedne stranice mnogokuta

opseg broj s plivajućim

zarezom Opseg mnogokuta

i int Brojač za količinu obrađenih stranica mnogokuta

Page 33: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Izrada pseudokôda

Deklaracija varijabli

brojKutova, stranica, opseg, i

Inicijalizacija

i := 0

opseg := 0

Ispis

”Unesite broj kutova mnogokuta >”

Unos

brojKutova

33

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 34: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Izrada pseudokôda

dok je i < brojKutova činiti Ispis

”Unesite duljinu " + (i + 1) + ". stranice mnogokuta >”

Unos

stranica

Izračunaj opseg := opseg + stranica

i := i +1

Ispis

”Opseg mnogokuta iznosi ” + opseg

34

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 35: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Izrada dijagrama toka

– Strukturom petlje moguć je uzastopan unos duljine stranica i izračun opsega mnogokuta

35

ZITS::Računalstvo – Dijagrami toka: primjeri

OpsegMnogokuta

i <

brojKutova

Da Ne

Početak

”U esite roj kutova mnogokuta >”

brojKutova

”U esite dulji u ” + (i+1) + ”. stranice

mnogokuta >”stranica

i = 0

opseg = 0

opseg = opseg + stranica

i = i +1

Kraj

”Opseg ogokuta iz osi”

+ opseg

Page 36: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Provjera dijagrama toka

– Testni podaci koji pokrivaju slučaj proizvoljnog mnogokuta

• Npr. broj kutova mnogokuta 5 s duljinama stranica 4, 6, 3, 7 i 8

– Točna rješenja za usporedbu s rezultatom izvođenja dijagrama toka

• Opseg mnogokuta iznosi 28

36

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 37: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Provjera dijagrama toka

37

ZITS::Računalstvo – Dijagrami toka: primjeri

Korak izvođenja

Oznaka bloka

Rezultat izvođenja

1 A Početak dijagrama toka

2 B i poprima vrijednost 0 opseg poprima vrijednost 0

3 C Ispis poruke brojKutova poprima vrijednost 5

4 D Uvjet je istinit

5 E Ispis poruke stranica poprima vrijednost 4

6 F opseg poprima vrijednost 4 i poprima vrijednost 1

7 D Uvjet je istinit

… … …

OpsegMnogokuta

A

B

C

D

E

F

H

G

i <

brojKutova

Da Ne

Početak

”U esite roj kutova mnogokuta >”

brojKutova

”U esite dulji u ” + (i+1) + ”. stranice

mnogokuta >”stranica

i = 0

opseg = 0

opseg = opseg + stranica

i = i +1

Kraj

”Opseg ogokuta iz osi”

+ opseg

Page 38: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Opseg mnogokuta

• Provjera dijagrama toka – detaljna tablica

38

ZITS::Računalstvo – Dijagrami toka: primjeri

Korak izvođenja

Oznaka bloka

i opseg stranica brojKutova Rezultat izvođenja

1 A - - - - Početak dijagrama toka

2 B 0 0 - - i poprima vrijednost 0 opseg poprima vrijednost 0

3 C 0 0 - 5 Ispis poruke brojKutova poprima vrijednost 5

4 D 0 0 - 5 Uvjet je istinit

5 E 0 0 4 5 Ispis poruke stranica poprima vrijednost 4

6 F 1 4 4 5 opseg poprima vrijednost 4 i poprima vrijednost 1

… … … … … … …

OpsegMnogokuta

Page 39: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Definicija problema

– Potrebno je napraviti dijagram toka koji će izračunati umnožak prvih n cijelih brojeva

39

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 40: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Proučavanje problema

– Moguće zadati bilo koju vrijednost n

• Potrebno je postići da je dijagram toka univerzalan

– Traži se umnožak prvih n cijelih brojeva

• Problem se svodi na izračun faktorijela

– Rezultat izvođenja dijagrama toka je ispis poruke s izračunatim umnoškom prvih n cijelih brojeva

40

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 41: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Razrada ideje

– Poznate i nepoznate vrijednosti

• Količina podataka?

– Zna operater

– Ima više podataka -> potrebna petlja

• Vrijednost podataka?

– Zna ih operater koji ih unosi

• Iznos umnoška?

– Rezultat programa, potrebno izračunati

– Predviđanje problema

• Početna vrijednost umnoška?

– Ne smije utjecati na iznos rezultata -> 1

41

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 42: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Razrada ideje

– Popis varijabli

• Varijabla za spremanje količine brojeva za množenje

• Brojilo za praćenje količine pomnoženih brojeva

• Varijable za spremanje umnoška

42

ZITS::Računalstvo – Dijagrami toka: primjeri

Ime varijable Tip varijable Značenje varijable

brojPodataka int Količina brojeva za množenje

umnozak int Rezultat umnoška

brojiloPodataka int Brojač za količinu pomnoženih brojeva

Page 43: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Izrada pseudokôda

Deklaracija varijabli

brojPodataka, umnozak, brojiloPodataka

Inicijalizacija

umnozak := 1

brojiloPodataka := 1

Ispis

”Unesite količinu podataka >”

Unos

brojPodataka

43

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 44: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Izrada pseudokôda

ponavljati

Izračunaj umnozak := umnozak * brojiloPodataka

brojiloPodataka := brojiloPodataka + 1

do brojiloPodataka <= brojPodataka

Ispis

”Umnožak prvih ” + brojPodataka + ” cijelih brojeva iznosi ” + umnozak

44

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 45: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Izrada dijagrama toka

– Strukturom petlje moguće je uzastopno množenje

45

ZITS::Računalstvo – Dijagrami toka: primjeri

UmnozakBrojeva

brojiloPodataka

<= brojPodataka

Da Ne

Početak

”U esite količi u podataka:”

brojPodataka

umnozak =1

brojiloPodataka = 1

umnozak = umnozak * brojiloPodataka

Kraj

”U ožak prvih ” +

brojPodataka + ” ijelih rojeva iz osi ”+ umnozak

brojiloPodataka = brojiloPodataka +1

Page 46: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Provjera dijagrama toka

– Testni slučaj za manji umnožak

• Npr. količina brojeva za umnožak

– Točna rješenja za usporedbu s rezultatom izvođenja dijagrama toka

• Umnožak prva tri cijela broja iznosi

46

ZITS::Računalstvo – Dijagrami toka: primjeri

Page 47: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva

• Provjera dijagrama toka

47

ZITS::Računalstvo – Dijagrami toka: primjeri

Korak izvođenja

Oznaka bloka

Rezultat izvođenja

1 A Početak dijagrama toka

2 B umnozak poprima vrijednost 1 brojiloPodataka poprima vrijednost 1

3 C Ispis poruke brojPodataka poprima vrijednost 3

4 D umnozak poprima vrijednost 1

5 E brojiloPodataka poprima vrijednost 2

6 F Uvjet istinit

… … …

UmnozakBrojeva

brojiloPodataka

<= brojPodataka

Da Ne

Početak

”U esite količi u podataka:”

brojPodataka

umnozak =1

brojiloPodataka = 1

umnozak = umnozak * brojiloPodataka

Kraj

”U ožak prvih ” +

brojPodataka + ” ijelih rojeva iz osi ”+ umnozak

brojiloPodataka = brojiloPodataka +1

A

B

C

D

E

F

H

G

Page 48: ² Dijagrami toka: primjeri · Provjera dijagrama toka . detaljna tablica 38 ññ ² 1. Dijagrami toka: primjeri Korak £ ¶ Oznaka bloka i opseg stranica brojKutova £ 1 £ ¶ 1

© 2016 Ivanjko

Umnožak prvih n cijelih brojeva • Provjera dijagrama toka – detaljna tablica

48

ZITS::Računalstvo – Dijagrami toka: primjeri

Korak izvođenja

Oznaka bloka

brojPodataka umnozak brojiloPodataka Rezultat izvođenja

1 A - - - Početak dijagrama toka

2 B - 1 1

umnozak poprima vrijednost 1 brojiloPodataka poprima vrijednost 1

3 C 3 1 1 Ispis poruke brojPodataka poprima vrijednost 3

4 D 3 1 1 umnozak poprima vrijednost 1

5 E 3 1 2 brojiloPodataka poprima vrijednost 2

… … … … … …

UmnozakBrojeva