Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Uvod u programiranje - matematika – XII predavanje

Сличне презентације


Презентација на тему: "Uvod u programiranje - matematika – XII predavanje"— Транскрипт презентације:

1 Uvod u programiranje - matematika – XII predavanje
Vesna Veličković

2 Tipovi u Pascalu Definicija tipa Vrste tipova u Pascalu
type <ime tipa> = <tip> ; Vrste tipova u Pascalu Prosti (nestruktuirani) Složeni (struktuirani) Redni tipovi pointer INTEGER REAL array CHAR record BOOLEAN string intervalni file nabrojani set

3 Array tip Više promenljivih istog tipa čini jednu celinu. Ta celina ima zajedničko ime, a do pojedinačnih komponenti se dolazi pomoću indeksa. array [ <tip indeksa> { , <tip indeksa> } ] of <tip komponente> Tip indeksa mora biti neki redni tip. Tip komponente može biti bilo koji tip.

4 Matrica 1 2 3 ... m max Kolona 1 2 3 ... n maxVrsta a[3,2]

5 Deklaracija matrice Matrica je dvodimenzionalni array (ima dva indeksa). const maxVrsta = 100; maxKolona = 50; type matrica = array [1 .. maxVrsta , 1 .. maxKolona ] of real; var x : matrica; n, m : integer; // broj stvarno upotrebljenih vrsta i kolona

6 Upotreba matričnog array tipa
Deklaracija tipa. U ovoj fazi opisujemo kako će promenljiva tog tipa izgledati, ali za sada ne postoji ni jedna promenljiva tog tipa Deklaracija promenljivih. Odvaja se memorijski prostor za potreban za čuvanje promenljive tog tipa, i uvodi se ime te poromenljive. Vrednost svih komponenti te promenljive je nedefinisana, pa se još uvek ne mogu upotrebljavati. Definisanje vrednosti komponenti. Do pojedinačne komponente matrice se dolazi navodjenjem njenog imena i indeksa vrste i indeksa kolone u uglastim zagradama. Upotreba cele promenljive ili neke od njenih komponetni.

7 Specifičnost matričnog array tipa
Obično se u primenama ne zna unapred tačan broj vrsta i kolona matrice. U deklaraciji tipa matrice se procenjuje maksimalan broj potrebnih vrsta i kolona. Zbog toga uz promenljivu matričnog array tipa idu po dve integer promenljive, za svaki indeks po jedna koja označava koliko komponenti je stvano upotrebljeno. Procenjeni maksimalni broj komponetni ne sme biti premali, da bi program mogli upotrebiti u većem broju slučajeva, ali ni preveliki da ne bi imali mnogo neiskorišćenog prostora.

8 Definisanje vrednosti komponenti
Ovo se može uraditi na dva načina: Celoj promenljivoj array tipa se dodeljuje vrednost druge promenljive istog tipa. var a, b : matrica; a := b; Dodeljivanje vrednosti pojedinačnim komponentama se može uraditi pomoću naredbe dodeljivanja ili read. a[3,5] := 8; read (a[7,2]);

9 Učitavanje i štampanje
Učitavanje i štampanje matrica se radi po-komponentno (komponeta po komponenta). Ne može se cela matrica učitati naredbom read, odnosno odštampati naredbom write. Za učitavanje array (i record) tipa koristimo procedure. (Rezultat funkcije ne može biti struktuiranog tipa.)

10 Rad sa matricama Deklarisati tip matrica.
Učitati dve matrice, sabrati ih i pomnožiti i odštampati dobijene vednosti. Da bi matrice mogle da se množe, broj vrsta i broj kolona mora biti jednak. const max = 50; type matrica = array [1..max,1..max] of real; var a,b,c : matrica; n : integer;

11 procedure ucitaj (var a:matrica; n, m :integer); var i,j : integer; begin for i:=1 to n do for j:=1 to m do read (a[i,j]); end; procedure stampaj (a:matrica; n, m:integer); write (a[i,j]:8:2); writeln;

12 procedure saberi (a,b:matrica; n,m:integer; var c:matrica); var i,j : integer; begin for i:=1 to n do for j:=1 to m do c[i,j] := a[i,j] + b[i,j]; end; procedure pomnozi (a,b:matrica; n,p,m:integer; var c:matrica); var i,j,k : integer; c[i,j] := 0; for k:=1 to p do c[i,j] := c[i,j] + a[i,k] * b[k,j];

13 begin {program} write ('n = '); read(n); ucitaj (a,n,n); ucitaj (b,n,n); saberi (a,b,n,n, c); stampaj (c,n,n); pomnozi (a,b,n,n,n, c); end. {program}

14 Glavna dijagonala j i glavna dijagonala i = j isnad glavne dijagonale
1 2 3 ... n 1 2 3 ... n i ispod glavne dijagonale i > j

15 Sporedna dijagonala j i sporedna dijagonala i + j = n+1
iznad sporedne dijagonale i + j < n+1 1 2 3 ... n 1 2 3 ... n i ispod sporedne dijagonale i + j > n+1

16 Zadatak na predavanjima
Popunjavanje matrice dijagonalno 1 3 6 10 15 21 28 2 5 9 14 20 27 34 4 8 13 19 26 33 39 7 12 18 25 32 38 43 11 17 24 31 37 42 46 16 23 30 36 41 45 48 22 29 35 40 44 47 49

17 Domaći zadatak 21 Za neparno n odštampati matricu O 8

18 Domaći zadatak 22 Popunjavanje matrice spiralno 1 2 3 4 5 6 7 24 25 26
27 28 29 8 23 40 41 42 43 30 9 22 39 48 49 44 31 10 21 38 47 46 45 32 11 20 37 36 35 34 33 12 19 18 17 16 15 14 13


Скинути ppt "Uvod u programiranje - matematika – XII predavanje"

Сличне презентације


Реклама од Google