jednodimenzionalno polje / nizmcicak/prupip/4t.pdf · 2020. 5. 11. · 12. tjedan: vjeŽbe -...

5
1 PRIMJENA RAČUNALA U PRIPREMI I PROIZVODNJI 12. tjedan: VJEŽBE - ALGORITMI ( 4 ) [email protected] DA algoritmi ~ “dinamički” aspekt - što radimo- kako strukture podataka ~ “statički” aspekt - sa čime radimo PROGRAM Elementi od kojih se grade strukture podataka Zapis . . . Pointer . . . Kursor . . . Liste … Polje (Array), Slog (record), Lista, povezana lista(linked list), Stog(stack), Red(queue), Stablo, binarno stablo (binary tree), Graf (graph) Polja/Područja (array) - imenovani uređeni skup vrijednosti koji se zajednički pohranjuje u memoriju - Sve vrijednosti polja su istog tipa - Svaka od vrijednost dostupna je putem indeksa - Polje se najčešće koristi za pohranu matrica lista nizova tablica. 16. 3. 8. 3. 1 2 3 4 i A(i) n=4 ; A(i) i=1,4 Jednodimenzionalno polje / Niz start i = 1, n n X(i) 498 502 506 600 604 adresa 1 2 3 4 5 indeks X 2.32 3.45 2.00 1.45 5.68 sadržaj Unos, ispis, zbroj, maksimum niza : da Ime polja n=5 ; X(i) ; i=1,5 n; X(i) ; i=1,n Razraditi logiku algoritma (pomoću dijagrama toka) koji će učitati niz C(i), od N elemenata i ispisati sve elemente koji su u intervalu od A do B i izbrojati koliko ih ima. Primjer 1 * *

Upload: others

Post on 18-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jednodimenzionalno polje / Nizmcicak/PRUPIP/4T.pdf · 2020. 5. 11. · 12. tjedan: VJEŽBE - ALGORITMI ( 4 ) prupipmc@sfsb.hr DA algoritmi ~ “dinamički” aspekt - što radimo-

1

PRIMJENA RAČUNALA U PRIPREMI I PROIZVODNJI

12. tjedan: VJEŽBE - ALGORITMI ( 4 )

[email protected]

DA

algoritmi ~ “dinamički” aspekt

- što radimo- kako

strukture podataka ~ “statički” aspekt

- sa čime radimo

PROGRAM

Elementi od kojih se grade strukture podataka

Zapis . . .

Pointer . . .

Kursor . . .

Liste …

•Polje (Array),

•Slog (record),

•Lista,

•povezana lista(linked list),

•Stog(stack),

•Red(queue),

•Stablo,

•binarno stablo (binary tree),

•Graf (graph)

Polja/Područja (array)

- imenovani uređeni skup vrijednosti koji se

zajednički pohranjuje u memoriju

- Sve vrijednosti polja su istog tipa

- Svaka od vrijednost dostupna je putem indeksa

- Polje se najčešće koristi za pohranu

• matrica

• lista

• nizova

• tablica.

16.3. 8. 3.

1 2 3 4i

A(i)

n=4 ;

A(i) i=1,4

Jednodimenzionalno polje / Niz

start

i = 1, n

n

X(i)

498 502 506 600 604 adresa

1 2 3 4 5 indeks

X 2.32 3.45 2.00 1.45 5.68 sadržaj

•Unos, ispis, zbroj, maksimum niza :

da

Ime poljan=5 ; X(i) ; i=1,5

n; X(i) ; i=1,n

Razraditi logiku algoritma (pomoću dijagrama toka) koji će učitati niz

C(i), od N elemenata i ispisati sve elemente koji su u intervalu od A

do B i izbrojati koliko ih ima.

Primjer 1

*

*

Page 2: Jednodimenzionalno polje / Nizmcicak/PRUPIP/4T.pdf · 2020. 5. 11. · 12. tjedan: VJEŽBE - ALGORITMI ( 4 ) prupipmc@sfsb.hr DA algoritmi ~ “dinamički” aspekt - što radimo-

2

Razraditi logiku algoritma (pomoću dijagrama toka) koji će učitati niz

C(i), od N elemenata i ispisati sve elemente koji su u intervalu od A

do B i izbrojati koliko ih ima.

Primjer 1 varianta 2

*

*

Sekvencijalni niz podataka istog tipa koji

