Uvod u programiranje matematika I predavanje Radno okruenje

  • Slides: 44
Download presentation
Uvod u programiranje - matematika – I predavanje Radno okruženje. Tipovi podataka. Promenljive Vesna

Uvod u programiranje - matematika – I predavanje Radno okruženje. Tipovi podataka. Promenljive Vesna Veličković vesna@pmf. ni. ac. rs

Cilj predmeta • Upoznavanje sa osnovnim konceptima i metodama programiranja • Sistematizacija razmišljanja •

Cilj predmeta • Upoznavanje sa osnovnim konceptima i metodama programiranja • Sistematizacija razmišljanja • Korišćenje progamskog jezika – pisanje programa, testiranje, ispravljanje grešaka • Rešavanje jednostavnih zadataka 2 časa predavanja i 2 časa vežbi

Distribucija poena Predispitne obaveze • Domaći zadaci – 25 poena • Kolokvijum I –

Distribucija poena Predispitne obaveze • Domaći zadaci – 25 poena • Kolokvijum I – 15 poena • Kolokvijum II – 15 poena Ispit • Pismeni deo ispita – 30 poena • Usmeni deo ispita – 15 poena Uslovi za izlazak na pismeni deo ispita su radjeni kolokvijumi i 20 poena na predispitnim obavezama. Uslovi za izlazak na usmeni deo ispita su radjen pismeni deo ispita, jedan tačan zadatak na pismenom ili kolokvijumima i 40 poena.

Anketa • • • Ime, prezime, broj indeksa e-mail Srednja škola Dostupan računar i

Anketa • • • Ime, prezime, broj indeksa e-mail Srednja škola Dostupan računar i Internet? Za koje aktivnosti koristite računar? Šta ste učili iz Informatike u školi (ocena)? Da li ste imali programiranje u školi (ocena)? Koje programske jezike znate (ocena)? Dodatne informacije

Radno okruženje • U gimnazijama – Delphi – Lazarus

Radno okruženje • U gimnazijama – Delphi – Lazarus

Deplhi okruženje Četiri osnovna prozora su • Glavni prozor aplikacije • Forma • Editor

Deplhi okruženje Četiri osnovna prozora su • Glavni prozor aplikacije • Forma • Editor kôda • Inspektor objekata

Glavni prozor aplikacije • Meni • Standardna paleta • Paleta kontrola

Glavni prozor aplikacije • Meni • Standardna paleta • Paleta kontrola

Prozor Forma • Služi za dizajniranje forme • Na formu se postavljaju kontrole koje

Prozor Forma • Služi za dizajniranje forme • Na formu se postavljaju kontrole koje se biraju iz paleta kontrola na glavnom prozoru aplikacije

Editor kôda U njemu se pise programski kôd. Deo kôda se dobija automatski postavljanjem

Editor kôda U njemu se pise programski kôd. Deo kôda se dobija automatski postavljanjem kontrola na formu i podešavanjem njihovih osobina (Properties) i dogadjaja (Events) u Inspektoru koda.

