350 likes | 562 Views
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
E N D
Osnove Pascalapreuzeto sa sajta www.gimnazijazivinice.tk • 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. Paskal
Primjena Turbo Pascala • 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 Paskal
Semantika jezika • 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. Uvod u programiranje Paskal
Jezici za programiranje • 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 Paskal
Definisanje jezika za programiranje • Jezici za programiranje daleko su jednostavniji od prirodnih • leksička struktura, • sintaktička struktura i • semantika jezika Paskal
LEKSIČKA STRUKTURA • 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 Paskal
SINTAKTIČKA STRUKTURA • Pravila koja odreduju da li niz simbola pripada jeziku ili ne, nazivaju se sintaksa jezika. Paskal
Skupovi • Skup- kolekcija elemenata – npr. Skup dana u sedmici su slijedeći elementi: Ponedjeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja • Relacije • Funkcije Paskal
TIPOVI I STRUKTURE PODATAKA • 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. Paskal
Tipovi podataka • 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 Paskal
HIJERARHIJSKA STRUKTURA JEZIKA • 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. • programpotprogramnaredbe izrazi___________?___________? ? ?podaci operacije funkcije Paskal
Cjelobrojni tip • 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) Paskal
Realni tip • podskup realnih brojeva • definisane su standardne operacije realne aritmetike: • sabiranje, • oduzimanje, • množenje, • dijeljenje i • potenciranje Paskal
Logički tip • 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 Paskal
Slovni (znakovni) tip • 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 Paskal
Imena • 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 Paskal
Varijable i konstante 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 Paskal
Strukture podataka • “Primitivne" varijable - koje predstavljaju same sebe i dalje se ne dijele • Strukturirane varijable • Polje • Niz • Slog • Datoteka • i skup kao strukturirani tip podataka Uvod u programiranje Paskal
Polje • 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) Uvod u programiranje Paskal
Niz (string) • 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 Uvod u programiranje Paskal
Slog (record) 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. Uvod u programiranje Paskal
Datoteka (file) • 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. Uvod u programiranje Paskal
Skup (set) • 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). Uvod u programiranje Paskal
Izrazi • 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 Uvod u programiranje Paskal
Naredbe • 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. Uvod u programiranje Paskal
Potprogrami • 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 Uvod u programiranje Paskal
PROGRAMI • 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. Uvod u programiranje Paskal
Osnovna struktura Pascala • 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 Uvod u programiranje Paskal
rezervisane riječi 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 Uvod u programiranje Paskal
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; begin writeln (‘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); Readln End. 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 broj DIV izraz za dijelnje cijelih brojeva za rezultat daje cijeli broj Npr. 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 =65 Cjelobrojne 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); Readln End. (nova vrijednost upisana u promjenljivu b briše predhodnu vrijednost koja je bila u njoj zapamćena)
Realni izrazi + sabiranje - Oduzimanje * Množenje / Dijeljenje Funkcije sa realnim varijablama Sqrt (x) - Kvadratni korijen od x Ln(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.