Uvod u programiranje matematika IX predavanje Record Vesna

  • Slides: 19
Download presentation
Uvod u programiranje - matematika – IX predavanje Record Vesna Veličković vesna@pmf. ni. ac.

Uvod u programiranje - matematika – IX predavanje Record Vesna Veličković vesna@pmf. ni. ac. rs

Tipovi u Pascalu • Definicija tipa type <ime tipa> = <tip> ; Vrste tipova

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

Slog = record • Više promenljivih, uobičajeno različitih tipova, povezujemo u jednu celinu, slog.

Slog = record • Više promenljivih, uobičajeno različitih tipova, povezujemo u jednu celinu, slog. • Ta celina ima jedinstveno ime. • Promenljive koje čine slog imaju svoje ime preko koga im se pristupa. One se nazivaju poljima. • Slog se realizuje pomoću record tipa.

Record tip record <ime polja> { , <ime polja> } : <tip> ; {<ime

Record tip record <ime polja> { , <ime polja> } : <tip> ; {<ime polja> { , <ime polja> } : <tip> ; } end type datum = record dan : 1. . 31; mesec : 1. . 12; godina : integer; end;

Upotreba record tipa var danas, sutra : datum; begin. . . danas. dan :

Upotreba record tipa var danas, sutra : datum; begin. . . danas. dan : = 26; sutra. god: =2013; . . . sutra : = danas; . . . end;

Promenljiva i tip • Tip opisuje kako će neka promenljiva tog tipa izgledati kada

Promenljiva i tip • Tip opisuje kako će neka promenljiva tog tipa izgledati kada se bude napravila. • Definicijom tipa se ne pravi nikakva promenljiva (ne odvaja se memorijski prostor) • Deklaracijom promenljive se odvaja memorijski prostor za nju (primenljiva se pravi), dodeljuje joj se ime i navodi njen tip. Tip odredjuje kako se tumače bitovi te promenljive i šta se sa njom može raditi.

With naredba • Da ne bi stalno ponavljali ime record promenljive, možemo koristiti with

With naredba • Da ne bi stalno ponavljali ime record promenljive, možemo koristiti with naredbu. with danas do dan : = 7; mesec : = 4; godina : = 2013; end;

Učitavanje i štampanje record tipa • Učitavanje i štampanje record tipa se vrši pokomponentno.

Učitavanje i štampanje record tipa • Učitavanje i štampanje record tipa se vrši pokomponentno. procedure ucitaj (var d: datum); begin <učitaj d. dan>; <učitaj d. mesec>; <učitaj d. godina>; end; procedure stampaj (d: datum); begin <štampaj d. dan>; <štampaj d. mesec>; <štampaj d. godina>; end;

type datum = record dan. . . end; procedure ucitaj (var d: datum); .

type datum = record dan. . . end; procedure ucitaj (var d: datum); . . . procedure stampaj ( d: datum); . . . var d 1, d 2, d 3 : datum; begin ucitaj (d 1); ucitaj (d 2); . . . stampaj (d 3); end.

Primer Trougao • Deklarisati tip trougao. • Učitati jedan trougao. • Izračunati i odštampati

Primer Trougao • Deklarisati tip trougao. • Učitati jedan trougao. • Izračunati i odštampati njegovu površinu i obim.

type tacka = record x, y : real; end; trougao = record A, B,

type tacka = record x, y : real; end; trougao = record A, B, C : tacka; end; procedure Ucitaj. Trougao (var t: trougao); begin <učitaj t. A. x, t. A. y>; <učitaj t. B. x, t. B. y>; <učitaj t. C. x, t. C. y>; end;

function rastojanje (M, N: tacka) : real; begin rastojanje : = sqrt (sqr(M. x-N.

function rastojanje (M, N: tacka) : real; begin rastojanje : = sqrt (sqr(M. x-N. x) + sqr(M. Y-N. y)); end; function Obim (t: trougao) : real; var sa, sb, sc : real; begin sa : = rastojanje (t. B, t. C); sb : = rastojanje (t. A, t. C); sc : = rastojanje (t. A, t. B); Obim : = sa + sb + sc; end;

function Povrsina (t: trougao) : real; var sa, sb, sc, s : real; begin

function Povrsina (t: trougao) : real; var sa, sb, sc, s : real; begin sa : = rastojanje (t. B, t. C); sb : = rastojanje (t. A, t. C); sc : = rastojanje (t. A, t. B); s : = (sa + sb + sc) / 2; Povrsina : = sqrt (s*(s-sa)*(s-sb)*(s-sc)); end;

procedure TForm 1. Button 1 Click(Sender: TObject); var t: trougao; O, P : real;

procedure TForm 1. Button 1 Click(Sender: TObject); var t: trougao; O, P : real; begin Ucitaj. Trougao (var t: trougao); O : = Obim (t); <štampaj ’Obim je ’+ Float. To. Str(O)>; P : = Povrsina (t); <štampaj ‘Povrsina je ’+ Float. To. Str(P)> end;

Primer • Deklarisati tip krug. • Učitati dva kuga i ispitati da li imaju

Primer • Deklarisati tip krug. • Učitati dva kuga i ispitati da li imaju zajedničkih tačaka. type tacka = record x, y : real; end; krug = record O : tacka; r : real; end;

procedure Ucitaj. Krug (var k : krug); begin <učitaj k. O. x, k. O.

procedure Ucitaj. Krug (var k : krug); begin <učitaj k. O. x, k. O. y, k. r>; end; function d (A, B : tacka): real; begin d : = sqrt(sqr(A. x-B. x) + sqr(A. y-B. y)) end; function Imaju (k 1, k 2 : krug); begin Imaju : = d(k 1. O, k 2. O) < k 1. r+k 2. r end;

procedure TForm 1. Button 1 Click(Sender: TObject); var k 1, k 2 : krug;

procedure TForm 1. Button 1 Click(Sender: TObject); var k 1, k 2 : krug; begin Ucitaj. Krug (k 1); Ucitaj. Krug (k 2); if Imaju (k 1, k 2) then <štampaj ’Imaju zajednickih tacaka’> else <štampaj ‘Nemaju zajednickih tacaka’> end;

Domaći zadatak 13 Ugao je definisan stepenima, minutama i sekundama. Deklarisati tip ugao. Učitati

Domaći zadatak 13 Ugao je definisan stepenima, minutama i sekundama. Deklarisati tip ugao. Učitati dva ugla, sabrati ih i odštampati rezultat. Napomena. Vodite računa da stepeni budu u opsegu 0. . 359, a minuti i sekunde u opsegu 0. . 59.

Domaći zadatak 14 Kompleksan broj je određen realnim i imaginarnim delom. Deklarisati tip Kompleksan.

Domaći zadatak 14 Kompleksan broj je određen realnim i imaginarnim delom. Deklarisati tip Kompleksan. Broj. Implementirati procedure za sabiranje, oduzimanje, množenje i deljenje dva kompleksna broja.