Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 28

UNIVERZITET U BANJOJ LUCI

ARHITEKTONSKO-GRAEVINSKO-GEODETSKI
FAKULTET

SEMINARKI RAD
Programski jezik PASCAL

Asistent:
Nikola Obradovi

Student:
Jelena Mirkovi, 13/15

Banja Luka, novembar 2015.

S AD R AJ :

1. UVOD.....................................................................................................................................3
Programski jezici.........................................................................................................................3
2. PROGRAMSKI JEZIK PASCAL...........................................................................................5
2.1. Uvod u nastanak programskog jezika Pascal...................................................................5
2.2. Osnovne karakteristike Pascala........................................................................................5
2.3. Ime programa...................................................................................................................6
2.4. Komentari........................................................................................................................6
3. TIPOVI PODATAKA U PASCALU......................................................................................7
4. KONSTANTE U PASCALU..................................................................................................9
Ime konstante (e i pi) se koristi u programu umjesto konstante, time se poveava preglednost
programa, i olakava promjena vrijednosti konstante.5. OSNOVNE NAREDBE...................10
5. OSNOVNE NAREDBE........................................................................................................11
5.1. Unos podataka u Pascalu-ulazne naredbe......................................................................11
5.2. Naredba za ispis na ekran...............................................................................................11
5.3. Naredbe dodjele ili pridruivanja vrijednosti................................................................12
VANO. Realnoj vrijednosti ne moe se pridruiti cijelobrojna vrednost.6.
STANDARDNE FUNKCIJE U PASCALU.............................................................................12
6. STANDARDNE FUNKCIJE U PASCALU.........................................................................13
7. LINIJSKA STRUKTURA....................................................................................................14
8. RAZGRANATA STRUKTURA.........................................................................................18
9. CASE NAREDBA................................................................................................................21
10. NAREDBE ZA PONAVLJANJE........................................................................................22
10.1. FOR petlja....................................................................................................................22
10.2. WHILE petlja...............................................................................................................22
10.3. REPEAT-UNTIL petlja................................................................................................22
11. PODPROGRAMI-Procedure i funkcije..............................................................................23
12. ZAKLJUAK.....................................................................................................................24
LITERATURA..........................................................................................................................25

1. UVOD
PROGRAMIRANJE - odreivanje redoslijeda operacija pomou kojih se dolazi do
eljenog rezultata.
ALGORITAM
- postupak ili pravilo za rjeavanje odreene vrste problema
- svodi se na izvoenje pojedinih osnovnih operacija zadanim
redosljedom
Osnovni dio programa je instrukcija. Mogu se podijeliti u tri vrste:
1. instrukcije za obavljanje operacija
2. instrukcije za odreivanje toka programa
3. instrukcije za ulaz i izlaz podataka
Koraci programiranja:
1. zadavanje problema koje ulazne podatke koristimo i koje izlazne podatke
trebamo dobiti (npr. uitati poluprenik (r) kruga i ispisati obim i povrinu
ulazni podaci su i r, a izlazni O i P )
2. skiciranje rjeenja - pronalaenje algoritma i rastavljanje algoritma na
jednostavnije cjeline (O=2r, P=r2, poluprenik ne smije biti negativan )
3. sastavljanje algoritma rijeima ili grafiki opisati rjeenje problema
4. kodiranje zapis u izabranom programskom jeziku (moramo znati sintaksu i
semantiku)
5. prevoenje izvorni program prevodi se u mainski jezik.
Prevodilac pronalazi sintaksike greke koje ispravljamo dok ne dobijemo
ispravno napisan program.
6. testiranje pronalaenje logikih greaka zbog pogreno napisanog algoritma
7. dokumentovanje najvaniji je sam program koji mora biti pregledno
napisan
8. odravanje programa
Struktura programskih jezika:
leksika struktura skup svih znakova i rjenik (skup svih rijei)
semantika skup pravila koja daju odgovor na pitanje ta znai neka naredba
sintaksa pravila koja odreuju pripada li skup znakova jeziku ili ne

PROGRAMSKI JEZICI

