27
Uvod u programiranje - matematika – III predavanje Vesna Veličković [email protected]

Uvod u programiranje - matematika – II I predavanj e

  • 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

Page 1: Uvod u programiranje -  matematika  – II I predavanj e

Uvod u programiranje- matematika –III predavanje

Vesna Veličković[email protected]

Page 2: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 3: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 4: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 5: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 6: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 7: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 8: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 9: Uvod u programiranje -  matematika  – II I predavanj e

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)

Page 10: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 11: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 12: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 13: Uvod u programiranje -  matematika  – II I predavanj e

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

Page 14: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 15: Uvod u programiranje -  matematika  – II I predavanj e

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;

Page 16: Uvod u programiranje -  matematika  – II I predavanj e

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’);

Page 17: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 18: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 19: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 20: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 21: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 22: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 23: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 24: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 25: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 26: Uvod u programiranje -  matematika  – II I predavanj e

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.

Page 27: Uvod u programiranje -  matematika  – II I predavanj e

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