jednodimenzionalno polje / nizmcicak/prupip/4t.pdf · 2020. 5. 11. · 12. tjedan: vjeŽbe -...
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-](https://reader033.vdocuments.net/reader033/viewer/2022051906/5ff854bb3fe3f34652408ef8/html5/thumbnails/1.jpg)
1
PRIMJENA RAČUNALA U PRIPREMI I PROIZVODNJI
12. tjedan: VJEŽBE - ALGORITMI ( 4 )
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-](https://reader033.vdocuments.net/reader033/viewer/2022051906/5ff854bb3fe3f34652408ef8/html5/thumbnails/2.jpg)
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-](https://reader033.vdocuments.net/reader033/viewer/2022051906/5ff854bb3fe3f34652408ef8/html5/thumbnails/3.jpg)
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-](https://reader033.vdocuments.net/reader033/viewer/2022051906/5ff854bb3fe3f34652408ef8/html5/thumbnails/4.jpg)
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-](https://reader033.vdocuments.net/reader033/viewer/2022051906/5ff854bb3fe3f34652408ef8/html5/thumbnails/5.jpg)
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