Algoritmi se mogu zapisati na bilo kom govornom jeziku. Npr. algoritam za podeavanje
TV-a ili videa najee je napisan na nekoliko jezika. Ako uradimo tano po uputstvima,
rezultat je uvijek isti bez obzira na kom jeziku itamo.
Mogu se stvoriti i vjetaki jezici za zapisivanje algoritama. Oni moraju biti dovoljno dobro
kreirani, da bi se njima mogli opisati razliiti algoritmi.
Algoritmi zapisani vjetakim jezicima su :
puno saetiji
pregledniji
Algoritmi napisani takvim jezicima nazivaju se i programima, a ti vjetaki jezici nazivaju se
programski jezici.
Programske jezike moemo podijeliti po generacijama:
1. generacija mainski jezici:
raunar ih razumije i moe izvriti naredbe
teko razumljivi i neprikladni za ovjeka
u binarnom obliku raunar razumije samo taj oblik (11001111)
program napisan za jednu vrstu raunara nije primjenjiv na drugoj vrsti
raunara
programer mora jako dobro poznavati grau raunara
2. generacija asembleri
naredbe u mainskom jeziku zamijenjene su simbolikim skraenicama
(npr. LDA Load Accumulator)
olakava pisanje programa u mainskom jeziku
danas iskljuiv nain pisanja mainskih programa
3. generacija vii programski jezici
naredbe sline engleskom jeziku
oni su tako oblikovani da se programi mogu (i moraju) prevesti u mainski
jezik raunala
primjer:
FORTRAN FORmula TRANslator prevoditelj formula
BASIC
Beginer All purpose Symolic Instruction Code
ALGOL
ALGOrithmic Language algoritamsi jezik
Ada
po Adi Lovelace prvom programeru
Pascal
1968. Niklaus Wirth mu dao ime po Blaise
Pascalu
4. generacija jezici etvrte generacije
objektivno orjentisani jezici
primjer: Visual BASIC, Visual C, Java

2. PROGRAMSKI JEZIK PASCAL


2.1. Uvod u nastanak programskog jezika Pascal
Krajem 60-ih godina Nicklaus Wirth definisao je programski jezik i nazvao ga Pascal.
Pascal je prvobitno zamiljen kao nastavno sredstvo za uenje vjetine struktuiranog
programiranja, gdje se program moe razbiti na manje cjeline koje se opet logiki
povezuju u program. Rjenje programa ini skup modula od kojih svaki predstavlja i
izvrava pojedinanu, nezavisnu funkiju programa.

2.2. Osnovne karakteristike Pascala


1. Obavezno je deklarisanje svih varijabli koje se koriste u programu
2. Odreene kljun rijei (naredbe ili dijelovi naredbi), npr BEGIN, IF, THEN, WHILE...
rezrvisane i ne smiju se koristiti u druge svrhe
3. Standardni tipovi podataka su:
realni-real
cjelobrojni-integer
logiki-boolean
znakovni-char
4. Postoje i sloeni i struktuirani tipovi podataka, a to su:
niz znakova-string
polja-array
slogovi-record
skupovi-set of
datoteke-file of

Programski jezik PASCAL

Jelena Mirkov, 13/15

5. Procedure i funkcijski podprogrami mogu pozivati sami sebee

2.3. Ime programa


Rije PROGRAM je rezervisana rije u Pascalu kojom poinje svaki program. Iza rijei
PROGRAM programer definie ime programa.Imena se u Pascalu nazivaju
identifikatorima.
Ime mora poeti slovom abecede. Ne smije imati praznine ili znakove interpunkcije i ne
moe
poeti brojem. Ime ne moe biti kljuna rije. Ime programa zavrava taka- zarezom.
Slijedi tabela kljunih rijei u Pascalu:

AND
ASM
ARRAY
BEGIN
CASE
CONST
CONSTRUCTOR
DESTRUCTOR
DIV
DO
DOWNTO
ELSE

KLJUNE RIJEI U PASCALU


END
NIL
FILE
NOT
FOR
OBJECT
FUNCTION
OF
GOTO
OR
IF
PACKEED
IMPLMNTATION
PROCEDURE
IN
PROGRAM
INLINE
RECORD
INTERFACE
REPEAT
LABEL
SET
MOD
SHL

SHR
STRING
THM
TO
TYPE
UNIT
UNTIL
USES
VAR
WHILE
WITH
XOR

Tabela 1: Kljune rijei


Imena u Pascalu mogu biti proizvoljne duine, meutim prevodilac uzima u obzir
identifikatore duine do osam znakova. Ime moe imati vie od osam znakova, ali
prevodilac te znakove ignorie.
Prilikom definisanja identifikatora, kako za ime programa tako i za promjenljive,
konstante, procedure i funkcije preporuuje se izbor preglednih imena u skladu sa pojmom
koji predstavljaju.

2.4. Komentari
Komentari se sastoje od teksta za koji se odluuje programer. Komentari su namjenjeni
korisnicima radi boljeg razumijevanja funkcije programa, dok raunar komentar prilikom
prevoenja programa ignorie. Komentari se piu u vitiastim zagradama :
{program izraunava povrinu kruga} ili
(*program izraunava povrinu kruga*)
Komentar se moe postaviti bilo gdje u programu, ali se obino postavlja ispod ili u liniji
koda koju objanjava.
6

Programski jezik PASCAL

Jelena Mirkov, 13/15

3. TIPOVI PODATAKA U PASCALU


U svakom programu potrebno je deklatisati tipove podataka sa kojima se radi.
Razlikujemo
cijelobrojni tip podatka, realni tip, znakovni tip i logiki tip podatka.
1. CJELOBROJNI TIP PODATAKA
TIP PODATKA
CIJELI BROJEVI
(SAMO +)
CIJELI BROJEVI
(- i +)
CIJELI BROJEVI
(- i +)
CIJELI BROJEVI
(SAMO +)
CIJELI BROJEVI
(- i +)

