You are on page 1of 23

Srednja mješovita škola

Zijah Dizdarević Fojnica


GIMNAZIJA III – GRUPA 3
PROGRAMIRANJE

ELEMENTI PROGRAMSKOG
JEZIKA PASCAL
Nermin Karić
Mutapčić Amar
Akšamović Anel
Klisura Haris
Ramić Tarik
1
Sintaksa, gramatika i semantika
• Zašto, baš Pascal !!!
Na jednostavan način razumijevanje i kreiranje
baznih programskih struktura koje upotpunosti
vrijede za većinu savremenih programskih jezika
Svaki jezik bilo govorni iIi programski, posjeduje
svoju:
sintaksu,
gramatiku,
i semantiku...

2
Alfabet jezika Pascal

Opis svakog jezika neophodno je započeti


navodenjem skupa simbola ( alfabeta) od kojih
se grade riječi i iskazi tog jezika. Alfabet
programskog jezika Pascal sastoji se od svih
velikih i malih slova engleskog alfabeta, cifara 0
- 9, i sljedećih specijalnih znakova:?,*,$...

3
Konstante kao element jezika Pascal
Od skupa simbola nekog jezika tvore se konstante,
riječi i iskazi (ili izjave).
Sve riječi koje poznaje jezik Pascal dijele se na:
 ključne (ili rezervirane) riječi,
 predefinirane riječi
 i korisnički definirane riječi (ili identifikatori).

4
• Ključne riječi su one riječi koje predstavljaju
srž svakog programa - Pascala
• and array begin case canst div do downto else
end file ...
• Predefinirane riječi su one riječi koje posjeduju
unaprijed definirano značenje...
• Identifikatori nemaju unaprijed definisano
značenje – programer daje značenje
• Iskazi (izjave) jezika Pascala sastoje se od
konstanti, riječi i drugih znakova

5
STRUKTURA PASCAL PROGRAMA

U našem slučaju koristimo Pascal for Win 1.5


dodaje se iza: program imeprograma;
Uses Wincrt;
Na taj način rezultati obrade će biti prikazani na
monitoru.

6
Ekran Turbo Pascal

7
Ekran Pascal for Win 1.5

8
Znakovni tip
Promjenljive znakovnog tipa, odnosno tipa char, mogu
kao svoju vrijednost sadržavati proizvoljan znak
(karakter), to jest slovo, citru ili znak interpunkcije.
Na primjer, ukoliko imamo deklaraciju
var znak: char;
tada promjenljiva znak maže sadržavati recimo slovo
'A', cifru ' 7' ili znak '?'.
var recenica: string;
recenica maže sadržavati rečenicu 'Juče je padala
kiša.',

9
ELEMENTARNE STRUKTURE PODATAKA
• U jeziku Pascal, svaka promjenljiva mora imati
svoj tip, koji određuje skup vrijednosti koje ta
promjenljiva može uzimati.
Svi tipovi podataka se mogu podijeliti na proste
tipove i složene tipove.
Prosti tipovi

Cjelobrojni Izvedeni tipovi

Realni Intervalni

Znakovni Prebrojani

Logički

10
KONSTANTE, PROMJENLJIVE I IZRAZI U PASCALU
Imenovane konstante
Pascal dozvoljava i definiranje imenovanih konstanti,
koje se koriste za imenovanje nekih podataka koje
se nikada ne mijenjaju tokom rada programa
• const pi = 3.141592654;
• Brojucenika = 36; itd.

