35
Osnove Pascala preuzeto sa sajta www.gimnazijazivinice.tk Paskal 1 Učenje Pascala i pisanje prvih programa zahtijeva dosta uvodnih razmatranja Dosta formalnih pravila i precizne terminologije Samouke programere i one koji godinama programiraju u jezicima za programiranje druge ili treće generacije, Pascal najčešce demotivira nekim svojim formalizmima. Programiranje-posebna, ne baš laka disciplina Ovladavanje Pascalom zahtijeva postupnost, temeljitost i strpljivost u radu Također podrazumijeva predznanje iz određenih područja matematike i strog, formalan pristup.

Osnove Pascala preuzeto sa sajta gimnazijazivinice.tk

  • Upload
    blue

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Osnove Pascala preuzeto sa sajta www.gimnazijazivinice.tk. Učenje Pascala i pisanje prvih programa zahtijeva dosta uvodnih razmatranja Dosta formalnih pravila i precizne terminologije - PowerPoint PPT Presentation

Citation preview

Page 1: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Osnove Pascalapreuzeto sa sajta www.gimnazijazivinice.tk

Paskal

1

Učenje Pascala i pisanje prvih programa zahtijeva dosta uvodnih razmatranja

Dosta formalnih pravila i precizne terminologije Samouke programere i one koji godinama programiraju u

jezicima za programiranje druge ili treće generacije, Pascal najčešce demotivira nekim svojim formalizmima.

Programiranje-posebna, ne baš laka disciplinaOvladavanje Pascalom zahtijeva postupnost, temeljitost i

strpljivost u radu Također podrazumijeva predznanje iz određenih područja

matematike i strog, formalan pristup.

Page 2: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Primjena Turbo Pascala

Paskal

2

Primjene u tehnici, ekonomiji, matematici, fizici, hemiji, društveno-humanističkim znanostima, itd;