REZERVISANA
RIJE

NAJMANJA
VRIJEDNOST

NAJVEA
VRIJEDNOST

BYTE

255

SHORTINT

-128

127

INTEGER

-32768

+32768

WORD

655535

LONGINT

-2147483648

+2147483647

Promijenljive u Pascalu sline su promijenljivim u matematici. Sve promijenljive koje se


koriste u programu MORAJU biti deklarisane. Karakteristika promijenljive je da se njena
vrijednost moe mijenjati tokom izvrenja programa (zbog ega se u izvornom kodu
predstavljaju ne svojim iznosom ve simbolikom oznakom, imenom promenljive ili
indentifikatorom.
Naredba za deklaraciju promijenljivih je VAR, promijenljiva ima svoje ime i tip podatka
kome pripada. Definisanjem tipa podatka kome promijenljiva pripada definiu se i
operacije koje se mogu izvravati nad promijenljivim.
Pravilo pisanja:
var ime_promijenljive1, ime_promijenljive2:tip_podatka;
Primjer 1: Da bi se promijenljiva a deklarisala kao cijelobrojna koristi se naredba:
var a: integer ;

Var je naredba za deklarisanje promijenjljivih, a je


promijenljiva, integer kljuna rije (standardni
identifikator) koja oznaava cijelobrojni tip podatka.

Operacije karakteristine za cijelobrojni tip podataka su:


1) sabiranje (+)
2) oduzimanje (-)
3) mnoenje (*)
4) div (cijelobrojno deljenje)
5) mod (ostatak cijelobrojnog djeljenja)
2. REALNI TIP PODATAKA

Programski jezik PASCAL

Jelena Mirkov, 13/15

Vrijednosti koje sadre cijeli i decimalni dio nazivaju se realnim.


Na primjer, realne konstante su: 7.23
5.88
-9.10
40.555
Realna konstanta u Pascalu ne smije poinjati ili zavravati decimalnom takom, na
primjer:
652.
.210
Ispravno je napisati:
652.0
0.210
Realni brojevi mogu da se izraze u:
a) eksponencijalnom zapisu
b) pozicionom ili formatiranom zapisu
Eksponencijalni zapis ili eksponenciojalna notacija koristi se prilikom ispisa veoma
velikih ili
veoma malih vrijednosti. Na ovaj nain izbjegava se pisanje velikog broja nula.
( 3000000000.0 ili 0.0000000003)
Primjer:
3.5E + 5 = 3.5 *105
E oznaka za eksponencijalni oblik, ispred se pie mantisa a iza E eksponent. Opti oblik
pisanja je:
m E ex
Eksponent pokazuje za koliko mjesta treba decimalnu taku pomjeriti u lijevo ili desno.
Ako je eksponent pozitivan taka se pomjera udesno, a ako je negativan taka se pomjera
ulijevo.
Primjer:
231E - 1 = 231.0E 1 = 23.1
1E2 = 1.0E2 = 100.0
Tip podatka

Rezervisana rije

Najmanja vrijednost

Najvea vrijednost

Realni brojevi

Real
Single
Double
Extended

2.9E-39
1.5E-45
5.0E-324
3.4E-4932

1.7E38
3.4E38
1.7E308
1.1E4932

Operacije nad realnim tipom podatka su:


1) sabiranje (+)
2) oduzimanje (-)
3) mnoenje (*)
4) djeljenje (/)
Primjer deklarisanja promijenljive x kao realne:
var x: real;
Standardni identifikator je real.
3. ZNAKOVNI TIP PODATAKA

Programski jezik PASCAL

Jelena Mirkov, 13/15

Ovu grupu podataka ine znakovi: slova abecede, numeriki znakovi od 0 do 9, znakovi
interpunkcije i specijalni znakovi.
Znakovna konstanta sastoji se od znaka ogranienog jednostrukim navodnicima, na
primjer:
'B' 'B' 'Z' ' # ' '@' '10'
Jednostruki navodnici su neophodni da bi raunar znao, na primjer, da * PREDSTAVLJA
znakovnu konstantu za razliku od oznake mnoenja, ili da je 10 znakovna konstanta a ne
cijelobrojni podatak 10.
Vie znakova kao to su rijei ili reenice nazivaju se nizovi (engl. string). U programu se
niz
znakova moe koristiti kao konstanta s time da se niz znakova omei navodnicima.
Primjer: Programski jezik PASCAL ili Unesi x
Standardni identifikator za znakovni tip je char.
Primjer deklarisanja promijenljive Y znakovnog tipa:
var Y: char ;
4. LOGIKI TIP PODATAKA
Raunar u radu provjerava razliite uslove i u skladu sa rezultatom ispitivanja nastavlja
rad. U
tu svrhu se upotrebljava tip podataka koji ima dvije vrijednosti
False
LA

