Upload
braden
View
61
Download
0
Embed Size (px)
DESCRIPTION
Uvod u programiranje - matematika – II I predavanj e. Vesna Veličković [email protected]. CASE naredba. case of { , } : ; { { , } : ; } [ else ] e nd - PowerPoint PPT Presentation
Citation preview
Uvod u programiranje- matematika –III predavanje
Vesna Veličković[email protected]
CASE naredbacase <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.
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.
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 := 28end
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.
Tipovi u Pascalu• Definicija tipa
type <ime tipa> = <tip> ;
Vrste tipova u PascaluProsti (nestruktuirani) Složeni (struktuirani)
Redni tipovi pointerINTEGER REAL arrayCHAR recordBOOLEAN stringintervalni filenabrojani set
Integer tipovi u Pascal-u
Ime tipa opseg vredniosti byte bit
ShortInt -128 .. 127 1 8
Integer -32 768 .. 32 767 2 16
LongInt -2 147 483 648 .. 2 147 483 647 4 32
Byte 0 .. 255 1 8
Word 0 .. 65 535 2 16
Integer tipovi u Delphi-uIme tipa opseg vredniosti format
ShortInt -128 .. 127 sign. 8-bit
SmallInt -32 768 .. 32 767 sign. 16-bit
LongInt -2 147 483 648 .. 2 147 483 647 sign. 32-bit
Int64 -263 .. 263-1 sign. 64-bit
Byte 0 .. 255 unsign. 8-bit
World 0 .. 65 535 unsign. 16-bit
LongWord 0 .. 4 294 967 295 unsign. 32-bit
Integer = LongInt, Cardinal = LongWord
Real tipovi u Pascal-u
Ime tipa opseg vredniosti značajne cifre bit
Real 2.9 e-39 .. 1.7 e38 11 - 12 6
Single 1.5 e-45 .. 3.4 e38 7 - 8 4
Double 5.0 e-324 .. 1.7 e308 15 - 16 8
Extended 3.6 e-4951 .. 1.1 e4932 19 - 20 10
Comp -9.2 e-18 .. 9.2 e18 19 - 20 8
Comp je 64-bitni integer (opseg vrednosti -263 .. 263-1)
Real tipovi u Delphi-uIme tipa opseg vredniosti značajne
cifre bit
Real48 2.9 e-39 .. 1.7 e38 11 - 12 6
Single 1.5 e-45 .. 3.4 e38 7 - 8 4
Double 5.0 e-324 .. 1.7 e308 15 - 16 8
Extended 3.6 e-4951 .. 1.1 e4932 19 - 20 10
Comp -263 .. 263-1 19 - 20 8
Currency -922337203685477.5808 ..922337203685477.5807 19 - 20 8
Real = Double
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.
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
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
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.
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.
file of <osnovni tip>
typenas_fajl = file of integer;
varf : nas_fajl;
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 : file of integer;...
assign (f, ‘MojFajl.dat’);
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.
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.
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.
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.
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.
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.
Učitavanje i upisivanje u binarni fajl• Učitavanje iz binarnog fajlaread ( f, n);read ( f, a,b,c);
• Upisivanje u binarni fajlwrite ( f, n);write ( f, a,b,c);
• Primetite da kod binarnih fajlova ne koristimo readln i writeln.
Tekstualni fajlovi
• Tekstualni fajl se sastoji iz sleda znakova (char) podeljenih u redove (linije).
• Njihov tip je text. Liči na tip file of char, 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.
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.
Učitavanje i upisivanje u tekstualni fajl• Učitavanje iz tekstualnog fajlaread ( f, a,b,c);readln ( f, a,b,c);
• Upisivanje u tekstualni fajlwrite ( f, a,b,c);writeln ( f, a,b,c);
• Primetite da kod tekstualnih fajlova koristimo readln i writeln.
• 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.