PASCAL Skripta
February 7, 2017 | Author: djuka65 | Category: N/A
Short Description
Download PASCAL Skripta...
Description
PASCAL – skripta
Slavisa Savic
Programski jezik
1 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
Sadrzaj: • UVOD: o Detaljna teorijska razrada o Iznalazenje konceptualnog rjesenja o Implementacija koriscenjem nekog programskog jezika • O PROGRAMU: o Osnovne operacije o Rezervisane rijeci o Identifikatori o Komentari o Promjenljive o Konstante o Programske strukture: - Linijske - Razgranate - Ciklicne o Nizovi: - Jednodimenzioni - Dvodimenzioni
2 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
UVOD Programiranje??? U danasnje vrijeme ovo je veoma primamljiv termin, pod kojim se najcesce podrazumeva kreiranje racunarskih programa, sto ukljucuje detaljnu teorijsku razradu problema,
iznalazenje konceptualnog rjesenja i implementaciju koriscenjem nekog od programskih jezika.
Detaljna teorijska razrada Kada kazemo “detaljna teorijska razrada” znaci da prije bilo kakvog daljeg rada prvo moramo razmotriti da li je trazeni zadatak(problem) moguce rjesiti. To podrazumjeva: odrediti relaciju izmedju trazenih(nepoznate promjenljive) i zadanih(poznate velicine) veza, koliko ce biti funkcionalan, tj da rjesava sto veci broj slicnih zadataka, i td. Nakon sto utvrdimo da je zadatak rjesiv, pristupamo izradi algoritma.
Iznalazenje konceptualnog rjesenja Iznalazenje konceptualnog rjesenja predstavlja dobro formiran algoritam. A algoritam je niz operacija koje je potrebno obaviti da bi dosli do zeljenog rjesenja. Da bi lakse shvatili algoritam opisivacemo ga preko: prirodnim jezikom, pseudo kodom i dijagramom toka.
Kada algoritam opisujemo prirodnim jezikom moramo biti dovoljno precizni i detaljni te je potrebno voditi racuna da ne budemo dvosmisleni, vec direktni sa hronoloski poredanim operacijama.
Pseudo kod je kombinacija prirodnog jezika i nekog neformalnog programskog jezika, pa njegova primjena zahtijeva zapisivanje u obliku nekog programskog jezika, ali bes stroge notacije.
Dijagram toka predstavlja graficki prikaz algoritma ciji su simboli usvojeni po ISO standardima. Simboli se mogu podijeliti u dvije grupe: simbole koji predstavljaju obradu i simbole koji opisuju tok obrade (strelice).
Tokom razvoja algoritma program se moze rasclaniti u vise samostalnih cjelina. To su PROCEDURE I FUNCTION. Rasclanjivanjem na podprograme stedimo memoriju i preglednost programa, ali to nije toliko bitno, ako programiramo manji program.
3 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
Simboli koji predstavljaju obradu
Oznacava pocetak programa.
Oznacava sve ulazne informacije.
Oznacava postupak svih vrsta obrade. Moze se bezuslovno ponavljati vise puta za redom. Oznacava postavljanje uslova. Svaki uslov ima dvije izlazne grane DA I NE. Ako je zadani uslov ispunjen obrada prolazi kroz granu DA, u suprotnom kroz NE.
Oznacava sve izlazne informacije.
Oznacava kraj programa.
Implementacija koriscenjem nekog programskog jezika Implementacija koriscenjem nekog programskog jezika je nista drugo nego algoritam zapisan u nekom programskom jeziku. Racunar je masina koja sama moze odradjivati neke osnovne funkcije poput sabiranja, oduzimanja, mnozenja, dijeljenja pomocu masinskog jezika koji razumije, a to su 0 i 1. Zato je programski jezik napravljen da ga razumije i racunar i programer. Ustvari racunar ne razumije ni jedan programski jezik, ali zato svaki programski jezik mora posjedovati svoj alat za prevodjenje ili interpretaciju programa. Prevodjenje je proces formiranja ekvivalentnog programa na masinskoi jezik, a interpretacija proces citanja od strane racunara i njegovo istovremeno izvrsavanje uz pomoc drugog programa interpretatora. Postoji dosta programskih jezika, jer naravno svaki od njih ima svoju posebnu namjenu, kao sto su BASIC, PASCAL, C++, JAVA, PHP i mnogi drugi.
4 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
O PROGRAMU Programski jezik Pascal se ubraja u siroko rasprostranjene programske jezike. Odlikuje se veoma jednostavnom sintaksom i bas zbog toga je najbolji za „mlade programere“, tj. za obuku u programiranju, iako je star 30-ak godina. Originalnu verziju ovog programskog jezika stvorio je Niclaus Wirth, a kasnije su razvijene nove verzije kao sto je Borlandov Turbo Pascal. Pascal kao program ne zauzima mnogo memorije, svega oko 5 Mb, tako da mu je i okruzenje jednostavno i lakopamtljivo. Osnovne opcije programa su: - compile (prevodjenje) - Alt+F9; - run (pokretanje) - Ctrl+F9; - user screen (korisnik zaslona) - Alt+F5; -save (sacuvavanje) - F2; -open (otvaranje) - F3; -exit (izlaz) - Alt+X; Sto se tice pisanja programa u PASCALU mogu se koristiti i velika i mala slova engleske abecede, s tim sto nema razlike izmedju velikih i malih slova, takodje razdvajanje cjelina razmakom i praznim redom nece uticati na rad programa. Elementi programa se zavrsavaju ( ; ), a kraj programa sa ( . ). Rezervisane rijeci (naredbe) su rijeci koje definisu neku naredbu koja ce biti odradjena, PROGRAM(oznacava pocetak programa), VAR, BEGIN(pocetak glavnog programa), WRITE, READ, ELSE, END i td. Identifikatori su znakovi koje unosi programer po svome izboru kojima definise objekte programa, identifikatori takodje nesmiju biti rezervisane rijeci. Pa cemo tako i napisati najprostiji program, koji izgleda ovako.
PROGRAM bilo_koja_rijec; BEGIN END.
U ovom programu imamo rezervisane rijeci PROGRAM, BEGIN, END i identifikator „bilo_koja_rijec“, bitna stvar je da ime programa mora biti jedna rijec, bez razmaka. Takodje primjetimo da na kraju PROGRAM stoji ( ; ), a na kraju BEGIN ne, to je zato sto iza BEGIN nikad
5 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
ne stoji ( ; ), kao ni iza THEN, ELSE( to cemo primjetiti kasnije kod postavljanja uslova), ako bi stavili kompilacija ne bi bila moguca. Pored rezervisanih rijeci i identifikatora, u programu se mogu pisati i komentari. Komentari nemaju nikakvu funkciju osim sto nam bolje objasne o cemu se radi u programu. Mogu se pisati na pocetku reda, u sredini, na kraju, pri cemu se ne mora svaki red zagradjivati. Komentari se obiljezavaju sa (* komentar *), a mogu i { komentar }.
PROGRAM bilo_koja_rijec; {“bilo_koja_rijec” je naziv programa} BEGIN END. Promjenljive (VAR) su takodje rijeci koje su strogo tipizirane, sto znaci da svaka promjenljiva ima odredjeni tip. Postoje cetiri vrste promjenljivih, a to su: -
boolean – logicki tip, sa vrijednostima true(tacno) i false(netacno);
-
integer – cjelobrojni tip;
-
real – realni tip;
-
char – znakovni tip, kome odgovaraju vrijednosti znakova i simbola
PROGRAM bilo_koja_rijec; VAR a:boolean; b:integer; c:real; d:char; BEGIN END.
{“bilo_koja_rijec” je naziv programa} {promjenljiva “a” je logickog tipa} {promjenljiva “b” je cjelobrojnog tipa} {promjenljiva “c” je realnog tipa} {prmojenljiva “d” je znakovnog tipa}
Konstante (CONST) su nista drugo vec konstante koje se uvode, ako su nam potrebne u programu, a nisu definisane ranije. Npr. konstanta „π“ je definisana u samom programskom jeziku („pi“), pa je necemo posebno navoditi, ako u programu racunamo povrsinu ili zapreminu kruga, ali konstantu koja nije definisana cemo uvesti na sledeci nacin.
PROGRAM bilo_koja_rijec; VAR a:boolean; b:integer; c:real; d:char; CONST h:8.56 BEGIN END.
{“bilo_koja_rijec” je naziv programa} {promjenljiva “a” je logickog tipa} {promjenljiva “b” je cjelobrojnog tipa} {promjenljiva “c” je realnog tipa} {prmojenljiva “d” je znakovnog tipa} {uveli smo konstantu h cija je vrijednost 8.56}
6 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
Prethodno opisane vrste promjenljivih imaju i odredjene operacije i funkcije koje su dole predstavljene: •
LOGICKE
Operacije: Operator
Operacija
NOT
negacija
OR
diskusija
AND
konjugacija
Standardni relacijski operatori:
•
Operator
Operacija
=
jednako
razlicito
<
manje
>
vece
vece ili jednako
CJELOBROJNE Ugradjenje operacije: Operator
Operacija
+
odredjivanje znaka
-
promjena znaka
+
sabiranje
-
oduzimanje
*
mnozenje
DIV
cjelobrojno dijeljenje
MOD
ostatak cjelobrojnog dijeljenja
7 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
Standardne funkcije: Funkcija
Tip
Opis
abs(x)
integer->integer
apsolutna vrijednost
sdd(x)
integer->boolean
true(istina) ako je x neparan, inace false(laz)
sqr(x)
integer->integer
kvadrat
•
REALNE
Ugradjene operacije: Operator
Operacija
+
odredjivanje znaka
-
promjena znaka
+
sabiranje
-
oduzimanje
*
mnozenje
/
dijeljenje
Standardne funkcije: Funkcija
Tip
Opis
abs(x) sin(x)
real->real real->real
apsolutna vrijednost sinus
cos(x) arctan(x)
real->real real->real
kosinus arkus tangens
exp(x) ln(x)
real->real real->real
exponent: ex prirodni logaritam
sqr(x) sqrt(x) frac(x)
real->real real->real real->real
kvadrat: x2 kvadratni korijen decimalni dio: x-[x]
int(x)
real->real
cjelobrojni dio: [x]
8 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
Programske strukture: •
Linijske programske structure
•
Razgranate programske structure
•
Ciklicne programske structure
Linijska programska stuktura je struktura u kojoj se obrada vrsi za obradom samo jednom u citavom program i na kraju izdaje rjesenje. PRIMJER: Zadatak 1.0 Ucitati dva cijela broja te izdati njihov zbir.
Program: program zadatak_1_0; var a,b,c:integer; vrijednosti} begin write ('unesi prvi broj '); readln (a); write ('unesi drugi broj '); readln (b); c:=a+b; writeln ('zbir je ', c); promjenljive c} end.
{ime programa jedna rijec} {a,b,c su promjenljive cjelobrojne {pocetak} {poruka ispisana korisniku programa} {ucitana promjenljiva a} {poruka ispisana korisniku programa} {ucitana promjenljiva b} {obrada programa c=a+b} {puruka ispisana korisniku vrijednosti {kraj programa}
Rezervisane rijeci READ ili READLN i WRITE ili WRITELN imaju u sustini istu funkciju, jedina razlika je sto “LN” omogucuje korisniku da unos vrsi u sledeci red.
9 Copyright © mini-forum.rs.ba
PASCAL – skripta
Slavisa Savic
PRIMJER: Zadatak 1.1 Vrijeme na ulazu u satima, minutama i sekundama pretvoriti u vrijeme u sekundama. Program:
program gram zadatak_1_1; {ime programa} var h,m,s,sk:integer; teger; {promjenljive cjelobrojnog tipa} begin {pocetak programa} write (‘vrijeme u satima, atima, min. i sek. '); {ispis korisniku programa} readln (h,m,s); {ucitava va sve tri promjenljive} promjenljive sk:=h*3600+m*60+s; {obrada rada ulaznih podataka} writeln ('vrijeme u sekundama ndama je ', sk); {ispis korisniku programa} end. {kraj programa}
Ako ucitavamo vise vrijednosti promjenljivih odjednom, potrebno ih je odvojiti zarezom ( , ).
PRIMJER: Zadatak 1.2 Od 5 brojeva sa ulaza ispisati srednju vrijednost. Provjera: ulaz: 5, 3, 4, 4, 2 izlaz: 3.6
PRIMJER: Zadatak 1.3 Odrediti ti povrsinu i obim kruga za uneseni precnik. Provjera: ulaz: 5
izlaz: P=78.5 O=31.4
Razgranata programska a struktura samo ime kaze omogucuje grananje programa na a dvije ili vise grana. Ovom strukturom ispitujemo razne uslove koji su nam zadani npr. pozitivan - negativan broj, paran – neparan i td. Naredba razgranate strukture je IF..THEN..ELSE, takodje mozemo izmedju IF i THEN ubaciti OR sto cemo vidjeti u sledecim primjerima PRIMJER: Zadatak 1.4 Ispitati broj na ulazu da li je pozitivan ili negativan.
10 Copyright © mini-forum.rs.ba
PASCAL – skripta program zadatak_1_4; var a:real; begin write ('unesi realan broj '); readln (a); if a
View more...
Comments