True
ISTINA

Ove vrijednosti zovu se logike vrijednosti, a u Pascalu ih nazivaju Booleove vrijednosti,


po
engleskom matematiaru Georgu BOOLE, koji je razvio logiku algebru u 19. veku. U
raunaru se Booleove vrijednosti prikazuju jednim bitom, koji je 0 za la, a 1 za istinito.
Postoje tri osnovne operacije nad logikim tipom podataka:
1) Negacija (not)
2) Disjunkcija (or)
3) Konjukcija (and)
Identifikator kojim se oznaava logiki tip je boolean.
Primjer deklarisanja logike promijenljive Y :
var Y: boolean;

4. KONSTANTE U PASCALU
Konstante su podaci ija je osnovna karakteristika da se njihova vrijednost ne smije
mijenjati.

Programski jezik PASCAL

Jelena Mirkov, 13/15

Konstante se definiu u odjeljku za definisanje konstanti. Naredba za definisanje je


CONST.
Pravilo pisanja:
CONST ime_konstante= vrijednost;
Primjer:
const e=2.71;
const pi=3.14159;
const b= ;
const x=56.23;

IME KONSTANTE (E I PI) SE KORISTI U PROGRAMU


UMJESTO KONSTANTE, TIME SE POVEAVA
PREGLEDNOST PROGRAMA, I OLAKAVA
PROMJENA VRIJEDNOSTI KONSTANTE.

10

Programski jezik PASCAL

Jelena Mirkov, 13/15

5. OSNOVNE NAREDBE
5.1. Unos podataka u Pascalu-ulazne naredbe
U Pascalu postoje dvije naredbe za unos podataka : READ i REDALN. Uitavanje moe
biti
preko ulazne datoteke ili preko tastature. Prilikom unosa promijenljive treba voditi rauna
da unesene vrijednosti odgovaraju definisanom tipu podataka za te promijenljive. Opte
znaenje naredbe je prekid izvravanja programa i ekanje da se unesu vrijednosti
navedenih promijenljivih.
Pravilo pisanja je:
READ(ime promijenljive, ime promijenljive);
Primjer: Ako elimo unijeti vrijednosti za stranice pravougaonika promijenljive a i b, u
programu piemo:
READ (a,b); uitava promijenljive a i b
READLN(a,b); uitava promijenljive a i b i prelazi u naredni red
U naredbi READ podaci se uitavaju po redu kako su u naredbi navedeni.
Osnovna razlika izmeu ovih naredbi je to naredba READLN uitava vrijednosti kako su
specificirane promijenljivima, a nakon toga prelazi na sledei red, tj. zanemaruju se svi
ostali
podaci u tekuem redu.

5.2. Naredba za ispis na ekran


Naredba za ispis omoguava prikazivanje teksta ili vrijednosti promijenljive ili rezultata
obrade na ekran.
Naredba je:
WRITE (ime promijenljive ili tekst u polunavodnicima);
WRITELN(ime promijenljive ili tekst u polunavodnicima);
Ova naredba ispisuje vrijednost koja je napisana u zagradi iza rijei WRITE odnosno
WRITELN.
Ako elite da se preskoi red pri ispisu, pie se samo WRITELN, na primer:
WRITELN;
A) Ispis teksta WRITELN(Pascal);
Na ekranu dobijamo tekst Pascal
B) Ispis vrijednosti promijenljive WRITELN(O,P);
Ispisae vrijednost promijenljive O i P
C) Kombinovan ispis teksta i promijenljive WRITELN(Zbir je:,a+b);
Ispisae tekst Zbir je i vrijednost izraza a+b
11

Programski jezik PASCAL

Jelena Mirkov, 13/15

D) Formatirani ispis koristi se kod realnih brojeva


E) Ispis cijelih brojeva

5.3. Naredbe dodjele ili pridruivanja vrijednosti


Promijenljive u memoriji imaju neku sluajnu vrijednost. Naredba dodjele ili
pridruivanja
omoguava da promijenljiva dobije novu vrijednost koja se smjeta u memorijsku lokaciju
i
postaje vrijednost odgovarajue promijenljive.
Operator pridruivanja u Pascalu je : =, a naredba pridruivanja je oblika:
promenljiva := izraz;
Kada raunar izvri naredbu pridruivanja izraz na desnoj strani postaje vrijednost
promijenljive na lijevoj strani.
Operator : = se moe itati kao "postaje".
Primjeri:
X:=15; itaj X postaje 15
B:=10; itaj B postaje 10
X:=X*B; itaj X pomnoi sa B, rezultat sauvaj u X
VANO. Izraz koji se nalazi sa desne strane znaka za pridruivanje izrauna se a zatim
dodjeli promijenljivoj sa lijeve strane.
Vrijednost pridruena promijenljivoj mora biti istog tipa kao to je odreeno za
promijenljivu u
deklaraciji promijenljive.
Ovo pravilo ima jedan izuzetak. Za svaku cijelobrojnu vrijednost postoji odgovarajua
realna
vrijednost. Na primjer, za cijelobrojnu vrijednost 13 odgovarajua realna vrijednost je 13.0;
za 210 je 210.0 ...
Pascal dozvoljava oznaavanje cijelobrojnih vrijednosti realnim promenljivama. Nakon
pridruivanja cijelobrojna vrijednost se pretvara u adekvatnu realnu.
a:=13; postaje nakon pridruivanja 13.0 ili
c:=5555; postaje 5555.0
VANO. REALNOJ VRIJEDNOSTI NE MOE SE PRIDRUITI CIJELOBROJNA
VREDNOST.

