Sei sulla pagina 1di 24

Tehnike programiranja

Programski jezici. Uvod u


programski jezik PASCAL.
Osnovni tipovi podataka u
PASCAL-u.

Programski jezici
Formalni jezik za opis postupaka reavanja
problema pomou raunara
Sintaksa (pravopis) i semantika (znaenje) su
osnovne dimanzije svakog programskog jezika
Izmeu oveka i raunara se nalazi interterfejs
Prevodilac (compiler), interpreter ili translator
omoguavaju da programski jezik postane
interfejs izmeu oveka i raunara.

Prevodilac, interpreter i translator


Prevodilac prevodi konstrukcije programskog jezika
na mainski jezik razumljiv raunaru.
Kompajlirane konstrukcije se mogu kasnije
izvravati bez prisustva programskog jezika
(Fortran, Cobol, Pascal, C).
Interpreter prevodi jednu po jednu konstrukciju na
mainski jezik, pri emu se prevedena konstrukcija
odmah i izvrava (Basic, Java). Potrebno je na
raunaru postoji interpreter tog jezika.
Translator prevodi konstrukcije jednog
programskog jezika na konstrukcije drugog
programskog jezika (n.p.r. Basic na Pascal)

Generacije programskih jezika


1GL Mainski kod, alfabet sainjavaju 0 i 1,
instrukcije su direktno izvrive od strane raunara.
2GL Simboliki asembleri, unapreenje 1GL,
akronimski nazivi umesto 0 i 1.
3GL Nezavisni od hardvera, komande na
engleskom, ukljuuju prevodioce i/ili interpretere.
Jezici Fortran, Cobol, Angol, Pascal, C
4GL Problemski orijentisani, apstraktni. Primer je
SQL (Structured Query Language), generatori
aplikacija...

1GL, 2GL i 3GL


[primeri sa sajta http://www.dspguide.com/ch4/5.htm]
Primer se odnosi na sabiranje brojeva 1234 i 4321

4GL
[primer sa sajta http://www.w3schools.com/sql/sql_where.asp]

PASCAL
Pascal je imperativni (program=algoritam+
podaci) programski jezik koga je napravio 1974
Niklaus Virt.
Ovaj jezik koji je dobio naziv po Blezu Paskalu je
pogodan za uenje struktuiranog programiranja.
Standardizovan je 1983 godine.

Primer Pitagorina teorema


Pascal

Java

program pitagorina_teorema;
var a,b:integer;
var c:real;
begin
a:=3;
b:=4;
c:=sqrt(sqr(a)+sqr(b));
write(c);
readln;
end.

package pitagorina_teorema;
import java.lang.System;
public class pitagorina_teorema {
public static void main(String[] args)
{
int a,b;
double c;
a=3;
b=4;
c = Math.sqrt(a*a+b*b);
System.out.println(c);
}
}

Struktura programa u paskalu


Pascal

Java

program ...
...
... } (deklaracije)
...
begin
...
... } (postupak)
...
end.

import ImePaketa;

public class ImeKlase {


public static void main(String[] args) {
// Ovde ide kod

}
}

Tipovi podataka
Svaki objekat u Paskalovom programu mora biti
nekog poznatog i unapred definisanog tipa.
Vezano za tipove podataka postoje tri pravila:

Tipom podataka se odreuje domen vrednosti


podatka. Vrednost podatka sme da bude samo neka
vrednost koja odgovara tipu podataka.
Svaki podatak je jednog i samo jednog tipa.
Operacije koje se vre nad podacima zavise od tipa tih
podataka. Na primer ne mogu se mnoiti dva
karaktera (slova).

Svrha ovih pravila je efikasno upravljanje


memorijom i izbegavanje besmislenih operacija

Osnovni tipovi podataka u Paskalu


Paskal ima 4 osnovna tipa podataka:

Celi brojevi (integer)


Realni brojevi (real)
Znakovi (char)
Logike vrednosti (boolean)

Postoje i sloeniji tipovi koji se zasnivaju na osnovnim


tipovima podataka
Java ima 8 tipova podataka svrstanih u 4 grupe:
Celi brojevi (byte, short, int i long)
Brojevi u pokretnom zarezu (float, double) namenjeni
realnim vrednostima
Znakovi (char)
Logike vrednosti (boolean)

Osnovni tipovi podataka u Paskalu


Naziv

Opis

Broj bajtova

integer

celi brojevi od -32768 do 32767

real

Brojevi sa pokretnim zarezom sa 11


12 cifara, od 2.9*10-39 do 1.7*1038

char

Bilo koji karakter iz ASCII tabele

boolean

Logiki tip sa dve vrednosti (true,


false)

Osnovni tipovi podataka u Javi


