Professional Documents
Culture Documents
Seminarski Rad
Seminarski Rad
ARHITEKTONSKO-GRAEVINSKO-GEODETSKI
FAKULTET
SEMINARKI RAD
Programski jezik PASCAL
Asistent:
Nikola Obradovi
Student:
Jelena Mirkovi, 13/15
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
AND
ASM
ARRAY
BEGIN
CASE
CONST
CONSTRUCTOR
DESTRUCTOR
DIV
DO
DOWNTO
ELSE
SHR
STRING
THM
TO
TYPE
UNIT
UNTIL
USES
VAR
WHILE
WITH
XOR
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
REZERVISANA
RIJE
NAJMANJA
VRIJEDNOST
NAJVEA
VRIJEDNOST
BYTE
255
SHORTINT
-128
127
INTEGER
-32768
+32768
WORD
655535
LONGINT
-2147483648
+2147483647
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
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
4. KONSTANTE U PASCALU
Konstante su podaci ija je osnovna karakteristika da se njihova vrijednost ne smije
mijenjati.
10
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.
12
NAZIV
Oznaka u matematici
Objanjenje
abs (x)
Apsolutna vrijednost
|x|
sqr (x)
Kvadrat
x2
sqrt (x)
Korijen
trunc (x)
Odsijecanje
round
(x)
Zaokruivanje
sin (x)
Sinus
sinx
cos (x)
Kosinus
cosx
arctan
(x)
Arkus tangens
arctgx
ln (x)
Prirodni logaritam
ln x
exp (x)
Eksponencijalna
ex
Izraunava eksponencijalnu
funkciju iji je eksponent x
13
Izraunava trigonomtrijsku
funkciju, a stvarni parametar
mora biti u radijanima
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.
14
15
Rjeenje:
16
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.
17
18
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;
19
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.
20
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
end.
22
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
I ovu naredbu moemo koristiti za provjeru ulaznih vrijednosti, ali moramo paziti kako
emo postaviti uslov.
25
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.
27
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
28