imaju zajedničko ime.

80

1 2 3 4

1

2

3

i

j

13 15 16 18

26 31 65

32 15 66 37

m=3 ; n=4

M(i,j) i=1,3 : j=1,4

Dvodimenzionalno polje / Matrica

m ; n

M(i,j) i=1,m : j=1,n

Polja (array)

Dužina

vijka

VIJCI(i,j)

Radi efikasnosti pristupa, elementi polja

smještaju se u uzastopne memorijske

lokacije (redom po indeksu).

Ime polja je sinonim za

konstantni pokazivač koji sadrži

adresu prvog elementa

polja

Elementi polja - memorirani su u registrima memorije računala jedan

pored drugoga.

Naša percepcija matrice Spremljeno u memoriju

Promjer vijka

Ugnježdene petlje Matrica (dvodimenzionalno polje)

start

i = 1, m

m,n

X(i,j)

j = 1, n

Suma := Suma + S(i,j)

i := 1, m

Suma := 0

j = 1, n

SR(i) := Suma

i = 1, m

X(i,j)

j = 1, n

i := 1, m

Suma := 0

j = 1, n

Suma := Suma + S(i,j)

Unos

matriceIspis

matrice

suma

matrice

suma

redaka matrice

Kreirati dijagram

toka za

izračunavanje

aritmetičke

sredine

pravokutne

matrice nx m ,

A(i,j) gdje je

i=1,n a j=1,m

Primjer 2

Page 3: Jednodimenzionalno polje / Nizmcicak/PRUPIP/4T.pdf · 2020. 5. 11. · 12. tjedan: VJEŽBE - ALGORITMI ( 4 ) prupipmc@sfsb.hr DA algoritmi ~ “dinamički” aspekt - što radimo-

3

Kreirati dijagram

toka za

izračunavanje

aritmetičke

sredine redaka

pravokutne

matrice n x m,

A(i,j) gdje je

i=1,n a j=1,m

Primjer 2aNacrtati dijagram toka koji će učitati kvadratnu matricu, načiniti i ispisati niz

koji sadrži brojeve veće od 10 te ispisati koliko ih ima.

Početak

n

i = 1, n

j = 1, n

Brojač=0

M(i,j)

Kraj

A(i)

i = 1,Brojač

Brojač

ne

i = 1, n

j = 1, n

10<M(i,j)

da

Brojač=Brojač + 1

A(Brojač)=M(i,j)

Primjer 3

*

*

*

Kako postaviti uvjet da se podatak nalazi na glavnoj a kako

na sporednoj dijagonali kvadratne matrice

Primjer:

M11 M12 M13

M21 M22 M23

M31 M32 M33

n=3

j= n+1-i

Sporedna dijagonala

M(i, n+1-i)

?

Glavna dijagonala

i=j

Algoritam - skladišteKreirati dijagram toka, za poznato stanje vijaka na skladištu

potrebno je izračunati sume vijaka istog promjera i za njih odrediti

narudžbu matica, ako se matice naručuju u kompletima po 50

komada.

Sij , i=1,3 , j=1,5

5

11

1

j

ji

SijNS

5

12

2

j

ji

SijNS

5

13

3

j

ji

SijNS

N1 = S1 /50 +1

N2= S2 /50 +1

N3 = S3 /50 +1

M.M.

Suma pojedinog retka matrice

Primjer 4 start

kraj

Suma := Suma + S(i,j)

i := 1, m

Suma := 0

i = 1, m

Suma

m,n

j = 1, n

j = 1, n

S(i,j)

???

Ispis sume redaka zadane matrice

- odrediti narudžbu matica, ako se matice

naručuju u kompletima po 50 komada

Page 4: Jednodimenzionalno polje / Nizmcicak/PRUPIP/4T.pdf · 2020. 5. 11. · 12. tjedan: VJEŽBE - ALGORITMI ( 4 ) prupipmc@sfsb.hr DA algoritmi ~ “dinamički” aspekt - što radimo-

4

start

kraj

Suma := Suma + S(i,j)

i := 1, m

Suma := 0

i = 1, m

Suma

m,n

j = 1, n

j = 1, n

kraj

Suma(i)

i = 1, m

S(i,j)

Aritmetička sredina?

Suma(i)=Suma

???

???

Suma(i)

- stvoren novi niz, suma

pojedinog retka matrice