[Izvor: http://javaprogramiranje.wordpress.com/2009/11/07/tipovipodataka-promenjive-i-nizovi/]

Pascal - Integer (Celi brojevi)


Uzimaju vrednosti iz skupa celih brojeva. Tipovi
koju su dodati kasnije a vezani sa ovaj tip su:
word neoznaeni celi brojevi od 0 do 65535 (2
bajta)
shortint celi brojvi od -128 do 127 (1 bajt)
byte neoznaeni celi brojavi od 0 do 255 (1 bajt)
longint celi brojevi od -2147483648 do
2147483647 (4 bajta)
comp od -9.2*1018 do 9.2*1018 (8 bajtova)

Pascal - Real (Brojevi u pokretnom zarezu)


Uzimaju vrednost iz skupa racionalnih brojeva,
pri emu su vrednosti zapisane ili u
razlomljenom ili eksponencionalnom obliku.
Tipovi koju su dodati kasnije a vezani sa ovaj tip
su:
single preciznost od samo 7-8 cifara, od 1,5*10-45
do 3,4*1038 (4 bajtova)
double od 5.0*10-324 do 1.7*10308 (8 bajtova)
extended od 3.4*10-4932 do 1.7*104932 (10 bajtova)

Pascal - Char (karakteri)

Pascal - Boolean (logike vrednosti)


Uzimaju vrednosti iz Bulove algebre (true, false)
Najee se koriste u logikim izrazima

Primer Osnovni tipovi podataka


Pascal

Java

program OsnovniTipoviPodataka;
var ceo: integer;
var realan: real;
var slovo: char;
var logicki: boolean;
begin
ceo:=5;
realan:=5.5;
slovo:='a';
logicki:=true;
writeln('ISPIS VREDNOSTI OSNOVNIH
TIPOVA');
writeln(ceo);
writeln(realan);
writeln(slovo);
writeln(logicki);
readln;
end.

package osnovni_tipovi_podataka;
public class osnovni_tipovi_podataka {
public static void main(String[] args) {
int ceo;
double realan;
char slovo;
boolean logicki;
ceo=5;
realan=5.5;
slovo='a';
logicki=true;
System.out.println("ISPIS VREDNOSTI
OSNOVNIH TIPOVA");
System.out.println(ceo);
System.out.println(realan);
System.out.println(slovo);
System.out.println(logicki);
}
}

Operatori
U Pascal-u postoje razliti tipovi operatora:

Aritmetiki operatori
Relacioni operatori
Logiki operatori
Bit operatori
Skupovni operatori
String operatori

Artimetiki operatori
Operator
Pascal

Operator
Java

Opis

Sabiranje

Oduzimanje

Mnoenje

div

Deljenje

mod

Deljenje po modulu

Relacioni operatori
Operator
Pascal

Operator
Java

Opis

==

Jednako

<>

!=

Razliito

>

>

Vee

<

<

Manje

>=

>=

Vee ili jednako

=<

=<

Manje ili jednako

Logiki operatori
Operator Operator Opis
Pascal
Java
and

& ili &&

konjukcija, logiko i

or

| ili ||

diskjuncija, logiko ili

not

negacija, logiko ne

Prioritet operatora u Pascal-u


Operator

Prirotet

not

Najvii

*, /, div, mod, and, &


|, !, +, -, or,
=, <>, <, <=, >, >=

Najnii

Programsko testiranje operatora


Pascal

Java

program operatori;
var a,b:integer;
var c,d:boolean;
begin
a:=11; b:=4;
c:=false; d:=true;
writeln('a+b=',a+b);
writeln('a-b=',a-b);
writeln('a*b=',a*b);
writeln('a div b=',a div b);
writeln('a mod b=',a mod b);

package operatori;
public class Operatori {
public static void main(String[] args) {
int a,b;
boolean c,d;
a=11; b=4;
c=false; d=true;

writeln('a = b ',a = b);


writeln('a <> b ',a <> b);
writeln('a > b ',a > b);
writeln('a < b ',a < b);
writeln('a >= b ',a >= b);
writeln('a <= b ',a <= b);
writeln('c and d ',c and d);
writeln('c or d ',c or d);
writeln('not c ',not c);
readln;
end.

System.out.println("a+b="+(a+b));
System.out.println("a-b="+(a-b));
System.out.println("a*b="+(a*b));
System.out.println("a/b="+(a/b));
System.out.println("a%b="+(a%b));
System.out.println("a == b "+ (a == b));
System.out.println("a != b "+ (a != b));
System.out.println("a > b "+ (a > b));
System.out.println("a < b "+ (a < b));
System.out.println("a >= b "+ (a >= b));
System.out.println("a <= b "+ (a <= b));
System.out.println("c & d "+ (c & d));
System.out.println("c | d "+ (c | d));
System.out.println("!c "+ (!c));
}
}

Potrebbero piacerti anche