1 / 27

Uvod u programiranje - matematika – II I predavanj e

Uvod u programiranje - matematika – II I predavanj e. Vesna Veličković vesna@pmf.ni.ac.rs. CASE naredba. case <izraz> of <konstanta> { , <konstanta> } : <naredba>; { <konstanta> { , <konstanta> } : <naredba> ; } [ else <naredba> ] e nd

braden
Download Presentation

Uvod u programiranje - matematika – II I 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 –IIIpredavanje Vesna Veličković vesna@pmf.ni.ac.rs

  2. CASE naredba case <izraz> of <konstanta> { , <konstanta>} : <naredba>; { <konstanta> { , <konstanta>} : <naredba> ; } [ else<naredba> ] end • Izraz iza case naziva se selektor. On mora biti nekog rednog tipa. • Konstanta može biti pridružena najviše jednoj naredbi.

  3. Izvršenje CASE naredbe • Prvo se izračuna vrednost selektora. • Izvrši se naredba pridružena toj vrednosti. • Ako se vrednost selektora ne nalazi u spisku konstanti case naredbe, i • ako postoji else grana, izvrši se naredba iza else. • ako ne postoji else grana, nista se ne radi.

  4. case mesec of 1, 3, 5, 7, 8, 10, 12 : brojDana := 31; 4, 6, 9, 11 : brojDana := 30; 2 : if godina mod 4 = 0 then brojDana := 29 else brojDana := 28 end

  5. Domaći zadatak 4 • Učitati jedan jednocifren broj i odštampati ga slovima. Npr. ako se učita 7 treba odštampati “sedam”. • Pokušajte isto ovo da uradite sa dvocifrenim brojem.

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

  7. Integer tipovi u Pascal-u

  8. Integer tipovi u Delphi-u Integer = LongInt, Cardinal = LongWord

  9. Real tipovi u Pascal-u Comp je 64-bitni integer (opseg vrednosti -263 .. 263-1)

  10. Real tipovi u Delphi-u Real = Double

  11. Intervalni tip <konstanta 1> .. <konstanta 2> • Konstante treba da budu istog, rednog tipa. • Ovaj tip se naziva osnovni tip. • Skup mogućih vrednosti je skup svih vrednosti osnovnog tipa izmedju vrednosti zadatih konstanti, računajući i njih. type interval = 3..6; čine celi brojevi 3,4,5,6. Osnovni tip je integer. • Sve operacije, funkcije i relacije se prenose iz osnovnog tipa.

  12. Nabrojani tip ( <konstanta> { , <konstanta> } ) . • Skup mogućih vrednosti je skup svih nabrojanih vrednosti. type dan = (pon,utor,sreda,cet,pet,sub,ned); • Ord prve vrednosti je 0, ord druge je 1 itd. • Na osnovu ovoga se definišu funkcije pred i succ i relacije. ord(sreda) = 2, cet < ned, succ (pet) = sub

  13. Fajlovi • Kada program završi sa radom, gube se svi podaci koji su bili u promenljivama. • Da bi sačuvali te podatke za kasniju upotrebu, pravimo fajlove. • Takodje, ako postoji veliki broj ulaznih podataka, zgodno je da oni budu unapred pripremljeni u nekom fajlu, a pri izvršenju te podatke ne unosimo ručno, već ih čitamo iz fajla. • Fajlovi mogu biti • binarni • tekstualni

  14. Specifičnosti tipa file • File tip se razlikuje od svih ostalih tipova u Pascal-u po tome što ne služi samo za obradu podataka, već prvenstveno da bi se program povezao sa fajlovima (datotekama) iz operativnog sistema. • Osnovna uloga file tipa je komunikacija programa sa njegovom okolinom.

  15. Binarni fajlovi • Binarni fajl se sastoji iz sleda komponenata istog tipa. Taj tip se naziva osnovni tip i može biti bilo koji tip osim fajla. fileof <osnovni tip> type nas_fajl = fileof integer; var f : nas_fajl;

  16. Naredba assign • Pre bilo kakvog rada sa fajlom, fajl promenljivu treba povezati sa nekim fajlom iz operativnog sistema. To se radi naredbom assign. var f : fileof integer; ... assign (f, ‘MojFajl.dat’);

  17. Otvaranje fajlova • Pre korišćenja fajla, treba ga otvoriti. • To se radi na različite načine, u zavisnosti od toga da li želimo • da kreiramo novi fajl, • da dodajemo u već postojeći fajl, ili • da čitamo iz fajla.

  18. Otvaranje fajla za čitanje • Ako želimo da čitamo iz fajla, otvaramo ga naredbom reset. • Da bi se fajl otvorio za čitanje, treba da postoji u operativnom sistemu, inače se prouzrokuje greška. • Kada fajl otvorimo sa reset, on je spreman za čitanje i dostupna je prva komponenta. • Posle operacije čitanja se automatski prelazi na sledeću komponentu fajla.

  19. Otvaranje fajla za pisanje • Ako želimo da upisujemo u fajl, otvaramo ga naredbom rewrite. • Ako postoji fajl sa datim imenom u operativnom sistemu, naredbom rewrite se briše njegov sadržaj. Zato treba biti oprezan. • Kada fajl otvorimo sa rewrite , on je spreman za upis. Prva komponenta će se zapisati na početku fajla. • Svaka sledeća komponenta se upisuje na kraj fajla. Posle operacije upisivanja se automatski prelazi na kraj fajla.

  20. Otvaranje fajla za dodavanje sadržaja • Ako želimo da dodamo neki sadržaj u već postojeći fajl, otvaramo ga naredbom append. • Kada fajl otvorimo sa append, on je spreman za dodavanje sadržaja. • Prva dodata komponenta, a i sve ostale, će se upisati na kraj već postojećeg fajla. • Posle operacije upisivanja se automatski prelazi na kraj fajla.

  21. Zatvaranje fajla • Kada završimo sve željene operacije sa fajlom, zatvaramo ga naredbom close (u Pascal-u). • U Delphi-ju naredba close zatvara prozor, pa se za zatvaranje fajla koristi CloseFile.

  22. Prisup fajlu • U programiranju postoji više načina za pristupanje podacima u fajlu. • U Pascal-u postoje • sekvencijalni i • direktni pristup. • Mi ćemo raditi sekvencijalni pristup. • Kod direktnog pristupa možemo direktno pristupiti proizvoljnoj komponenti fajla pomoću naredbe seek (f,n), gde je f fajl promenljiva, a n je indeks komponente koju tražimo.

  23. Učitavanje i upisivanje u binarni fajl • Učitavanje iz binarnog fajla read ( f, n); read ( f, a,b,c); • Upisivanje u binarni fajl write ( f, n); write ( f, a,b,c); • Primetite da kod binarnih fajlova ne koristimo readln i writeln.

  24. Tekstualni fajlovi • Tekstualni fajl se sastoji iz sleda znakova (char) podeljenih u redove (linije). • Njihov tip je text. Liči na tip fileofchar, ali ima i dodatne mogućnosti. • eof (f) (skraćenica od “end of file”) je logička funkcija koja ispituje da li se nalazimo na kraju fajla f. • eoln (f) (skraćenica od “end of line”) je logička funkcija koja ispituje da li se nalazimo na kraju neke linije fajla f.

  25. Standardni ulaz i standardni izlaz • Standardni ulaz je tastatura. • Standardni izlaz je ekran. • Oni su u Pascal-u tipa text. • Sve što znamo za rad sa tastaturom i ekranom važi i za bilo koji drugi tekstualni fajl.

  26. Učitavanje i upisivanje u tekstualni fajl • Učitavanje iz tekstualnog fajla read ( f, a,b,c); readln ( f, a,b,c); • Upisivanje u tekstualni fajl write ( f, a,b,c); writeln ( f, a,b,c); • Primetite da kod tekstualnih fajlova koristimo readln i writeln.

  27. Pri čitanju iz tekstualnog fajla čita se znak po znak. Posle operacije čitanja se automatski prelazi na sledeću komponentu fajla. • Ako je potrebno pročitati broj, taj niz znakova se automatski konvertuje u broj odredjenog tipa. • Da ne bi napravili grešku tako što pokušamo da čitamo nepostojeću komponentu fajla, pre svakog čitanja treba ispitati da li se nalazimo na kraju fajla, pomoću funkcije eof.

More Related