12

Programski jezik PASCAL

Jelena Mirkov, 13/15

6. STANDARDNE FUNKCIJE U PASCALU


Oznaka u
Pascalu

NAZIV

Oznaka u matematici

Objanjenje

abs (x)

Apsolutna vrijednost

|x|

Izraunava apsolutnu vrijednost


stvarnog parametra

sqr (x)

Kvadrat

x2

Izraunava kvadrat stvarnog


parametra

sqrt (x)

Korijen

Izraunava kvadratni korijen


stvarnog parametra

trunc (x)

Odsijecanje

Pretvara realni broj u cjelobrojni


zanmarujui decimalni dio

round
(x)

Zaokruivanje

Pretvara realni broj u cjelobrojni


zaokruujui realnu vrijdnost na
cjelobrojnu

sin (x)

Sinus

sinx

cos (x)

Kosinus

cosx

arctan
(x)

Arkus tangens

arctgx

ln (x)

Prirodni logaritam

ln x

Izraunava prirodni logaritam


stvarnog parametra

exp (x)

Eksponencijalna

ex

Izraunava eksponencijalnu
funkciju iji je eksponent x

13

Izraunava trigonomtrijsku
funkciju, a stvarni parametar
mora biti u radijanima

Programski jezik PASCAL

Jelena Mirkov, 13/15

7. LINIJSKA STRUKTURA

1. Zadatak Napisati program koji definie dvije konstante i nad njima sprovodi operacije
karakteristine za:
a) cijelobrojne podatke
b) realne
Rjeenje pod a

Rjeenje pod b

Program konstante1;
const a=5, b=9;
begin
writeln(a+b);
writeln(a-b);
writeln(a*b);
writeln(a div b);
writeln(a mod b);
end.

Program konstante2;
const a=5.23, b=9.00;
begin
writeln(a+b);
writeln(a-b);
writeln(a*b);
writeln(a/b);
end.

2. Zadatak: Napisati program koji vrijednost u eurima pretvara u dinare.


Rjeenje:
program pretvaranje;
var dinari, eura, kurs:real;
begin
writeln(Unesi kurs eura:->);
readln(kurs);
writeln(Unesi iznos u eurima:->);
readln(eura);
dinari:=eura*kurs;
writeln(Iznos u dinarima je,dinari:5:2);
readln;
end.

14

Programski jezik PASCAL

Jelena Mirkov, 13/15

3. Zadatak: Putovanje izmeu mjesta M i N traje n sekundi. Izraunaj koliko je to sati,


minuta i sekundi.
Reenje:
program sekunde;
var n,sat,min,sek : integer;
begin
Write('Unesi sekunde :-> ');
Readln (n);
sat := n div 3600;
sek := n mod 3600;
min := sek div 60;
sek := sek mod 60;
Writeln('To je =',sat:3,'sati',min:6,' ','minuta',' i',sek:4, ' ','sekundi');
end.

4.Zadatak: Napisati program kojim se odreuje vrijeme prizemljenja aviona koji je


uzletio u a sati, b minuta, c sekundi, i u letu proveo d sekundi.
Rjeenje:
program avion;
var sati,minuti,sekunde,vrijeme:integer;
satpriz, minutpriz, sekundpriz:longint;
begin
write('Unesi sate,minute,sekunde');
readln(sati,minuti,sekunde);
write('Duzina leta u sekundama');
readln(vrijeme);
sekundpriz:=sekunde+vrijeme;
minutpriz:=minuti+ sekundpriz div 60;
sekundpriz:= sekundpriz mod 60;
satpriz:=sati+ minutpriz div 60;
minutpriz:= minutpriz mod 60;
satpriz:=satpriz mod 24;
writeln(Vrijeme prizemljenja,satpriz,sati,minutpriz,minuta,sekundpriz,sekundi);
end.

5. Zadatak: Napisati program kojim e se izraunati udaljenost dvije take u ravni.


Poznate su koordinate tih taaka T1(x1, y1) i T2(x2, y2).

15

Programski jezik PASCAL

Jelena Mirkov, 13/15

Rjeenje:

16

Programski jezik PASCAL

Jelena Mirkov, 13/15