izradu sistemskog softvera; izradu aplikativnog softvera (grafički paketi, baze

podataka, obrada teksta, upravljanje procesima, itd

Page 3: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Semantika jezika

Paskal

3

Kad se zna da je naredba sintaktički korektna postavlja se pitanje: Šta je njeno značenje?

Interpretativna semantika neke naredbe jezika za programiranje jest efekt njezinog izvršenja na određenom računaru. N := 55 je dodjeljivanje vrijednosti (broja) 55 varijabli s

imenom N semantika naredbe

Write (N)

biće ispis vrijednosti varijable N na monitoru.

Page 4: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Jezici za programiranje

Paskal

4

računar može uraditi samo ono za što je netko dao instrukcije (program) - niz logičkih i aritmetičkih operacija

računar takve instrukcije izvršava brzo i gotovo nepogrešivo, upravo onako kako su zadane.

računar može izvršiti samo mali broj veoma jednostavnih operacija

Oduzimanje, množenje i dijeljenje svodi se na operacije sabiranja i pomicanja cifri

računar "razumije" i može izvršiti samo instrukcije mašinskog jezika

Page 5: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Definisanje jezika za programiranje

Paskal

5

Jezici za programiranje daleko su jednostavniji od prirodnih

leksička struktura, sintaktička struktura i semantika jezika

Page 6: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

LEKSIČKA STRUKTURA

Paskal

6

definisati leksičku strukturu nekog jezika znači definisati alfabet i rječnik

Alfabet je skup svih znakova koji se koriste u pisanju

To su slova, cifre, operacije, te drugi znakovi.

propisano je koje riječi treba tretirati kao imena, a koje kao operatore

Page 7: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

SINTAKTIČKA STRUKTURA

Paskal

7

Pravila koja odreduju da li niz simbola pripada jeziku ili ne, nazivaju se sintaksa jezika.

Page 8: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Skupovi

Paskal

8

Skup- kolekcija elemenata – npr. Skup dana u sedmici su slijedeći elementi: Ponedjeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja

RelacijeFunkcije

Page 9: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

TIPOVI I STRUKTURE PODATAKA

Paskal

9

Podaci su na nivou mašinskog jezika predočeni od znakova binarnog alfabeta , npr. 011001101

U višim programskim jezicima nije isti tip podataka određen za sve vrste podataka zato se uvodi pojam tipa podataka:- Brojčani (cjelobrojni i realni)- Logički- slovnini- Cjelobrojni tip

Tip podataka je skup vrijednosti koje imaju izvjesne zajedničke osobine. Najznačajnija od njih je skup operacija koje su definisane nad vrijednostima tog tipa.

Page 10: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Tipovi podataka

Paskal

10

Jedan od osnovnih razloga za uvođenje tipova bio je omogućivanje kontrole korektnosti upotrebe vrijednosti različitog tipa i operacija s njima u izrazima programa.

različiti tipovi vrijednosti zahtijevaju različit broj ćelija za memorisanje

Page 11: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

HIJERARHIJSKA STRUKTURA JEZIKA

Paskal

11

Jezik za programiranje može se definisati kao notacijska tehnika (pismo) kojom se na kompaktan, nedvosmislen i konačan nacin specificira niz operacija koje ce biti izvršene nad nekim objektima - podacima

Određeni niz tih operacija napisan u nekom jeziku naziva se program.

program

potprogram

naredbe

izrazi

___________?___________? ? ?

podaci operacije funkcije

Page 12: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Cjelobrojni tip

Paskal

12

podskup je skupa cijelih brojeva operacije cjelobrojne aritmetike:

sabiranje, oduzimanje, množenje, cjelobrojno dijeljenje i potenciranje.

Koliko velik cjelobrojni broj možemo napisati određeno je dužinom pridružene memorijske celije( 16 bitni procesori, 32bitni, 64bitni isl)

Page 13: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Realni tip

Paskal

13

podskup realnih brojeva definisane su standardne operacije realne aritmetike:

sabiranje, oduzimanje, množenje, dijeljenje i potenciranje

Page 14: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Logički tip

Paskal

14

dvije logičke konstante: true (istina) i false (neistina, laž).

definisane su Booleove operacije: negacija, konjunkcija i disjunkcija, a u nekim jezicima i implikacija i još neke druge složene operacije

Page 15: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Slovni (znakovni) tip

Paskal

15

Skup vrijednosti slovnoga tipa : skup svih znakova –slova dopuštenih u jeziku za programiranje koji se nalaze na tastaturi (engleski alfabet)

Operacije nad znakovima: operacija nastavljanja a rezultat te operacije nije znak već niz znakova

Page 16: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Imena

Paskal

16

Ime je riječ koja se tvori prema pravilima leksičke strukture jezika

memorija računara sastoji se od ćelija koje mogu pamtiti vrijednost bilo kojega tipa

Ćelije su razlicite dužine, od jednog bajta do nekoliko memorijskih riječi, zavisno o tipu podataka.

Svaka ćelija ima ime koje je obično varijabla jezika za programiranje

Page 17: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Varijable i konstante

Paskal

17

Uopšte, podaci bilo kojega tipa mogu biti: varijable konstante U jezicima za programiranje pojam "varijable" koristi se za

nešto što postoji s vremenom i koje u svakom trenutku ima izvjesnu vrijednost kao u matematici x i y.

Tip varijable određuje iz kojeg će se skupa vrijednosti dodjeljivati (pridruživati) varijabli

Konstante imaju određene vrijednosti koje se ne mijenjaju tokom izvršavanja programa. Na primjer, -123 je cjelobrojna konstanta, a 0.505 realna

Page 18: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Strukture podataka

Paskal

18

“Primitivne" varijable - koje predstavljaju same sebe i dalje se ne dijele

Strukturirane varijable Polje Niz Slog Datoteka i skup kao strukturirani tip podataka

Page 19: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Polje

Paskal

19

Polje (array) je kolekcija elemenata istog tipa (na primjer realnog ili slovninog) objedinjenih u k-dimenzionalnoj strukturi A (i1, i2, ..., ik)

Jednodimenzionalno polje B(n) naziva se vektor { B(l), B(2), ..., B(n) },

dvodimenzionalno matrica C(m,n) C(1, 1) C(l,2) C(l,3) ... C(l,n)

C(2,l) C(2,2) C(2,3) ... C(2,n)... ... ... ... ...C(m,l) C(m,2) C(m,3) ... C(m,n)

Page 20: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Niz (string)

Paskal

20

kolekcija znakova koja se na razini jezika za programiranje tretira kao nedjeljiva cjelina

Zbog toga se niz znakova cesto promatra kao primitivni tip podataka, nad kojim je najce?ce definisana samo operacija nastavljanja

je znakova poseban slucaj jednodimenzionalnog polja ciji su elementi znakovi

niz znakova predstavlja strukturu podataka slovninog tipa

Page 21: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Slog (record)

Paskal

21

Struktura podataka koju čini uređena kolekcija uopšte razlicitih primitivnih ili strukturiranih tipova podataka

Nad komponentama sloga dopuštene su operacije suglasno njihovom tipu

Svaka komponenta sloga ima jedinstveno ime kojim se na nju upućuje.

Npr. Slog je dnevnik učenika sa poljima ime, prezime, adresa, matematika, fizika itd. Niz se ovdje koristi za polja koja su slovninog tipa za ime, prezime isl.

Page 22: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Datoteka (file)

Paskal

22

organizirana kolekcija zapisa, obicno pohranjena na sekundarnoj memoriji računara sekvencijalan (u nizu) datoteke s direktnim pristupom zapisima

Zapis je podatak primitivnog ili strukturiranog tipa.

Page 23: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Skup (set)

Paskal

23

uređena kolekcija podataka istog primitivnog tipa Na nivou jezika za programiranje promatra se kao nedjeljiva

cjelina nad kojim su definisane skupovne operacije (unija, presjek i razlika).

Page 24: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Izrazi

Paskal

24

Izrazi nisu naredbe već sintaksne strukture koje, uopšteno, sadrže operande (varijable, konstante i funkcije) i operacije aritmetičke, znakovne (slovne) i logičke izraze

Page 25: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Naredbe

Paskal

25

Elementarne akcije izračunavanja, dodjeljivanja i kontrole redoslijeda izračunavanja specificiraju se naredbama jezika za programiranje primitivne (jednostavne) strukturirane (složene) naredbe - Strukturirane naredbe su, na primjer,

naredbe WHILE i REPEAT petlje u Pascalu Ova podjela odraz je sintakse naredbi. Osim nje, ponekad se

naredbe, na temelju svoga značenja, dijele na: naredbe za izračunavanje naredbe za kontrolu toka izvršavanja deklarativne naredbe ulazno/izlazne naredbe, itd.

Page 26: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Potprogrami

Paskal

26

Potprogrami su također strukturirane naredbe koje sadrže grupu primitivnih i strukturiranih naredbi - cjeline po svojoj funkciji i operacijama koje obavljaju. procedure i funkcijske potprograme

Page 27: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

PROGRAMI

Paskal

27

Najviša hijerarhijska struktura elemenata programa

Program sada možemo definisati kao niz naredbi, primitivnih i složenih, kojim se opisuje postupak ulaza, izračunavanja i izlaza podataka i rezultata izračunavanja.

Page 28: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Osnovna struktura Pascala

Paskal

28

Leksička struktura velika i mala slova engl. alfabeta: A B ... Y Z a b ... y z brojke: 0 1 ... 8 9 posebni znakovi: + - * / = < > ( ) [ ] { } . : ; ' _ , ^ @ $ #

Alfabet Pascala: klase riječi rezervisane riječi imena standardna imena brojevi nizovi znakova posebni simboli

Page 29: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

rezervisane riječi

Paskal

29

LEKSIČKA PRAVILA :Riječi se pišu kompaktno, bez razmaka. Jedino se u

nizu znakova-slova razmak smatra dijelom riječi.

Značenje riječi koje sadrže velika slova ostaje nepromijenjeno ako se umjesto velikih slova napišu ista takva mala slova. Dakako, to ne vrijedi za nizove

Page 30: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Promjenljive i konstante

Koliku vrijednost ima neka promjenljiva neposredno nakon deklaracije?

Program Opasnagreska (i,o);Var broj : integer;

begin writeln (broj);

End.Program IspravnaVerzija (i,o);Var broj : integer;

begin broj:=5; {dodjeljivanje vrijednosti promjenljivoj broj}writeln (broj);

End.

Page 31: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Promjenljive i konstante

Program ObimKruga (i,o):

Const pi=3.14;{ovo je imenovana konstanta}Var o,r:real;

beginwriteln (‘unesite podatak za poluprečnik kruga’);

{ovo pod apostrofima u naredbi writeln je neimenovana konstanta}readln (r);o:=2*r*pi;Writeln (‘Obim kruga je: ‘, o:3:4);

ReadlnEnd.Pi=3.14

Page 32: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Cjelobrojni izrazi

+ sabiranje cijelih brojeva za rezultat daje cijeli broj- Oduzimanje cijelih brojeva za rezultat daje cijeli broj* Množenje cijelih brojeva za rezultat daje cijeli brojDIV izraz za dijelnje cijelih brojeva za rezultat daje cijeli brojNpr. 48 div 5 (rezultat ove operacije je 9)MOD izraz za računanje ostatka od dijeljenja cijelih brojeva

a za rezultat daje cijeli broj Npr. 48 mod 5 (rezultat ove operacije je 3)(5+2)*7 + sqr (4) (vrijednost ovog izraza je (5+2)x7 +42 =65Cjelobrojne funkcije Abs(x)Sqr(x)

Page 33: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Primjer izraza

Program primjerizraza (i,o);Var a,b,c: real;Begin

A:=5;B:=3;C:= (B+2)*2;B:=(C+3)/a;Writeln(a:2:3);Writeln(b:2);Writeln(c);

ReadlnEnd.

(nova vrijednost upisana u promjenljivu b briše predhodnu vrijednost koja je bila u njoj zapamćena)

Page 34: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Realni izrazi

+ sabiranje- Oduzimanje * Množenje / DijeljenjeFunkcije sa realnim varijablamaSqrt (x) - Kvadratni korijen od xLn(x) – prirodni logaritam od x (po bazi e=2,71828)Exp (x) – eksponencijalna funkcija ex

Sin (x) – sinus od x (x u radijanima)Cos (x) – cos od x (x u radijanima)Atan(x)- arcustangens od x (x u radijanima)

Page 35: Osnove Pascala preuzeto sa sajta      gimnazijazivinice.tk

Realni izrazi

Program realni izraz;

Var: x,y,z,i:ireal;

Begin

writeln(‘unesite vrijednosti za varijable’);

Readln(x);

Readln(y);

Readln(z);

i:=(x/y + z)/(x/y – z/(x+y) + 1);

Writeln (‘ispiši vrijednost za izračunatu varijablu i:’,i:3:2);

Readln

End.