Promjenljive
Deklaracija promjenljivih (koja se obavlja pomoću
ključne riječi var samo najavljuje postojanje
odgovarajućih promjenljivih, ali im ne pridružuje
nikakvu konkretnu vrijednost.

11
Cjelobrojni izrazi
Pad izrazom smatramo svaku kambinaciju
konstanti i promjenljivih koje su povezane u
smislenu formulu koja ima neku vrijednost.
Cjelobrojne Operatori
promjenljive + Sabiranje
Operatori - Oduzimanje
Predefinirane * množenje
funkcije
zagrade div Cjelobrojno
mod dijeljenje
program PrimjerIzraza (output);
var a, b, c integer;
begin
a := 5 ;
b := 3 ;
c := (b + 2) * 2 ;
b := (e + 3) diva ;
writeln (a) ;
writeln (b) ;
12
writeln (c);
end.
Realni izrazi
Realni izrazi se formiraju po sličnim pravilima kao i
cjelobrojni izrazi.
Realni Operatori
promjenljive + Sabiranje
operatori - Oduzimanje
konstante * množenje

predefinirane
funkcije
zagrade / dijelenje

13
Realni lzrazi mogu sadržavati i realne funkcije.
Realne funkcije
Sqrt (x) Kv. Korijen od x
Sqr (x) X na kvadrat

Realne funkcije
Ln (x) Prirodni log od x
Exp(x) exponencijalna f. e x

Realne funkcije
sin (x) Oscil. f. Sinus od x
cos(x) cosinus od x
Realne funkcije
Xy Ne postoji ali se može izvesti
ey*ln(x) exp(y*ln(x))

14
Prilikom pretvaranja izraza iz matematičkog zapisa u
Pascal zapis, treba pripaziti na izraze koji sadrže
razlomke
Matematički zapis Pascal
2 2/(1+abs(x)+abs(y-1)
1 x  y 1

1+sqrt((x+1)/(x-1))
x 1
1
x 1

15
Logicki izrazi
Logički izrazi su izrazi čija vrijednost može biti samo true ("tačno")
ili false ("netačno").
Relacioni operatori - predbeni
> Veće
< manje
<= Manje ili jednako

Relacioni operatori
>= Veće li jednako
<> različito

16
Složeniji logićki izrazi mogu se formirati od prostih logičkih izraza
i logičkih promjenljivih, uz upotrebu sljedećih operatora:
Logički operatori
And Logičko I AND
Or Logičko ILI OR
not Negacija NOT

Primjer:
(Starost >=16) and (Starost <= 65)
not (Starost > 65)

17
ELEMENTARNE PROGRAMSKE STRUKTURE
• Prosti iskazi
– Naredbe koje su se izvodile jedna za drugom onim
redom kako su pisane predstavlja prostu linijesku
strukturu
Readln(n);
Writeln (‘Vrijednost iznosi’,x);
X:=x+1; itd
Složeni iskazi – blok
Često je potrebno da grupu izraza objedinimo u cjelinu
– i kreiramo blok iskaz tako da ista počinje sa
Begin niz naredbi
end;
18
Iskazi grananja
Teško da probleme možemo rješavati samo pomoću navedenih prostih
struktura, jer složeni algoritmi sadrže mjesta grananja – koja zavise od
postavljenih uslova.
- jednostruki izbor
- dvostruki izbor i višestruki izbor
Izvršavanje ovih struktura obezbjeđuju:

if uslov then; case lzbomi Izraz of


naredba; Vrijednost1 :Naredba1;
Vrijednost2: Naredba2;
If uslov then Vrijednost n: naredba n;
Naredba else
else naredba
end
naredba;

19
Iskazi ponavljanja
• Ponavljanje (odnosno petlja ili ciklus) je algoritamska struktura koja
nam omogućava da kreiramo algoritme koji ukljućuju ponavljanje
-neke akcije ( skupine akcija).
Iskaz for – skupina akcija se ponavlja tačno određeni broj puta
for i :=1 to 100
Iskaz while – skupina akcija se uslovno izvršava, a uslov se ispituje
na početku petlje
While i>=100 do
Iskaz repeat – until skupina akcija se uslovno izvršava , a uslov se
ispituje na kraju petlje
repeat
naredbe;
until broj >= 0

20
Primjeri
1. Program OP5_2; 2. Program Decimalno_binarna_konverzija;
uses wincrt; uses wincrt;
(* Naći sumu kvadrata cifara cijelog broja *) var
Var n,c,suma:integer; n, ost : integer;
Begin rez : string;
readln(n); begin
suma:=0; clrscr;
while n>0 do rez := '';
begin Write ('Unesite decimalni broj : ');
c:=n mod 10; readln (n);
n:=n div 10; repeat
writeln(c:5,' Cifre '); ost := n mod 2;
suma:=suma+c*c; n := n div 2;
end; if ost = 0 then
writeln('Suma kv.cifara iznosi=',suma); rez := '0' + rez
End. else
rez := '1' + rez;
until n = 0;
Writeln ('Rezultat : ',rez);
readln;
end.

21
Primjeri
3. PROGRAM razlomak;
uses wincrt; 4. program recenicaSlova;
VAR a, b, i, x, a1, b1 : integer; uses wincrt;
BEGIN Var
write ('Upisi brojnik '); trazenoSlovo : char; {-trazeno slovo}
readln (a); brojPojavljivanja: integer; {-broj
write ('Upisi nazivnik '); ponavljanja zadataog slova u recenici}
readln (b); slovo : char; {-slovo koje pripada
IF a<b THEN x:=a ELSE x:=b; recenici}
FOR i:=2 TO x DO begin
IF (a mod i=0) AND (b mod i=0) THEN writeln('Unesite slovo koje trazite u
recenici');
BEGIN
read(trazenoSlovo);
a1:= a div i;
writeln('Unesite recenicu i zavrsite je
b1:= b div i;
tackom:');
END;
read(slovo);
IF (a1<>0) AND (b1<>0) THEN writeln
while (slovo<>'.') do
('Skraceni razlomak je ', a1, '/', b1)
begin
ELSE writeln ('Razlomak se ne moze skratiti');
if slovo=trazenoSlovo then
readln;
brojPojavljivanja:=brojPojavljivanja+1;
END.
read(slovo);
end;
writeln('Slovo:-',trazenoSlovo,'-se
pojavljuje ', brojPojavljivanja,' puta');
readln;readln; 22
end.
Primjeri
5.program Polinom; begin
uses wincrt; poli:=stepen(x,5)+3.0*stepen(x,4)-
var x:real; 6.0*sqr(x)+2;
n,i:integer; end;
function stepen(x:real;eksp:integer):real; begin
var i:integer; writeln('Unesite koliko brojeva zelite:');
s:real; readln(n);
begin for i:=1 to n do
s:=1; begin
for i:=1 to eksp do writeln('Unesite ',i,'. broj:');
s:=s*x; readln(x);
stepen:=s; writeln('Vrijednost polinoma za ',i,'. broj je
end; ',poli(x):10:4);
function poli(x:real):real; end;
end.

23

You might also like