You are on page 1of 44

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
• 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 – 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 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
Deplhi okruženje
Četiri osnovna prozora su
• Glavni prozor aplikacije
• Forma
• Editor kôda
• Inspektor objekata
Glavni prozor aplikacije

• Meni
• Standardna paleta
• Paleta kontrola
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
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 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 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 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
::= 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 radi. Te instrukcije se zovu
naredbe.
• Naredba je algoritamska radnja koja se može izvršit.
• 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
<nareba1> ;
<nareba2> ;
<nareba3>
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 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.
• Tip podataka određuje na koji način se taj niz
nula i jedinica tumači i šta se sa njim može
radit.
• 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 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:
StrToInt Pretvara string u ceo broj

IntToStr Pretvara ceo broj u string

StrToFloat Pretvara string u realan broj

FloatToStr Pretvara realan broj u string


Tipovi podataka
Vrste tipova
Prosti (nestruktuirani) Složeni (struktuirani)
Redni tipovi
INTEGER REAL array pointer
CHAR record
BOOLEAN string
intervalni file
nabrojani set
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 pred (x) = x-1 succ(x) = x+1
abs (x) = | x | sqr (x) = x2
• 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,...
Konstante -3.45, +0.25, 2.0, 0.7e-3, -2E45, +1E1
Automatska konverzija INTEGER u REAL, 3=3.0
• Skup mogućih funkcija (real nije redni tip):
abs (x) = | x | sqr (x) = x2 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 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 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 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
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 := StrToInt (Edit_k.Text);
• k := StrToInt (InputBox ('Input Box' 'k = ', ''));
• x := StrToFloat (Edit_x.Text);
• x := StrToFloat (InputBox ('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 := IntToStr (k);
• Edit_k.Text := IntToStr (k);
• ShowMessage ('k = '+ IntToStr(k));
Štampanje Real vrednosti
- grafičke aplikacije -
var x: real; S : stirng;
• Label_x.Caption := FloatToStr (x);
• Edit_x.Text := FloatToStr (x);
• ShowMessage ('x = '+ FloatToStr(x));

Format štampanja realnog broja x:


• Str(x:8:2, S); // x zapisujemo na 8 mesta sa 2
decimale
• Edit_x.Text := S;

You might also like