Inspektor objekata • Na prvoj kartici se postavljaju osobine (Properties) selektovanog objekta (kontrole ili

Inspektor objekata • Na prvoj kartici se postavljaju osobine (Properties) selektovanog objekta (kontrole ili cele forme) • Na drugoj kartici se postavljaju dogadjaji (Events) vezani za odredjenu radnju nad tim objektom. Dogadjaj Click možemo dobiti dvostrukim klikom na taj objekat.

Rad sa celim projektom • Uvek se snima i otvara ceo projekat, a ne

Rad sa celim projektom • Uvek se snima i otvara ceo projekat, a ne samo jedan fajl. • Projekat se sastoji iz fajlova – unit. dfm – unit. pas – Unit. dcu - izvršni – project. dpr – project. dof – project. cfg – project. res – project. exe - izvršni

Programski jezik • Programski jezik je JEZIK – Gramatika - nauka o jeziku i

Programski jezik • Programski jezik je JEZIK – Gramatika - nauka o jeziku i njegovim zakonitostima • Sintaksa – skup pravila za obrazovanje pravilnih konstrukcija jezika • Semantika – skup pravila za utvrđivanje značenja jezičkih konstrukcija

Opis sintakse • Bekusova notacija < > meta promenljiva koja se definiše : :

Opis sintakse • Bekusova notacija < > meta promenljiva koja se definiše : : = po definiciji je | ili ( ) grupisanje [ ] opciono pojavljivanje (može i ne mora) { } ponavljanje nula ili više puta <ceo broj> : : = [ (+|-) ] <cifra> {<cifra>} • Sintaksni dijagrami

Naredbe • Cilj programiranja je napisati program (aplikaciju) koji računaru daje instrukcije šta da

Naredbe • Cilj programiranja je napisati program (aplikaciju) koji računaru daje instrukcije šta da radi. Te instrukcije se zovu naredbe. • Naredba je algoritamska radnja koja se može izvršiti. • Tok izvršenja programa određuje kojim redosledom se izvršavaju naredbe. On se definise upravljačkim strukturama. • Najjednostavnija upravljačka struktura je sekvenca. Kod nje se naredbe izvršavaju onim redosledom kojim su napisane. • Postoji i prazna naredba, koja ništa ne radi. Ona je od teoretskog značaja.

Sekvenca Naredbe se izvršavaju redom jedna za drugom. Realizuje se složenom naredbom. begin <nareba

Sekvenca Naredbe se izvršavaju redom jedna za drugom. Realizuje se složenom naredbom. begin <nareba 1> ; <nareba 2> ; <nareba 3> end Begin i end su ključne reči. One odredjuju naredbu i moraju se zapisati na zadati način. Podvlačimo ih da bi ih razlikovali od ostalih delova programa. Struktuirano pisanje (uvlačenje naredbi unutar struktuiranih naredbi)

Promenljive • Naredbe obrađuju podatke. • Vrednosti podataka se čuvaju u promenljivama. • Svaka

Promenljive • Naredbe obrađuju podatke. • Vrednosti podataka se čuvaju u promenljivama. • Svaka promenljiva ima – Ime – Tip – Vrednost. Ime (promenljive ili nekog drugog dela programa) počinje slovom i može sadržati slova, cifre i znak '_'. Ne pravi se razlika između malih i velikih slova.

Tipovi • Sve što se zapisuje u računaru, zapisuje se nizom nula i jedinica.

Tipovi • Sve što se zapisuje u računaru, zapisuje se nizom nula i jedinica. • Tip podataka određuje na koji način se taj niz nula i jedinica tumači i šta se sa njim može raditi. • Najbliži su nam brojevi. Razlikuju se – celi (INTEGER) i – realni (REAL) brojevi.

CHAR i STRING • Znak može da bude slovo, cifra, specijalan znak (kao što

CHAR i STRING • Znak može da bude slovo, cifra, specijalan znak (kao što je ’*’, ’+’, ’&’, . . . ). Tip znaka je CHAR. • Niska znakova je STRING. On se zapisuje između znakova apostrofa. Znak apostrof u stringu se zapisuje sa dva apostrofa. Primer: ’Sajam knjiga ’’ 18!’

Iz Stinga u broj i obrnuto • Funkcije pretvaranja (konverzije) stringa u broj su:

Iz Stinga u broj i obrnuto • Funkcije pretvaranja (konverzije) stringa u broj su: Str. To. Int Pretvara string u ceo broj Int. To. Str Pretvara ceo broj u string Str. To. Float Pretvara string u realan broj Float. To. Str Pretvara realan broj u string

Tipovi podataka Vrste tipova Prosti (nestruktuirani) Složeni (struktuirani) Redni tipovi INTEGER CHAR BOOLEAN intervalni

Tipovi podataka Vrste tipova Prosti (nestruktuirani) Složeni (struktuirani) Redni tipovi INTEGER CHAR BOOLEAN intervalni nabrojani REAL array record string file set pointer

INTERGER • Skup celih brojeva u određenom opsegu – 16 -bitni računari – opseg

INTERGER • Skup celih brojeva u određenom opsegu – 16 -bitni računari – opseg -215. . +215 – 32 -bitni računari – opseg -231. . +231 Konstante -345, +25, 3456 • Skup mogućih funkcija: ord (x) = x abs (x) = | x | pred (x) = x-1 sqr (x) = x 2 succ(x) = x+1 • Skup mogućih relacija: <, <=, >, >=, =, <> • Skup mogućih operacija: +, -, *, div, mod 7 div 3 = 2 7 mod 3 = 1

REAL • Podskup realnih brojeva – 7 -8 značajnih cifara, eksponent 38, 308, .

REAL • Podskup realnih brojeva – 7 -8 značajnih cifara, eksponent 38, 308, . . . Konstante -3. 45, +0. 25, 2. 0, 0. 7 e-3, -2 E 45, +1 E 1 Automatska konverzija INTEGER u REAL, 3=3. 0 • Skup mogućih funkcija (real nije redni tip): abs (x) = | x | sqr (x) = x 2 sqrt (x) = √ x sin (x) cos (x) atan (x) = arcustangens (x) ln (x) exp (x) = ex • Skup mogućih relacija: <, <=, >, >=, =, <> • Skup mogućih operacija: +, -, *, /

Struktura bloka u Delphi-ju Struktura bloka: • Definicije konstanti • Definicije tipova • Deklaracije

Struktura bloka u Delphi-ju Struktura bloka: • Definicije konstanti • Definicije tipova • Deklaracije promenljivih • Deklaracije potprograma • Izvršni blok naredbi (begin <naredbe> end ; složena naredba)

Deklaracija promenljivih • Služe za čuvanje vrednosti tokom izvršenja programa • Svaka promenljiva ima

Deklaracija promenljivih • Služe za čuvanje vrednosti tokom izvršenja programa • Svaka promenljiva ima IME, TIP i VREDNOST • Deklaracija promenljivih var i, j, k : integer; a, b, c : real; S : string; • Vrednost promenljive se može menjati samo učitavanjem ili naredbom dodele vrednosti.

Naredba dodele vrednosti <ime promenljive> : = <izraz> • Izvršenje: prvo se izračuna vrednost

Naredba dodele vrednosti <ime promenljive> : = <izraz> • Izvršenje: prvo se izračuna vrednost izraza a zatim se ta vrednost upiše u promenljivu na levoj strani naredbe dodeljivanja • Tip vrednosti izraza mora da bude kompatibilan za dodeljivanje tipu vrednosti promenljive X : = 3+5*2;

Prioritet operacija sa brojevima je isti kao u matematici. – Funkcije, zagrade – *,

Prioritet operacija sa brojevima je isti kao u matematici. – Funkcije, zagrade – *, /, div, mod – +, – relacije: <, <=, >, >=, = , <> Operatori istog prioriteta se izvršavaju jedan za drugim s leva na desno. 2*x - 4*y / z, prioritet (2*x) – ((4*y) / z)

Učitavanje vrednosti - grafičke aplikacije var k: integer; x: real; • • k :

Učitavanje vrednosti - grafičke aplikacije var k: integer; x: real; • • k : = Str. To. Int (Edit_k. Text); k : = Str. To. Int (Input. Box ('Input Box' 'k = ', '')); x : = Str. To. Float (Edit_x. Text); x : = Str. To. Float (Input. Box ('Input Box', 'x = ', '')); Kontrola ispravnog učitavanja broja • Val (S: string; var broj; var greska: Integer); ako je greska nula, broj je ispravno učitan.

Štampanje Integer vrednosti - grafičke aplikacije var k: integer; • Label_k. Caption : =

Štampanje Integer vrednosti - grafičke aplikacije var k: integer; • Label_k. Caption : = Int. To. Str (k); • Edit_k. Text : = Int. To. Str (k); • Show. Message ('k = '+ Int. To. Str(k));

Štampanje Real vrednosti - grafičke aplikacije var x: real; S : stirng; • Label_x.

Štampanje Real vrednosti - grafičke aplikacije var x: real; S : stirng; • Label_x. Caption : = Float. To. Str (x); • Edit_x. Text : = Float. To. Str (x); • Show. Message ('x = '+ Float. To. Str(x)); Format štampanja realnog broja x: • Str(x: 8: 2, S); // x zapisujemo na 8 mesta sa 2 decimale • Edit_x. Text : = S;