Pascal i programiranje

Download Report

Transcript Pascal i programiranje

Osnove Pascala

preuzeto sa sajta www.gimnazijazivinice.tk

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

Primjena Turbo Pascala

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 Paskal

Semantika jezika

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.

Paskal

Jezici za programiranje

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 Paskal

Definisanje jezika za programiranje

5  Jezici za programiranje daleko su jednostavniji od prirodnih    leksička struktura, sintaktička struktura i semantika jezika Paskal

LEKSIČKA STRUKTURA

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 Paskal

SINTAKTIČKA STRUKTURA

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

Skupovi

8    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

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

Tipovi podataka

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 Paskal

HIJERARHIJSKA STRUKTURA JEZIKA

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đen i niz tih operacija napisan u nekom jeziku naziva se program. 

program potprogram naredbe izrazi ___________?___________

? ? ?

podaci operacije funkcije

Paskal

Cjelobrojni tip

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

Realni tip

13   podskup realnih brojeva definisane su standardne operacije realne aritmetike:      sabiranje, oduzimanje, množenje, dijeljenje i potenciranje Paskal

Logički tip

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 Paskal

Slovni (znakovni) tip

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 Paskal

Imena

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 Paskal

Varijable i konstante

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 Paskal

Strukture podataka

18  “Primitivne" varijable - koje predstavljaju same sebe i dalje se ne dijele  Strukturirane varijable  Polje  Niz  Slog  Datoteka  i skup kao strukturirani tip podataka Paskal

Polje

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

Niz (string)

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 Paskal

Slog (record)

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.

Paskal

Datoteka (file)

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

Skup (set)

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

Izrazi

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 Paskal

Naredbe

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.

Paskal

Potprogrami

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 Paskal

PROGRAMI

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.

Paskal

Osnovna struktura Pascala

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 Paskal

rezervisane riječi

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 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 +4 2 =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 e x 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.