start

kraj

Suma := Suma + S(i,j)

i := 1, m

Suma := 0

i = 1, m

Suma

m,n

j = 1, n

j = 1, n

kraj

BNK(i)

i = 1, m

S(i,j)

Aritmetička sredina?

BNK(i)=Suma/50 +1

???

BNK – broj naručenih kompleta

Kreirati dijagram toka

za pravokutnu

matricu A(i,j,) i

izračunati sumu

elemenata matrice

manjih od

prvounesenog broja.

Primjer 4

Kreirati dijagram toka za unos

kvadratne matrice te izbrojiti koliko je

unesenih elemenata jednako nuli,

koliko je pozitivnih i koliko je

negativnih bojeva u matrici.

Pronađi pogrešku ?

Primjer 5

*

*

Nacrtaj dijagram toka za kvadratnu matricu A(i,j,) i

izračunaj najveći elemenat matrice na glavnoj

dijagonali.

Primjer 6 Domaća zadaća

Zadatak 4

Rješenje poslati na email:

[email protected]: Vježba 12

Naziv datoteke: Prezime_Z4.zipili

Prezime_Z4.png

24

Razraditi logiku algoritma (pomoću dijagrama toka) koji

će učitati pravokutnu matricu od m redaka i n stupaca,

te izračunati i ispisati aritmetičku sredinu svakog

stupca.

Page 5: Jednodimenzionalno polje / Nizmcicak/PRUPIP/4T.pdf · 2020. 5. 11. · 12. tjedan: VJEŽBE - ALGORITMI ( 4 ) prupipmc@sfsb.hr DA algoritmi ~ “dinamički” aspekt - što radimo-

5

Algoritam

Zadaci

tko želi više

srednja nosivost kotača dizalice

dužina za uže dizalice

Algoritam - srednja nosivost kotača dizalice

Potrebno je izračunati srednju nosivost kotača na dizalici prema izrazu FS= F*K1*K2*K3Gdje je: F nazivna nosivost dizalice, K1 korekcioni faktor materijala kotača,

K2 korekcioni faktor broja okretaja kotača standardiziran prema tablici u ovisnosti od broja

okretaja N .

NT 4.8 5. 6.3 10. 12.5 16. 20. 31.

5

40. 50.

K2kotač

a

1.18 1.1

7

1.15 1.13 1.11 1.09 1.06 1. .97 .94

0,57 ČO 400

K1

0,75 ČO 600

K3 KOREKCIONI FAKTOR GRUPE DIZALICE

1 1.25

2 1.

3 0.9

4 0.8

Ulazni podaci su: F-nazivna nosivost, materijal, promjer, brzina okretaja V, grupa dizalice

Izlazni podaci trebaju biti: srednja nosivost i iznosi korekcionih faktora.

Za izračunatu vrijednost broja okretaja između tabličnih vrijednosti uzeti prvu veću.

U slučaju da je izračunati broj okretaja između tabličnih vrijednosti uzeti prvu veću vrijednost.

U slučaju da je izračunati broj okretaja veći od zadanog (50) ispisati poruku

“ PROVJERI ULAZNE PODATKE”

NAPOMENA**** Ako je N=7,3 treba uzeti korekcioni faktor 1.13 , a indeks stupca je 4.

Algoritam – dužina za uže

dizaliceNačini dijagram toka koji računa dužinu za uže dizalice prema formuli

L=2*Puž*H + konst - veličine Q, P, H se učitavaju. Q je nosivost dizalice, P broj

užnica, H visina dizalice. Konstanta se bira iz slijedeće tabice koju treba učitati.

QP 5. 6.3 8. 10. 12.

5

16. 20. 25. 32. 40. 50. 63.

P=

2

5.5 5.8 6.3 7. 7. 8. 9. 9. 10. 10. 10. 12.

P=

4

9. 9. 11 12 15 17.

5

18 19 20 20 20 25

Za učitanu vrijednosti nosivosti dizalice između

tabličnih vrijednosti izračunati interpoliranu

vrijednost konstante, a za vrijednost van granica

tablice upisati poruku “Ne valjaju ulazni podaci”.

Ispisati izračunatu dužinu užnice.

BITNO: Rastući niz (interpolacija između I i I-

1). Kada učitana vrijednost prvi puta postaje

jednaka ili manja od tablične.

Padajući niz >= I i I+1

17