1 / 18

Uvod u programiranje - matematika – IX predavanj e

Uvod u programiranje - matematika – IX predavanj e. Vesna Veličković vesna@pmf.ni.ac.rs. Tipovi u Pascalu. Definicija tipa type <ime tipa> = <tip> ; Vrste tipova u Pascalu P rosti (nestruktuirani) Složeni (struktuirani) R edni tipovi pointer INTEGER REAL array CHAR record

raquel
Download Presentation

Uvod u programiranje - matematika – IX predavanj e

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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.

  4. 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;

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

  6. 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.

  7. 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;

  8. Učitavanje i štampanje record tipa • Učitavanje i štampanje record tipa se vrši po-komponentno. procedure ucitaj (var d:datum); begin read (d.dan); read (d.mesec); read (d.godina); end; procedurestampaj (d:datum); begin write (d.dan); write (d.mesec); write (d.godina); end;

  9. program primer; type datum = record dan ... end; procedure ucitaj (var d: datum); ... procedure ucitaj ( d: datum); ... var d1, d2, d3 : datum; begin ucitaj (d1); ucitaj (d2); ... stampaj (d3); end.

  10. Domaći zadatak 15 • Deklarisati tip datum. • Učitati jedan datum i odrediti i odštampati datum sutrašnjeg dana. • Godina je prestupna ako je deljiva sa 4 ali nije deljiva sa 100, ili je deljiva sa 400.

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

  12. program tr; type tacka = record x, y : real; end; trougao = record A, B, C : tacka; end; var t : trougao; P, O : real; procedure ucitaj (var t: trougao); begin read (t.A.x, t.A.y); read (t.B.x, t.B.y); read (t.C.x, t.C.y); end;

  13. 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;

  14. 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; begin {program} ucitaj (t); O := Obim (t); writeln ('O = ', O); P := Povrsina (t); writeln ('P = ', P); end.

  15. Domaći zadatak 16 • Deklarisati tip tacka. • Učitati jednu tačku u ravni i ispitati da li pripada oblasti sa slike.

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

  17. procedure UcitajKrug (var k : krug); begin read (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 (k1, k2 : krug); begin Imaju := d(k1.O,k2.O) < k1.r+k2.r end;

  18. begin{program} UcitajKrug (k 1); UcitajKrug (k 2); if Imaju (k1,k2) then writeln(’Imaju zajednickih tacaka’) else writeln (‘Nemaju zajednickih tacaka’) end.

More Related