Tp Predavanja 01

24
Tehnike programiranja Programski jezici. Uvod u programski jezik PASCAL. Osnovni tipovi podataka u PASCAL-u.

description

Tp predavanja

Transcript of Tp Predavanja 01

  • 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 2

    real Brojevi sa pokretnim zarezom sa 11 12 cifara, od 2.9*10-39 do 1.7*1038

    6

    char Bilo koji karakter iz ASCII tabele 1

    boolean Logiki tip sa dve vrednosti (true, false)

    1

  • Osnovni tipovi podataka u Javi [Izvor: http://javaprogramiranje.wordpress.com/2009/11/07/tipovi-

    podataka-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 Pascal

    Operator Java

    Opis

    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); 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