1 / 60

JU Gimnazija Živinice Informatika

JU Gimnazija Živinice Informatika. Pascal i programiranje. Pripremio: prof. Ilija Lučić dipl.ing.el. Pascal. Prva verzija jezika Pascal pojavila se 1968. godine Formalno je standardizirana tek 1983 Najpopularniji i najrasprostranjeniji je Turbo Pascal, trenutačno ver. 7.0, tvrtke BORLAND.

elita
Download Presentation

JU Gimnazija Živinice Informatika

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JU Gimnazija Živinice Informatika Pascal i programiranje Pripremio: prof. Ilija Lučić dipl.ing.el. Paskal i programiranje - Ilija Lučić

  2. Pascal • Prva verzija jezika Pascal pojavila se 1968. godine • Formalno je standardizirana tek 1983 • Najpopularniji i najrasprostranjeniji je Turbo Pascal, trenutačno ver. 7.0, tvrtke BORLAND www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  3. Namjena Pascala • Primarna je namjena Pascala u rješavanju problema • "algoritamske” prirode • strukturnoga programiranja • primjenom više tipova i struktura podataka www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  4. Osnovne karakteristike Pascala • Obavezno je deklariranje svih varijabli programa • Odredene ključne rijeci, na primjer BEGIN, IF, THEN, WHILE, "rezervirane" su i ne smiju se koristiti kao imena. • Standardni tipovi podataka su realni, cjelobrojni, logički i znakovni • Standardne strukture podataka su polja, slogovi, skupovi i datoteke • Procedure i funkcijski potprogrami mogu se pozivati rekurzivno www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  5. Osnovne karakteristike Pascala-proširenja za Turbo Pascal • Uvedena je standardna struktura niz znakova (string) s odgovarajucim funkcijama i procedurama • U dijelu deklaracija i definicija moguće je inicijalizirati vrijednosti varijabli • Uvedene su dvije naredbe, HALT i EXIT, za prekid izvršavanja programa i prijevremeni izlazak iz potprograma(time je u potpunosti istisnuta upotreba naredbe GOTO. ) • Mogućnost rada s objektima (kao u Vizual Basic-u ) www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  6. 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 www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  7. Osnove Pascala • 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. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  8. Matematičke osnove • Izučavanje Pascala i programiranja zahtijeva strog, formalan pristup. Također podrazumijeva solidno predznanje iz matematike, posebno matematičke logike i teorije skupova. Zbog toga ovo poglavlje sadrži kratak pregled teorije skupova i matematičke logike. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  9. Skupovi • Skup- kolekcija elemenata – npr. Skup dana u sedmici su slijedeći elementi: Ponedjeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja • Relacije • Funkcije www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  10. Matematička logika • Elementarni sud • = jednako<> različito< manje<= manje ili jednako> veće>= veće ili jednako • Na primjer, relacijski izraz (elementarni sud) "9 > 5" čitat ćemo "9 je veće od 5". • Svi elementarni sudovi moraju imati jedno i samo jedno svojstvo:"biti istinit" ili "biti lažan" www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  11. Matematička logika • Od elementarnih sudova moguće je, uz pomoć nekoliko logičkih operacija, graditi složene sudove. • Negacija, konjukcija, disjunkcija, implikacija • I složeni sud biti će istinit ili lažan • Ako su "a" i "b" sudovi, onda je a^b novi složeni sud ili konjunkcija sudova "a" i "b". • a b a ^ bF F FF T FT F FT T T • T-true • F-folse www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  12. Konjukcija • Operacija konjunkcije po smislu približno odgovara vezniku "i". Na primjer, elementarni sudovi "6 je djeljivo sa 3", "10 je veće od 5" istiniti su, pa je istinita i njihova konjunkcija "6 je djeljivo sa 3 i 10 je veće od 5". • Međutim, elementarni sudovi "3 je djeljivo sa 7" i "3 je veće od 7" lažni su, pa je lažan i složeni sud "3 je djeljivo sa 7 i 3 je veće od 7". www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  13. Disjunkcija označava se sa " ٧ " i čita "ili" • a b a ٧ bF F FF T TT F TT T T • U matematičkoj logici operacija disjunkcije odgovara neisključnom vezniku "ili". www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  14. Jezici za programiranje • Kompjuter može uraditi samo ono za što je netko dao instrukcije (program) - niz logičkih i aritmetičkih operacija napisanih u jeziku kompjutera. • Kompjuter takve instrukcije izvršava brzo i gotovo nepogrešivo, upravo onako kako su zadane. • Kompjuter može izvršiti samo mali broj veoma jednostavnih operacija • Oduzimanje, množenje i dijeljenje svodi se na operacije zbrajanja i pomicanja znamenki • Kompjuter "razumije" i može izvršiti samo instrukcije mašinskog jezika www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  15. Mašinski programski jezici • l) Prva generacija – mašinski jezici2) Druga generacija - simbolički (asemblerski) jezici3) Treća generacija - jezici za programiranje visokog nivoa4) Četvrta generacija – jezici četvrte generacije www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  16. Mašinski prog. jezik • Primjer, u nekom simbolickom jeziku može se napisati: -ADD X, Y Umjesto mašinske instrukcije: -00111 001110 010101 00111 – komanda za zbir X 001110 Y 010101 www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  17. Jezici za programiranje visokog nivoa • Ada, ALGOL 60 i 68, APL, BASIC, C, COBOL, FORTRAN, ICON, LISP, Modula-2, Pascal, PL/1, PROLOG, SNOBOL, itd • za učenje programiranja (LOGO, BASIC, Pascal) • za rješavanje znanstvenih problema - algoritamski algebarski jezici (ALGOL, APL, BASIC, FORTRAN, Pascal) • za obradu podataka (COBOL, PL/1) • za sistemske programe (Ada, C, Modula-2) • za sisteme umjetne inteligencije (LISP, PROLOG) • za obradu teksta (ICON, SNOBOL, TEX), itd www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  18. Jezici za programiranje visokog nivoa • Jezici za programiranje visokog nivoa podvrgnuti su standardima s propisanom sintaksom i semantikom, čime je u velikoj mjeri postignuta neovisnost o karakteristikama kompjutera i operacijskog sistema na kome su instalirani. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  19. Jezici cetvrte generacije • Karakteristika je tih jezika da su potpuno prilagođeni krajnjim korisnicima - neprogramerima u principu, a primjenjuju ih veoma uspješno i informatičari (programeri i analitičari sistema) radi ubrzanja procesa programiranja. • Proceduralni i neproceduralni jezici www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  20. Jezici četvrte generacije • Proceduralni jezik specificira kako će nešto biti izvršeno, a neproceduralni što ce biti izvršeno, ne ulazeci u detalje kako. • Mašinski jezik je proceduralan • Za druge se jezike može govoriti o postotku proceduralnosti ili neproceduralnosti • Jezici četvrte generacije su neproceduralni, ili su to u većem postotku. • Suvremeni jezici treće i četvrte generacije kombinacija su proceduralnih i neproceduralnih komponenti. To je, općenito, poželjno jer se neproceduralnim komponentama ubrzava programiranje i pojednostavljuje upotreba jezika, dok se proceduralnim komponentama proširuje obim primjena jezika u rješavanju problema www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  21. Definiranje jezika za programiranje • Jezici za programiranje daleko su jednostavniji od prirodnih • leksička struktura, sintaktička struktura i semantika jezika www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  22. LEKSIČKA STRUKTURA • Definirati leksičku strukturu nekog jezika znaci definirati alfabet i rječnik • Alfabet je skup svih znakova koji se koriste u pisanju • To su slova, znamenke, operacije, te drugi znakovi. • propisano je koje riječi treba tretirati kao imena, a koje kao operatore www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  23. SINTAKTIČKA STRUKTURA • Pravila koja odreduju da li niz simbola pripada jeziku ili ne, nazivaju se sintaksa jezika. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  24. HIJERARHIJSKA STRUKTURA JEZIKA • Jezik za programiranje može se definirati 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 • Odredeni niz tih operacija napisan u nekom jeziku naziva se program. • programpotprogramnaredbe izrazi___________?___________? ? ? podaci operacije funkcije www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  25. 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- Znakovni - Cjelobrojni tip • Tip podataka je skup vrijednosti koje imaju izvjesne zajedničke osobine. Najznačajnija od njih je skup operacija koje su definirane nad vrijednostima tog tipa. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  26. 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 memoriranje www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  27. Cjelobrojni tip • podskup je skupa cijelih brojeva • operacije cjelobrojne aritmetike: • zbrajanje, • oduzimanje, • množenje, • cjelobrojno dijeljenje i • potenciranje. Koliko velik cjelobrojni broj možemo napisati određeno je duljinom pridružene memorijske celije( 16 bitni procesori, 32bitni, 64bitni isl) www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  28. Realni tip • podskup realnih brojeva • definirane su standardne operacije realne aritmetike: • zbrajanje, • oduzimanje, • množenje, • dijeljenje i • potenciranje www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  29. Logicki tip • dvije logicke konstante: true (istina) i false (neistina, laž). • definirane su Booleove operacije: • negacija, • konjunkcija i disjunkcija, • a u nekim jezicima i implikacija i • još neke druge složene operacije www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  30. Znakovni tip • Skup vrijednosti znakovnoga tipa :skup svih znakova dopuštenih u jeziku za programiranje koji se nalaze na tastaturi (engleski alfabet) • Operacije nad znakovima: operacija nastavljanja a rezultat te operacije nije znak vec niz znakova www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  31. Imena • Ime je riječ koja se tvori prema pravilima leksičke strukture jezika • memorija kompjutera sastoji od ćelija koje mogu pamtiti vrijednost bilo kojega tipa • Ćelije su razlicite duljine, od jednog bajta do nekoliko memorijskih riječi, ovisno o tipu podataka. • Svaka ćelija ima ime koje je obično varijabla jezika za programiranje www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  32. Varijable i konstante Općenito, 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 www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  33. 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 www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  34. Polje • Polje (array) je kolekcija elemenata istog tipa (na primjer realnog ili znakovnog) 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) www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  35. 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 definirana samo operacija nastavljanja • je znakova poseban slucaj jednodimenzionalnog polja ciji su elementi znakovi • niz znakova predstavlja strukturu podataka znakovnog tipa www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  36. Slog (record) Struktura podataka koju čini uređena kolekcija općenito 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 znakovnog tipa za ime, prezime isl. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  37. Datoteka (file) • organizirana kolekcija zapisa, obicno pohranjena na sekundarnoj memoriji kompjutera • sekvencijalan (u nizu) • datoteke s direktnim pristupom zapisima • Zapis je podatak primitivnog ili strukturiranog tipa. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  38. Skup (set) • uredena kolekcija podataka istog primitivnog tipa • Na nivou jezika za programiranje promatra se kao nedjeljiva cjelina nad kojim su definirane skupovne operacije (unija, presjek i razlika). www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  39. Izrazi • Izrazi nisu naredbe vec sintakticke strukture koje, opcenito, sadrže operande (varijable, konstante i funkcije) i operacije • aritmeticke, • znakovne i • logicke izraze www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  40. 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. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  41. 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 www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  42. PROGRAMI • Najviša hijerarhijska struktura elemenata programa • Program sada možemo definirati kao niz naredbi, primitivnih i složenih, kojim se opisuje postupak ulaza, izračunavanja i izlaza podataka i rezultata izračunavanja. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  43. 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 učinak njezinog izvršenja na određenom kompjuteru. • N := 55 je dodjeljivanje vrijednosti (broja) 55 varijabli s imenom N • semantika naredbe Write (N) bit će ispis vrijednosti varijable N na monitoru. www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  44. 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 • rezervirane riječi • imena • standardna imena • brojevi • nizovi znakova • posebni simboli www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  45. Rezervirane rijeci LEKSIČKA PRAVILA : • Riječi se pišu kompaktno, bez razmaka. Jedino se u nizu znakova 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 www.gimnazijazivinice.tk Paskal i programiranje - Ilija Lučić

  46. 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.

  47. 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

  48. 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)

  49. 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)

  50. Program zdravomajstore (i,o); Begin Writeln(‘Zdravo kompjuteru!’); Writeln(‘Pozdravlja te grupa izborne nastave iz informatike’); Readln End. Paskal i programiranje - Ilija Lučić

More Related