osnove pascala preuzeto sa sajta gimnazijazivinice.tk
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 PresentationTRANSCRIPT
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.
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
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.
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
Definisanje jezika za programiranje
Paskal
5
Jezici za programiranje daleko su jednostavniji od prirodnih
leksička struktura, sintaktička struktura i semantika jezika
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
SINTAKTIČKA STRUKTURA
Paskal
7
Pravila koja odreduju da li niz simbola pripada jeziku ili ne, nazivaju se sintaksa jezika.
Skupovi
Paskal
8
Skup- kolekcija elemenata – npr. Skup dana u sedmici su slijedeći elementi: Ponedjeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja
RelacijeFunkcije
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.
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
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
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)
Realni tip
Paskal
13
podskup realnih brojeva definisane su standardne operacije realne aritmetike:
sabiranje, oduzimanje, množenje, dijeljenje i potenciranje
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
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
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
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
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
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)
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
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.
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.
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).
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
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.
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
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.
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
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
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.
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
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)
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)
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)
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.