program rastojanje;
var x1,x2,y1,y2,d:real;
{ x1,y1 koordinate prve ta_ke}
{ x2, y2 koordinate druge ta_ke}
{ d rastojanje}
begin
writeln(Unesi koordinate prve tacke);
readln(x1,y1);
writeln(Unesi koordinate druge tacke);
d:=sqrt(sqr(x2-x1) + sqr(y2-y1));
writeln(Rastojanje izmedju tacaka je:, d:5:3);
readln;
end.

6.Zadatak: Date su tri take u koordinatnom sistemu i zadate svojim koordinatama.


Izraunati obim i povrinu trougla ija su one tjemena.
Rjeenje:
program trougao;
var x1, x2, y1, y2, x3, y3, a, b, c, o, p:real;
{x1,y1 koordinate prve tacke}
{x2,y2 koordinate prve tacke}
{x3,y3 koordinate prve tacke}
{a,b,c duine stranica trougla}
{o obim trougla, p je povrina trougla}
begin
writeln('Unesi koordinate x1 i y1');
readln(x1,y1);
writeln('Unesi koordinate x2 i y2');
readln(x1,y1);
writeln('Unesi koordinate x3 i y3');
readln(x3,y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:= sqrt(sqr(x1-x3)+sqr(y1-y3));
c:= sqrt(sqr(x3-x2)+sqr(y3-y2));
o:=a+b+c;
p:=sqrt((o/2)*((o/2)-a)*((o/2)-b)*((o/2)-c));
writeln('Obim iznosi',o:5:3);
writeln('Povrsina iznosi',p:4:3);
end.

17

Programski jezik PASCAL

Jelena Mirkov, 13/15

7. Zadatak: Napisati program koji za uneeni napon U i struju I sa tastature izraunava


otpor i snaga kola.
Rezultat prikazati u formatu od 6 mjesta sa 3 decimale.
Rjeenje:
program snaga;
var u,i,r,p : real;
begin
Write('Unesi napon U kola : ');
ReadLN(u);
Write('Unesi struju I kola : ');
ReadLn(i);
r := u/i;
p := u*i;
WriteLn('Otpor kola je : ',r:6:2,' Snaga kola je :',p:6:3);
ReadLn
End.

8.Zadatak: Neka je data jednaina ax + b =0. Promijenljive a i b se unose sa tastature.


Napii program koji za svaku vrijednost a i b daje rjeenja jednaine. Rezultat prikai u
formatu od 7 mesta sa 3 decimale.
Rjeenje:
program prog;
var a,b,x : real;
begin
Write('Unesi parametar a : ');
Readln(a);
Write('Unesi parametar b : ');
Readln(b);
x := -b/a;
Writeln('Resenje jednacine je x=',x:7:3);
End.

18

Programski jezik PASCAL

Jelena Mirkov, 13/15

8. RAZGRANATA STRUKTURA
Jednostruki izbor podrazumijeva da raunar prvo provjerava vrijednost izraza, a zatim
izvrava odreenu naredbu. Ako je izraz istinit naredba se izvrava, a ako nije naredba se
ne
izvrava, ve se izvodi naredna naredba u programu.
U pascalu jednostruki izbor je predstavljen pomou IF THEN naredbe, koja je oblika:
a) IF logiki izraz THEN
Naredba;
b) IF logiki izraz THEN
Naredba1
ELSE
Naredba2;

1. Zadatak: Napisati niz naredbi kojima se sabiraju samo pozitivne vrijednosti


promijenljivih
a,b,c.
Rjeenje:
S:=0;
If a>0 then s:=s+a;
If B>0 then s:=s+b;
If c>0 then s:=s+c;

19

Programski jezik PASCAL

Jelena Mirkov, 13/15

2. Zadatak: Unijeti zaradu radnika, ako je zarada vea od 15000 hiljada dinara, prikazati
je, a ako nije prikazati tekst 'Zarada je manja od 15000'.
Rjeenje:
program zarada1;
var zarada:real;
begin
writeln('Unesi zaradu');
readln(zarada);
if zarada>15000 then
writeln(zarada:5:2)
else
writeln('Zarada je manja od 15000');
end.

3. Zadatak: Unijeti dva broja, a zatim ispisati manji pa vei broj.


Rjeenje:
Program brojevi;
Var x,yj:integere;
Begin
Writeln('Unesi dva broja');
Readln(x,y);
If x<y then write(x,y) else write (y,x);
End.

4. Zadatak: Napisati program koji provjerava da li unijeta datoteka L izraena u Kb moe


da
stane na disketu.
Rjeenje:
program disketa;
const kapacitetdis=1474.56;
var datoteka:real;
begin
writeln(Unesi kapacitet datoteke);
readln(datoteka);
if datoteka<=kapacitetdis then writeln(Datoteka se moze smjestiti na disketu)
else
writeln(Kapacitet datoteke je veci od kapaciteta diskete);
end.

20

Programski jezik PASCAL

