PASCAL Skripta

February 7, 2017 | Author: djuka65 | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF