16.1.2012 dvije godine postojanja naših stranica

Primjena pseudo jezika




Ne postoji opće prihvaćena norma načina pisanja pseudo jezika već svaki autor može u načelu rabiti svoj način pisanja. U ovoj će cjelini biti prikazane osnove pseudo jezika koji se koristi u Ispitnom katalogu za državnu maturu iz Informatike za šk.god. 2009./2010. (http://dokumenti.ncvvo.hr/Ispitni_katalozi_08-09/Izborni/IK-info.pdf) te u pridruženom Oglednom ispitu. Ispitni katalog se nalazi na web stranicama Nacionalnog centra za vanjsko vrednovanje obrazovanja (http://www.ncvvo.hr/drzavnamatura/web/public/svi_ispiti).
 


Varijable


Mjesto u memoriji rezervirano za pohranu podatka naziva se varijabla. Svaka varijabla ima ime koje ju jednoznačno određuje kako bi se razlikovala od ostalih varijabli. Ime varijable se u pseudo jeziku može zadati proizvoljno, npr. x, a, TX, B_Pod, AmPe.

 



Vrijednost varijable


Varijabli se vrijednost pridružuje s pomoću operatora pridruživanja. Operator pridruživanja koji se rabi u ovoj inačici pseudo jezika je znak (:=). Tim se operatorom varijabli pridružuje ili u varijablu upisuje vrijednost.

Npr. izraz x:=3 se može čitati "varijabli x se pridružuje broj 3".

 



Kraj naredbe


Algoritam zapisan pseudo jezikom sastoji se od niza naredbi. Svaka naredba ove inačice pseudo jezika završava znakom točka-zarez (;).

 



Operatori


Operatori su simboli koji predstavljaju (zamjenjuju) određene funkcije. Operatori se mogu svrstati u skupine prema vrsti funkcije koju predočuju, npr.:

  • aritmetički operatori,
  • logički operatori,
  • operatori uspoređivanja (relacijski operatori).

Za ispravno zapisivanje algoritma pseudo jezikom između ostalog treba poznavati i značenje pojedinih operatora. Pri tom može zbunjivati sličnost izgleda operatora pseudo jezika i operatora kojima se koristimo u matematici (ponekad izgledaju isto a imaju različita značenja).




Aritmetički operatori
 
Opis Pseudo jezik Pascal C/C+ +
Zbrajanje + + +
Oduzimanje - - -
Množenje * * *
Dijeljenje / / /
Cjelobrojno dijeljenje DIV DIV /
Ostatak cjelobrojnoga dijeljenja MOD MOD %
 
Operatori zbrajanja, oduzimanja i množenja se u pseudo jeziku koriste na uobičajen način.
Kod početnika zabunu mogu stvoriti tri različita operatora dijeljenja. Osim operatora dijeljenja (/) koji kao rezultat vraća vrijednost kvocijenta u obliku realnog broja tu su i operatori DIV i MOD.
 
Operator DIV vraća cjelobrojni dio dijeljenja dva cijela broja.
Operator MOD vraća cjelobrojni ostatak dijeljenja dva cijela broja.
 
Primjer uporabe operatora dijeljenja:
 
x := 5;
y := 2;
a := x/y;
b := x DIV y;
c := x MOD y;
Rezultat će biti:
a=2,5
b=2
c=1 (5:2=2 cijela i 1 ostatak)
 


Logički operatori

Logički podaci su podaci koji mogu poprimiti samo jednu od dvije moguće vrijednosti. To su na primjer true/false, da/ne, istina/laž, 1/0. Varijabla u koju se pohranjuju podaci ove vrste može poprimiti vrijednosti true (1) ili false (0). Za rad s logičkim podacima, postoje logičke funkcije. Logičke se funkcije zapisuju logičkim operatorima. Rezultat rada logičkih operatora je podatak logičkog tipa.

Opis
Pseudo jezik
Pascal
C/C+ +
Logički I
I
AND
&&
Logički ILI
ILI
OR
||
Logički NE
NE
NOT
!
 

Tablica stanja operatora

                I

Tablica stanja operatora

               ILI

Tablica stanja operatora

                NE

A B A I B
0 0 0
0 1 0
1 0 0
1 1 1
A B A ILI B
0 0 0
0 1 1
1 0 1
1 1 1
A NE A
0 1
1 0
Primjer uporabe logičkih operatora:
 

a:=0;

b:=1;

e:=(a I b);

f:=(a ILI b);

g:=(NE a);

Rezultati logičkih operacija će biti:
e=0
f=1
g=1.
 


Operatori uspoređivanja (relacijski operatori)

Dva se podatka mogu uspoređivati. Ako je napisani izraz istinit, rezultat usporedbe će biti 1 (true), a ako nije, rezultat će biti 0 (false). Uspoređuje se uporabom operatora usporedbe.

Opis Pseudo jezik Pascal C/C+ +

Manje

< < <

Manje ili jednako

<= <= <=
Veće > > >

Veće ili jednako

>= >= >=

Jednako

= = = =
Različito <> <> !=

Primjer uporabe operatora uspoređivanja:

a:=(5<13)

b:=(8<=8)

c:=(5=8)

d:=(5<>2+3)

Rezultati usporedbe će biti:

a=1

b=1

c=0

d=0.

Kod početnika zabunu može stvoriti operator jednakosti (=). Operator jednakosti NE pridružuje vrijednost varijabli već samo provjerava da li je vrijednost njegove lijeve i desne strane jednaka.

Npr. izraz x=3 se može čitati: "da li je vrijednost varijable x jednaka 3?". Tim izrazom se vrijednost varijable ne mijenja i ostaje kakva je bila i prije izraza. Operator jednakosti ne mijenja vrijednost varijable.

Operator pridruživanja (:=) mijenja vrijednost varijable. Npr.:

x:=5;

x:=3;

x=5;

a:=(x=5);

Rezultat na kraju će biti:

x=3

a=0.

 



Redoslijed izvršavanja operatora

Pri zapisivanju složenih izraza pseudo jezikom važno je imati na umu redoslijed izvršavanja operatora (prioritet).

Redoslijed izvršavanja

Operatori
1. ( )
2. NE
3. *    /    DIV    MOD    I
4. +    -    ILI
5. <,   <=,   >=,   <>,   =

1. Primjer redoslijeda izvršavanja operatora:

x := 22 DIV 5 * 11 MOD 3;

 

Svi su operatori ravnopravni, izraz se izvršava s lijeva u desno ovim redoslijedom:

1.     22 DIV 5 = 4

2.     4 * 11 = 44

3.     44 MOD 3 = 2 (ostatak dijeljenja 44/3)

4.     x=2

 

2. Primjer redoslijeda izvršavanja operatora:

 

x := (22 DIV 5) * (11 MOD 3);

 

Zagrade poništavaju prioritete operatora pa se izvršava ovim redoslijedom:

1.     22 DIV 5 = 4

2.     11 MOD 3= 2

3.    4 * 2 = 8

4.    x = 8

 

3. Primjer redoslijeda izvršavanja operatora:

 

x := 3*4+6/3–(55 MOD 6);

 

S obzirom na prioritete, operacije se izvršavaju ovim redoslijedom: 

1.     55 MOD 6 = 1

2.     3 * 4 = 12

3.     6 / 3= 2

4.     12 + 2 - 1 = 13

5.    x = 13

 

Funkcije

Izdvojeni nizovi naredbi koji čine logičke cjeline a obavljaju točno utvrđene zadatke nazivaju se funkcije. Moguće je stvoriti vlastite funkcije pa ih zatim rabiti u svom programu ili koristiti već postojeće i za uporabu pripremljene funkcije. U ovoj inačici pseudo jezika od učenika se očekuje poznavanje nekoliko pripremljenih matematičkih funkcija.

Opis

Pseudo jezik

Pascal

C/C+ +

Apsolutna vrijednost realnoga broja Abs(x) Abs(x) abs(x)
Drugi korijen realnoga broja Sqrt(x) Sqrt(x) sqrt(x)
Zaokruživanje realnoga broja na najbliži cijeli broj Round(x) Round(x) round(x)
Najveći cijeli broj manji ili jednak od x Trunc(x) Trunc(x) ceil(x)