Jelena Mirkov, 13/15

5. Zadatak: Neka se sa tastature unose cijeli brojevi a1, a2, i a3. Napii program kojim se
izraunava zbir brojeva koji se nalaze u intervalu od 5 do 9. Rezultat prikai u formatu od
3 mjesta.
Rjeenje:
program sumabrojeva;
var a1,a2,a3,suma : integer;
begin
Writeln('Unesi a1 : ');
Readln(a1);
Writeln('Unesi a2 : ');
Readln(a2);
Writeln('Unesi a3 : ');
Readln(a3);
suma := 0;
if ((a1 >=5) and (n1 <= 9)) then suma := suma+a1;
if ((n2 >=5) and (n2 <= 9)) then suma := suma+a2;
if ((n3 >=5) and (n3 <= 9)) then suma := suma+a2;
WriteLn('Suma brojeva koji se nalaze u intervalu od 5 do 9 je:',suma:3);
end.

6. Zadatak: Neka su sa tastature brojevi a1, a2, i a3. Napii program kojim se ovi brojevi
udvajaju ako je a1>=a2>=a3 inae se svakom broju dodjeljuje njegova apsolutna
vrijednost.
Rjeenje:
program udvajanje;
var
a1,a2,a3 : real;
begin
Writeln('Unesi a1 : ');
Readln(a1);
Writeln('Unesi a2 : ');
Readln(a2);
Writeln('Unesi a3 : ');
Readln(a3);
if ((a1 >= a2) and (a2 >= a3 )) then
begin
a1 := 2*a1;
a2 := 2*a2;
a3 := 2*a3;
end
else
begin
a1 := abs(a1);
a2 := abs(a2);
a3 := abs(a3)
end;
WriteLn('a1 = ',a1:6:2, ' a2 = ',a2:6:2,' a3 = ',a3:6:2);

21

Programski jezik PASCAL

Jelena Mirkov, 13/15

end.

22

Programski jezik PASCAL

Jelena Mirkov, 13/15

9. CASE NAREDBA
Selekcija jedne naredbe iz skupa naredbi, na osnovu vrijednosti izraza moe se izvriti
pomou CASE naredbe. Sintaksa CASE naredbe je sledea:
CASE c OF
1:S1;
2:S2:
3:S3:
........
n:SN
end
Case naredba izvrava se na sledei nain:
1) Prvo se izraunava vrijednost selektora, a zatim se
2) izvrava naredba ije je obiljeje jednako vrijednosti selektora
Vrijednost c odreuje koja e se naredba izvriti. Ako je c= 1 izvrie se Sl, ako je c = 2
S2
itd. U ovom primjeru mora vrednost c biti u nizu od 1 do 4. Ako je c izvan toga niza javlja
se
greka.

23

Programski jezik PASCAL

Jelena Mirkov, 13/15

10. NAREDBE ZA PONAVLJANJE


U programima esto postoji potreba da se dio programa izvede vie puta. Pascal ima 3
naredbe za ponavljanje ili kako ih esto nazivamo petlje. One omoguuju ponavljanje
grupe naredbi i provjeru uslova zavretka. To su:
1. FOR petlja
2. WHILE petlja
3. REPEAT petlja
FOR petlja omoguava bezuslovno ponavljanje naredbi tano odreeni broj puta, pa
kaemo da je to brojako ponavljanje.
WHILE i REPEAT petlje ponavljaju naredbe zavisno o tome je li postavljeni uslov
ispunjen ili nije, pa kaemo da je to uslovno ponavljanje.

10.1. FOR petlja


Ponavlja naredbu ili vei broj naredbi zadani broj puta, pa mora imati broja koji broji
koliko puta se ponavljanje izvrilo. Za broja trebamo definisati poetnu vrijednost-od nje
poinje brojati i zavrnu vrijednost. Kada broja dostigne zadatu zavrnu vrijednost,
ponavljanje se prekida. Tada se program nastavlja sa prvom naredbom nakon FOR petlje.

10.2. WHILE petlja


While= sve dok
Naredba ili vie njih se ponavljaju sve dok je postavljeni uslov zadovoljen. Kada uslov
postane laan, program se nastavlja naredbom iza WHILE petlje.
Ova se petlja esto koristi za kontrolu ulaznih vrijednosti.

10.3. REPEAT-UNTIL petlja


Ova petlja je suprotna od prethodne u tom smislu to omoguava ponavljanje naredbe ili
vie naredbi sve dok uslov ne postane istinit. Kada uslov postane istinit, prekida se
izvoenje ove petlje i program se nastavlja sledeom naredbom.
Pravilo pisanja naredbe:
REPEAT
naredba 1;
naredba 2;
naredba 3;
UNTIL uslov;
24

Programski jezik PASCAL

Jelena Mirkov, 13/15

I ovu naredbu moemo koristiti za provjeru ulaznih vrijednosti, ali moramo paziti kako
emo postaviti uslov.

11. PODPROGRAMI-PROCEDURE I FUNKCIJE


Podprogrami su sloene naredbe koje grupiu niz naredbi u jednu cjlinu i omoguavaju da
se jednom definisana cjelina (podrogram) moe pozivati i izvravati neogranien broj
puta.
Ako imamo niz naredbi koje rade neki zadatak i to trebamo koristiti nekoliko puta unutar
programa. Npr. nekoliko puta u programu moramo zamijeniti varijablama vrijednosti. Iako
je taj dio programskog koda kratak, nepotrebno ga je ponavljati nkoliko puta. Dovoljno je
definisati proceduru koja e to raditi jer je onda moemo pozvati onoliko puta koliko je to
potrebno.
Primjena podprograma uvijek je vezana za dijelove programa koji se ponavljaju, pa
ih izdvajamo u posebne cjeline.
Podprograme definiemo u zaglavlju programa, tj. odmah iza deklaracije varijabli.
Razlikujemo PROCDURE i FUNCTION, a iako su u principu sline, razlika je u tome
to funkcija ima samo jednu izlaznu vrijednost, tj. rezultat dok procedura moe imati vie
izlaznih vrijednosti i to se rezultat funkcije mora pridruiti nekoj varijabli. Deklariu se
isto, kao u sledeem primjeru.
PROGRAM poredaj;
VAR : a,b,c : integer;
PROCEDURE zamijeni (VAR i,j : integer);
VAR x: integer;
BEGIN
x:=j;
j:=i;
i:=x;
END;
(Poetak glavnog dijela programa)
BEGIN
write (Upisi tri broja:);
readln (a,b,c);
IF a>b THEN zamijeni (a,b);
IF a>c THEN zamijeni (a,c);
IF b>c THEN zamijeni (b,c);
write (Poredani brojevi su: ,a,b,c);
readln;

25

Programski jezik PASCAL

Jelena Mirkov, 13/15

END.

12. ZAKLJUAK
Paskal (Pascal) je imperativni programski jezik, koji je 1974. godine razvio Niklaus Virt,
kao jezik pogodan za uenje strukturnog programiranja. Imenovan je po uvenom
francuskom matematiaru i filozofu Blezu Paskalu, tvorcu prve raunske maine koja je
imala mogunost izvoenja operacije sabiranja. Standardizovan je 1983. godine od strane
Meunarodnog komiteta za standardizaciju. Paskal se danas koristi kao poetni program
za obuku buduih programera.
Osnovni znakovi ovog programskog jezika su:
1.
2.
3.
4.
5.

ASCII slova- (engl. American Standard Code for Information Interchange,


izgovara se aski, skraenica od Ameriki standardni kod za razmjenu
podataka)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
brojevi: 0 1 2 3 4 5 6 7 8 9
specijalni znakovi: + - * / = < > [] . , ; : ^ () { } (Meu specijalne znakove se
ubraja i razmak (spejs).)

Rezervisane rijei u paskalu:


Begin - se koristi za poetak bloka.
End - se koristi za kraj bloka.
Var - se koristi za poetak definisanja promjenljivih.
Type - se koristi za definisanje tipova promjenljivih.
Const - se koristi za definisanje konstanti.
Procedure - se koristi za definisanje procedure.
Function - se koristi za definisanje funkcije.
Standardne funkcije jezika paskal:
Read(a), Readln(a) - je funkcija koja uitava vrijednost za promjenljivu a.
Write(a), Writeln(a) - je funkcija koja ispisuje vrijednost promjenljive a.
Paskal ne razlikuje velika i mala slova.
U programskom jeziku paskalu svaka promjenjiva se karakterie tipom. Za svaki tip
postoji razliiti skup operacija i vrijednosti. Tipovi podataka u paskalu mogu biti prosti i
sloeni. Standardni tipovi podataka: cijelobrojni (integer), realni (real), logiki (boolean) i
znakovni (char).
U paskalu postoje dvije strukture: linijska i razgranata.
Osnovne naredbe su: 1. Ulazne naredbe; 2. Naredba za ispis na ekran; 3. Naredbe dodjele
ili pridruivanja vrijednosti.
26

Programski jezik PASCAL

Jelena Mirkov, 13/15

Postoje i CASE naredba i naredbe za ponavljanje, a to su FOR petlja, WHILE petlja i


REPEAT-UNTIL petlja.

27

Programski jezik PASCAL

Jelena Mirkov, 13/15

LITERATURA
1.
2.

www.wikipedia.org
Milan abarkapa, Osnovi programiranja u Paskalu (knjiga 1),
Krug, Beograd 2001. godine.

3.
4.

www.tutoriali.org/Pascal.html
Stephen-a O'Brien, TurboPascal 6

5. Niclaus Wirth, Pascal prirunik, Mikro knjiga


6.

Grozda irjani i Lazar Vukovi, Rjeeni zadaci iz


programskog jezika PASCAL

28

You might also like