47
PROGRAMIRANJE RAČUNALNI JEZIK-jezik kojim se komunicira s računalom PROGRAMSKI JEZIK-podvrsta računalnih jezika, sastoji se od naredbi STROJNI JEZIK-najniži, izvorni jezik kojeg razumije računalo ASSEMBLER-mnemonički zapis strojnog jezika PREVODITELJ (COMPILER)- program koji prevodi naredbe jednog jezika u naredbe drugog INTERPRETER-program koji čita program napisan u jednom jeziku i „u letu“ ga pretvara u naredbe drugog jezika te ih pritom izvršava SUŠTINA PROGRAMIRANJA RAZVOJNI ALAT- kompletno okruženje u kojem se pišu programi i aplikacije npr. Turbo Pascal, Visual Studio, Borland Delphi... PROGRAMSKI JEZIK- sredstvo komuniciranja s računalom( u njemu pišemo programe)npr. BASIC, Pascal, C, Java, C# ... PRENOSIVOST- osobina da se program napisan u jednom jeziku može izvršavati na više različitih računalnih platformi (Windows, Unix...) JAVA- nije samo programski jezik već virtualno računalo koje omogućava Java programima da se izvršavaju u identičnoj okolini bez obzira o kojem se računalu radi; programi u Javi mogu se bez izmjena i bez potrebe za prevođenjem izvršavati na svim računalima i operacijskim sustavima za koje postoji Java radno okruženje VIZUALNO PROGRAMIRANJE-način programiranja u kojem programer razvija sučelje koristeći grafičke objekte, bez mnogo programiranja; najveći broj programa za OS Windows nastao je vizualnim programiranjem- većinom se koriste Microsoftovi razvojni alati (Visual Studio, Visual Studio .NET (čitaj:“dot net“)) PROGRAMIRANJE „U DUBINU“ ALGORITAM- postupak rješavanja određenog problema

Programiranje Skripta Pascal

Embed Size (px)

DESCRIPTION

informatika

Citation preview

Page 1: Programiranje Skripta Pascal

PROGRAMIRANJE

RAČUNALNI JEZIK-jezik kojim se komunicira s računalom

PROGRAMSKI JEZIK-podvrsta računalnih jezika, sastoji se od naredbi

STROJNI JEZIK-najniži, izvorni jezik kojeg razumije računalo

ASSEMBLER-mnemonički zapis strojnog jezika

PREVODITELJ (COMPILER)- program koji prevodi naredbe jednog jezika u naredbe drugog

INTERPRETER-program koji čita program napisan u jednom jeziku i „u letu“ ga pretvara u naredbe drugog jezika te ih pritom izvršava

SUŠTINA PROGRAMIRANJA

RAZVOJNI ALAT- kompletno okruženje u kojem se pišu programi i aplikacije npr. Turbo Pascal, Visual Studio, Borland Delphi...

PROGRAMSKI JEZIK- sredstvo komuniciranja s računalom( u njemu pišemo programe)npr. BASIC, Pascal, C, Java, C# ...

PRENOSIVOST- osobina da se program napisan u jednom jeziku može izvršavati na više različitih računalnih platformi (Windows, Unix...)

JAVA- nije samo programski jezik već virtualno računalo koje omogućava Java programima da se izvršavaju u identičnoj okolini bez obzira o kojem se računalu radi; programi u Javi mogu se bez izmjena i bez potrebe za prevođenjem izvršavati na svim računalima i operacijskim sustavima za koje postoji Java radno okruženje

VIZUALNO PROGRAMIRANJE-način programiranja u kojem programer razvija sučelje koristeći grafičke objekte, bez mnogo programiranja; najveći broj programa za OS Windows nastao je vizualnim programiranjem- većinom se koriste Microsoftovi razvojni alati (Visual Studio, Visual Studio .NET (čitaj:“dot net“))

PROGRAMIRANJE „U DUBINU“

ALGORITAM- postupak rješavanja određenog problema

DIJAGRAM TIJEKA- grafički način prikaza algoritama

PSEUDOKOD- tekstualni način prikaza algoritama, nevezan za programski jezik

Page 2: Programiranje Skripta Pascal

DIJAGRAM TIJEKA (DIJAGRAM TOKA, BLOK DIJAGRAM)-

grafički simboli za prikaz algoritama

ULAZ/IZLAZ

PRIDRUŽIVANJE VRIJEDNOSTI

UČITAVANJE I ISPISIVANJE PODATAKA

GRANANJE

POČETAK

KRAJ

PROGRAM

END

NEDA

Page 3: Programiranje Skripta Pascal

Pr. 1 . Program učitava brojeve A i B, te ispisuje zbroj C.

POČETAK

A

B

C

C=A+B

KRAJ

Page 4: Programiranje Skripta Pascal

Pr. 2. Program koji će osobi starijoj od 13 godina pokrenuti igru, dok će mlađima vratiti poruku „Premladi ste“. Broj godina osoba unosi sama.

POČETAK

brojgodina

„Premladi ste“ Pokreni igru

NE DABrojgodina>13

KRAJ

Page 5: Programiranje Skripta Pascal

Pr. 3. Zadati konstantu π (π=3.14159), učitati radius r, te izračunati opseg (O) i površinu (P) kruga.

POČETAK

r

O, P

O=2 r π

KRAJ

π=3.14159

P=r2π

Page 6: Programiranje Skripta Pascal

Slično – uz provjeru da li je r>0

Zadaci...1. Nacrtaj blok dijagram koji će učitavati stranicu kvadrata A te ispisivati opseg i

površinu kvadrata.2. Nacrtaj blok dijagram koji će kao ulaz koristiti vrijednosti osnovica ( A i C)

jednakokračnog trapeza te visinu jednakokračnog trapeza, a ispisivati će opseg i površinu trapeza.

POČETAK

r

O, P

O=2 r π

KRAJ

π=3.14159

P=r2π

NE

DA

r>0

Page 7: Programiranje Skripta Pascal

3. Nacrataj blok dijagram koji će za zadani broj godina ispisivati: ukoliko je broj godina manji od 18 – ispisuje se „Igri možete pristupiti tek sa navršenih 18 godina“, a u suprotnom ispisuje tekst: „Pokreni igru“.

4. Nacrataj dijagram tijeka podataka koji će učitati tri broja (A, B, C) te ispisati najveći.5. Nacrtaj dijagram tijeka podataka koji će učitati tri broja te ih ispisati u rastućem

redoslijedu.6. Nacrtaj dijagram tijeka podataka koji će učitati dva prirodna broja , a iapisati će

najveći zajednički djelitelj učitanih brojeva.

Page 8: Programiranje Skripta Pascal

Rješenje:4.

POČETAK

max:=A

max

max:=B

KRAJ

A, B, C

NE DAB>max

NE DAC>max

max:=C

Page 9: Programiranje Skripta Pascal

6.

POČETAK

b

a = a - b

KRAJ

a, b

Zamijeni (a,b)

NE

DA

a>0

DA

NEa<b

Page 10: Programiranje Skripta Pascal

POSTUPCI PROGRAMIRANJA

Programiranje možemo definirati kao prilagođavanje problema rješavanju na

elektroničkom računalu. Kodiranje je samo jedna faza programiranja, a prije kodiranja treba

dobro definirati problem, skicirati rješenje i sastaviti algoritam. Ako je pripremni dio

dobro napravljen kodiranje bi trebalo biti brzo i jednostavno. Nakon kodiranja treba rješiti još

neke probleme: otklanjanje grešaka, sređivanje dokumentacije i održavanje programa.

(Dokumentacija je posebno važna kod većih projekata na kojima radi više ljudi, ali i nužna

čak i kad samo jedna osoba radi na projektu (možda će kasnije druga osoba razvijati ili

održavati program).

Faze programiranja:

Analiza problema: na početku treba znati što želimo raditi, koje ulazne podatke koristimo i

koje izlazne podatke trebamo dobiti.

Planiranje: dokumentirati što je sve potrebno da bi se projekt izveo do kraja (broj ljudi,

vrijeme, resursi i dr.); skiciranje rješenja i izabir najpovoljnijeg rješenja, programskog jezika i

sl.

Kodiranje: Kodiranje je zapisivanje algoritama u izabranom programskom jeziku. Kod treba

pisati čitko i jasno, sa što manje kompliciranih zahvata.

Ispravljanje pogrešaka: može biti najteža faza; sintaksne pogreške pronalaze i ispravljaju

razni pomoćni alati; logičke pogreške nastaju zbog krivog algoritma ili zbog pogreške u

pisanju programa-otkrivamo ih prikladno odabranim ulaznim podacima za koje unaprijed

znamo rezultate.

Dokumentacija: izrada dokumentacije kontinuiran je posao koji počinje sa zadavanjem

problema, a nastavlje se pisanjem algoritama i programa. Na kraju je nužno sređivanje

cjelokupne dokumentacije, jer nakon određenog vremena kod postaje nerazumljiv i samom

autoru.

Održavanje: nakon što je napravljen, program treba održavati, dotjerivati i prilagođavati

novim zahtjevima. Održavanje je mnogo lakše ukoliko je dokumentacija potpuna i razumljiva.

Page 11: Programiranje Skripta Pascal

OSNOVNI ALGORITAMSKI POSTUPCI

OSNOVNI ALGORITAMSKI POSTUPCI

Osnovne algoritamske strukture su: SLIJED(SEKVENCA), GRANANJE (SELEKCIJA) i PONAVLJANJE (ITERACIJE).Slijed – naredbe se izvršavaju redom kojim su napisane

Pr 1.

S1

S2

Sn

BEGINS1;S2;...Sn

END

A

B

C

C=A+B

KRAJ

Page 12: Programiranje Skripta Pascal

Grananje- razdvajanje izvršavanja koda na dvije ili više različitih putanja

Višestruko grananje

B

S

B

S S1

TRUE

FALS

FALS

TRUE

AKO JE B TADA S

IF B THEN S

AKO JE B TADA S INAČE S1

IF B THEN SELSE S1

L1

CASE E OFL1:S1;L2:S2;...Ln:Sn;

END

LnL2. . .

Page 13: Programiranje Skripta Pascal

Pr 2. Da li korisnik želli preko interneta registrirati kupljeni program

ODGOVOR

„Molimo Vas da idući put registrirate program“

„Hvala na registraciji“

NEDA

ODGOVOR

KRAJ

POČETAK

Registriraj program

Page 14: Programiranje Skripta Pascal

Ponavljanje- jedan dio koda izvršava se više puta; naziva se još i petlja, a u programskim jezicima realizira se na različite načine (for, while, repeat)

Provjera uvjeta na početku petlje

Provjera uvjeta na kraju petlje

Kontrola petlje odbrojavanjem

B

S

FALS

TRUE

DOK JE B RADI S

WHILE B DO S

B

S

FALS

TRUE

PONAVLJAJ S DOK NIJE B

REPEAT S UNTIL B

S

ZA v:=x DO y RADI S

FOR v:=x TO y DO S

v:=x, y

Page 15: Programiranje Skripta Pascal

Pr. 3. Zbroj prvih N prirodnih brojeva, s tim da N unosi korisnik

POČETAK

r

Zbroj

Zbroj=Zbroj+BrojacBrojac=Brojac+1

KRAJ

N

NE

DA

Brojac<=N

Brojac=1Zbroj=0

Page 16: Programiranje Skripta Pascal

PROGRAMSKI JEZIK PASCAL

ELEMENTI PASCALA

Osnovni znakovi programskog jezika su SLOVA, ZNAMENKE I POSEBNI ZNAKOVI (keywords-ključne riječi, reserved words). Ključne riječi unaprijed imaju definirano značenje i ne smiju se upotrebljavati u druge svrhe.Slova: velika i mala slova latinske abecedeZnamenke:0 1 2 3 4 5 6 7 8 9 Posebni znakovi: + - * / . , : ; ' ( ) [ ] { } ^ = < > >= <= <> := .. (* *)Ključne riječi: AND ARRAY BEGIN CASE CONST DIV DODOWNTO ELSE END FILE FOR FUNCTION GOTOIF IN LABEL MOD NIL NOT OFOR PACKED PROCEDURE PROGRAM RECORD REPEAT SETTHEN TO TYPE UNTIL VAR WHILE WITH

Komentar pišemo tako da u vitičastim zagradama (npr. {komentar}) navedemo proizvoljan tekst (taj tekst ne utječe na izvršavanje programa). Umjesto vitičastih zagrada možemo staviti i znakove (* i *)( pr. (*komentar*) ).Pr.

1. { program zbraja dve upisana broja}2. (* program računa maksimalni od tri zadana broja*)

Ime je niz alfanumeričkih znakova. Imenom označavamo program, funkciju, tip, proceduru, varijablu i konstantu. Prvi znak uvijek mora biti slovo. Broj znakova u imenu nije određen, ali se samo prvih osam znakova uzima u obzir. Prema tome dva su imena različita ako se razlikuju bar u jednom od prvih osam znakova. Ime mora biti različito od ključne riječi i jedinstveno. Pascal dopušta velika i mala slova, ali ih ne razlikuje.

Pr.brojdvapidva_pix2novoimekonst

U Pascalu su definirana i standardna imena čije je značenje unaprijed određeno, ali se može predefinirati u programu.

BrojKoristimo cijele (integer) i realne (real) brojeve zapisane u dekadskom brojevnom sustavu. Broj može imati predznak + ili -. Predznak + se ne mora pisati. Cijeli broj se zapisuje kao niz znamenki i ne smije sadržavati decimalnu točku niti eksponent.

Nepravilno zadana imena:

b r o j → zbog razmaka u imenu2pi→prvi znak je brojx – 2 → u imenu se nalazi „-„, a to je posebni znaknovo ime → razmak u imenuconst→ ključna riječ

Page 17: Programiranje Skripta Pascal

Realni brojevi sadrže decimalnu točku. Ispred i iza decimalne točke mora biti bar jedna znamenka. Realni se broj može pisati i sa decimalnim eksponentom (2.0E5). Ispred slova E mora biti realni ili cijeli broj, a iza obavezno cijeli broj.

Pr. Cijeli brojevi

0 007 +985 1234 -10 -015

Realni brojevi

0.0 -1E7 +1.0 3.14159 2.5E-5 3.5E+12

String je niz znakova u jednostrukim navodnicima. (Ukoliko je potrebno napisati navodnik unutar stringa to se piše kao dva navodnika).

Pr.' ''P a s c a l''12589''Al'' je lijep ovaj svijet'

Oznaka naredbe je niz od jedne do najviše četiri znamenke (cijeli broj od 0 do 9999).

Konstanta je zadana nepromjenjiva vrijednost ili podatak. Ona može biti numerička, logička ili tekstualna. U Pascalu su definirane neke standardne konstante:

maxint najveći cijeli brojtrue istinafalse laž

Pr. Konst=2375 Konst='END'

Nepravilno napisani brojevi:

Cijeli brojevi : 0.0 cijeli brojevi ne mogu imati decimalnu točku1234. cijeli brojevi ne mogu imati decimalnu točku1 1 c.b. ne mogu imati razmak1E5 eksponentMXCV rimski zapis

Realni brojevi : 0 cijeli broj1. nedostaje znamenka iza točke2.5E3.0 eksponent mora biti cijeli broj2.5*E-5 znak * nije dopušten1.E5 nedostaje znamenka iza točke7 E5 razmak nije dopušten

Page 18: Programiranje Skripta Pascal

Konst=+23 Konst=maxintKonst=0.5E-5 Konst=true

Zadaci: 1. Koja su imena ispravna:

a) realb) endc) početakd) stope) characterf) dog) 2pih) +predznaki) pascalj) f(x)k) dftg

2. Koji su brojevi krivo zapisani realni brojevi u Pascalu?a) 0015.0200b) .25c) 5.7E5.0d) 1.e) 0f) 33E-12g) 3.E3

3. Sljedeće brojeve zapišite u eksponencijalnom obliku:a) 384400000b) 6378160c) 40070368d) 0,005e) 0,000000056696

4. Nađite i obrazložite greške u definiciji konstanti:CONST kraj='end',dobar:false; -

broj:=123; -pi='3.14159'; +broj=100; +kut=2pi; - (*)za=FOR; -

Page 19: Programiranje Skripta Pascal

STRUKTURA PROGRAMA-

Zaglavlje- ključna riječ je PROGRAM i ime programaBlok- opis podataka i svih akcija

- deklaracija oznaka- deklaracija konstanti- definicija tipoa- deklaracija varijabli- deklaracija funkcija- deklaracija procedura

naredbe - ovaj odjeljak mora postojati u svakom bloku; naredbe opisuju akcije koje će se izvršavaju; nalaze se IZMEĐU klučnih riječi BEGIN i END, a međusobno ih odvajamo znakom točkazarez (;)

VRSTE NAREDBI-MATEMATIČKA LOGIKA-

Početak i kraj programa, komentar

- u Pascalu su za to rezervirane dvije riječi: begin i end - komentar se u Pascalu piše u vitičastim zagradama

Pridruživanje vrijednosti varijablama

- u dijagramu tijeka pridruživanje se označava pravokutnikom- u Pascalu operator pridruživanja je ˝:= ˝

Učitavanje i ispisivanje podataka

- unos i ispis podataka u dijagramu tijeka označavaju se trapezima ili paralelogramima- u Pascalu za to upotrebljavamo naredbu WRITELN, READLN

begin{ ovo je kometar }

end.

vara: integer;

begina:=10;

end.

varime: string;

beginwriteln('Unesite ime: ');readln(ime);writeln('Vaše ime je ', ime);

end.

Page 20: Programiranje Skripta Pascal

Operacije

- ponekad želimo veći dio koda obuhvatiti unutar jedne operacije- tako nastaju funkcije i procedure; razlika je u tome što funkcije vraćaju povratnu vrijednost, dok procedure ne vraćaju nikakvu vrijednost

- operacije, funkcije i procedure u dijagramu tijeka prikazuju se istim elementom pridruživanja: PRAVOKUTNIKOM

Primjeri:

program Hello; begin   Write('Hello world');   Readln;end.

program Hello_1; begin   Writeln('Hello');   Write('world');   Readln;end.

program Hello_2; uses   crt; begin   ClrScr;   Write('Hello world');   Readln;end.

procedure IspisiIme (ime:string)begin

writeln(ime);end;begin

IspisiIme('Ivan');end.

Page 21: Programiranje Skripta Pascal

{Ovaj program će očistiti monitor te ispisati "Hello world" , a zatim čekati da korisnik odabere tipku Enter.} program Hello_3; uses   crt; begin

   ClrScr;{čisti ekran}   Write('Hello world');{ispisuje "Hello world"}   Readln;{čeka da korisnik pritisne tipku enter}end.

Mijenjanje boje postižemo naredbom TextColor.

program Colors; uses   crt; begin   TextColor(Red);   Writeln('Hello');   TextColor(White);   Writeln('world');end.

Naredba TextBackground mijenja boju pozadine teksta. Ukoliko želiš promijeniti boju cijelom ekranu moraš upotrijebiti naredbu ClrScr.

program Colors_1; uses   crt; begin   TextBackground(Red);   Writeln('Hello');   TextColor(White);   ClrScr;end.

Page 22: Programiranje Skripta Pascal

{Ovaj program će očistiti monitor, ispisati zadane podatke , a zatim čekati da korisnik odabere tipku Enter.} program ispis; uses crt; (*ispis teksta*) begin ClrScr; write('Programski jezik'); writeln('Pascal'); writeln; writeln('Niklaus Wirth-1971.'); readln;

end.

Page 23: Programiranje Skripta Pascal

- TIPOVI PODATAKA

1. JEDNOSTAVNIa) Standardni

- cjelobrojni (integer)- realni (real)- znakovni (char)- logički (Boolean)

b) Korisnički- pobrojani (enumerated)- intervalni (subrange)

2. SLOŽENIa) skup (SET)b) niz (ARRAY)c) zapis (RECORD)d) datoteka (FILE)

3. POKAZIVAČI

Page 24: Programiranje Skripta Pascal

Cjelobrojni tip (integer)

- najveći je određen konstantom maxint- najmanji je određen konstantom minint

U Turbo Pascalu i Free Pascalu postoje još i ovi tipovi podataka:Tip podataka Broj bitova OpsegByte 8 0-255Shortint 8 -128 - 127Integer 16 -32768 - 32767Word 16 0 - 65535Logint 32 -2147483648 - 2147483647

Na cjelobrojnom tipu podataka definirani su sljedeći standardni operatori:+ zbrajanje- oduzimanje* množenjediv cjelobrojno dijeljenje (17 div 8=2)mod ostatak cjelobrojnog dijeljenja (17 mod 8=1)

Na cjelobrojnom tipu podataka definirani su sljedeće standardne funkcije:

abs(i) apsolutna vrijednost abs(-15)=15sqr(i) kvadrat sqr(6)=36succ(i) sljedbenik succ(6)=7pred(i) prethodnik pred(6)=5trunc(i) cijeli dio realnog broja trunc(3.25)=3round(i) zaokružuje x na najbliži cijeli broj round(3.5)=4

-ovise od konkretne realizacije na računalu:- ako se broj prikazuje sa 16 bitova : maxint=32767minint=-32768

div, mod i * imaju viši prioritet od + i -

Page 25: Programiranje Skripta Pascal

Realni tip (real)

- konačni podskup skupa realnih brojeva

Na realnom tipu podataka definirani su sljedeći standardni operatori:+ zbrajanje- oduzimanje* množenje/ dijeljenje

Na realnom tipu podataka definirani su sljedeće standardne funkcije:

abs(x) apsolutna vrijednostsqr(x) kvadratsin(x), cos(x) trigonometrijske funkcijearctan(x) arkustangensexp(x) eksponencijalna funkcija ex

ln(x) prirodni logaritamsqrt(x) drugi korijenint(x) daje cijeli dio broja xU Turbo Pascalu zadana je funkcija pi. Npr. sqrt(pi)=1.7724538509E+00

U Turbo Pascalu i Free pascalu postoje još i ovi tipovi podataka:Tip podataka Broj bitova Broj dec. znamenki OpsegReal 6 10-12 2.9E-36 do 1.7E38Single 4 7-8 1.5E-45 do 3.4E38Double 8 15-16 5.0E-324 do 1.7E308Extended 10 19-20 3.4E-4932 do 1.1E4932

Comp 8 19-20 -9.2E18 do 9.2E18

Page 26: Programiranje Skripta Pascal

Znakovni tip (char)

- standardno redni tip podataka- linearno uređen konačni skup znakova (ovisi o realizaciji na računalu)- svakom znaku pridružen je redni broj koji se zapisuje u memoriji računala- znakovnom tipu pripada i praznina- zapisuje se u jednostrukim navodnicima (npr. '8' , '*' )

Opći oblik deklaracije:

var a:char;

Na znakovnom tipu podataka definirani su sljedeće standardne funkcije:

ord(c) redni broj znaka c (npr. ord('A')=65 )chr(n) znak čiji je redni broj n (npr. chr(65)='A' )

- mogu se upotrijebiti i operacije uspoređivanja (npr. 'A'<'M')- definirane su i funkcije

succ(c) sljedbenik succ('c')='d'pred(c) prethodnik pred('c')='b'

Međusobno inverzne funkcije

Page 27: Programiranje Skripta Pascal

Logički tip (boolean)

- standardni redni tip sa dva elementa: istina (true) i laž (false)- false i true su standardna imena

Opći oblik deklaracije:

var a:boolean;

Nad logičkim tipom podataka definirani su sljedeći standardni operatori:

NOT negacija (NE)AND konjukcija (I)OR disjunkcija (ILI)

Relacijski operatori (=,<,>,<=,>=,<>) daju rezultate logičkog tipa.

Standardne funkcije koje daju vrijednosti logičkog tipa su:

odd(x) ako je x neparan, daje vrijednost true, inače je falseeof(d) ako je kraj datoteke, daje vrijednost trueeoln(d) ako je kraj linije datoteke, daje vrijednost true

Page 28: Programiranje Skripta Pascal

Nestandardni jednostavni tipovi podataka

type a: podrucje_vrijednosti; (podrucje vrijednosti je prije toga zadano)

type dani=(pon,uto,sri,cet, pet,sub,ned); boje=(crna,bijela,crvena, zelena, plava); spol=(zensko, musko); logicki=(laz,istina);

Standardne funkcije su:

ord(x) redni broj elementa x (redni broj prvog je 0)succ(x) sljedbenikpred(x) prethodnik

Relacijski operatori (=,<,>,<=,>=,<>) definirani su preko rednog broja elemenata.

Ako u programu želimo ograničiti područje vrijednosti varijable, tada definiramo tip podataka koji se naziva intervalni. Na njemu su definirane iste operacije i funkcije kao i na pobrojanom tipu.

type dani=1 . . 30; slova='A' . . 'Z';var a: dani; b: slova;

Ovako definirani tip podataka naziva se pobrojani.Varijablama pobrojanog tipa ne možemo se služiti u naredbama read i write.

Page 29: Programiranje Skripta Pascal

Primjer1:Napišite program koji će od zadana tri broja ispisati najveći:

program maksimum;var a,b,c,max:integer;begin writeln('Zadaj tri broja:'); readln(a,b,c); max:=a; if b>max then max:=b; if c>max then max:=c; writeln('Najveći je:',max); readln;end.

program maksimum;uses crt;var a,b,c,max:integer;begin ClrScr; writeln('Zadaj tri broja:'); readln(a,b,c); max:=a; if b>max then max:=b; if c>max then max:=c; writeln('Najveći je:',max); readln;end.

Primjer2:Napisati program koji će izračunavati sumu prvih n prirodnih brojeva. Za sumu

koristiti formulu: (suma:=n*(n+1)DIV2 )

program suma_brojeva;uses crt;(*suma prirodnih brojeva*)type prirodni=1..maxint;var n,suma:prirodni;begin ClrScr; write('Unesi broj do kojeg želiš izračunati zbroj:'); readln(n); suma:=n*(n+1)div 2; writeln('Suma do ' ,n, 'je ',suma); readln;end.

Uključena funkcija čišćenja ekrana

Page 30: Programiranje Skripta Pascal

OPERATORI I IZRAZI

Kombinacijom varijabli, konstanti i operatora nastaju izrazi.Osnovni elementi izraza su faktori.

Faktor može biti:- Konstanta bez predznaka- Varijabla- Poziv funkcije- Izrazi u zagradama

Izrazi su riječi ili simboli koji određuju da se s varijablama u programu nešto učini.

VARIJABLA- objekt čija se vrijednost mijenja tijekom rada programa. - ime varijable je stalno- varijable omogućavaju definiranje postupaka na različitim podacima- svaka varijabla mora biti deklarirana (deklaracijom se određuje samo tip vrijednosti,

ne i početna vrijednost)- na temelju tipa svakoj se varijabli pridružuje određeni memorijski prostor

Pr.VAR i,j,k :integer;

broj : 1..99;x,y,sum :real;dobar :boolean;dan : (po,ut,sr,ce,pe,su,ne);

OPERATOR PRIDRUŽIVANJA

Simbol „:=“

Primjer:a:=a*3;a:=b+2;

ARITMETIČKI OPERATORI

+ zbrajanje- oduzimanje* množenje/ dijeljenjediv cjelobrojno dijeljenjemod ostatak pri cjelobrojnom dijeljenju

-ako je u izrazu više operatora, redoslijed izvršavanja ovisi o prioritetu operatora

Page 31: Programiranje Skripta Pascal

Uz operatore mogu se koristiti i matematičke funkcije:

abs(x) apsolutna vrijednost broja xsqrt(x) drugi korijen broja xsqr(x) x na kvadratsin(x) sin xcos(x) cos(x)arctan(x) arkus takgens od xexp(x) e na xln(x) lnxinc(x) povećava vrijednost cjelobrojne varijable za 1dec(x) smanjuje vrijednost cjelobrojne varijable x za 1

Primjer:

f:=(3*x+2*y)/(4*z);

f:=a+(2*b-c)/(d*d);

RELACIJSKI I LOGIČKI OPERATORI

- njima se utvrđuje povezanost dviju varijabli, funkcija ili izraza.

Relacijski operatori:<, <=, =, >, >=, <>

Logički operatori:NOT, AND, OR

Page 32: Programiranje Skripta Pascal

Zadatak : Napiši program koji će računati aritmetičku sredinu tri upisana broja.

program aritmeticka_sredina;uses crt;(*aritmetička sredina tri učitana broja*)

var a,b,c,S:real;begin ClrScr; writeln('Unesi tri broja za koje želiš izračunati aritmetičku sredinu'); readln(a,b,c); S:=(a+b+c)/3; writeln('Aritmetička sredina brojeva ',a,' ',b,' ',c,' je: ' ,S); readln;end.

Zadatak : Napiši program koji će računati geometrijsku sredinu tri upisana broja.Geometrijska sredina brojeva a i b zadana je formulom: .

Zadatak : Napiši program koji će računati opseg kružnice za zadani radius r.

program opseg_kruznice;uses crt;(*računanje opsega kružnice za zadani r*)

var r,o:real;begin ClrScr; writeln('Unesi radius'); readln(r); o:=2*r*Pi; writeln('Opseg je ',o); readln;end.

Zadatak : Napiši program koji će računati opseg i površinu pravokutnika, te duljinu dijagonale pravokutnika. Kao ulazne podatke unijeti stranice pravokutnika a i b.

Page 33: Programiranje Skripta Pascal

Zadatak : Napiši program koji će učitavati prirodni broj n te ispisivati njegov kvadrat i korijen.

program ispis;uses crt;(*čita prirodni broj te ispisuje njegov kvadrat i korijen*)

var n:1..maxint;begin ClrScr; writeln('Unesi prirodni broj n'); readln(n); writeln(n, 'na kvadrat je ',sqr(n)); writeln('Drugi korijen broja n je ',sqrt(n)); readln;end.

Zadatak : Napiši program koji će učitavati znak te za njega ispisivati njegov redni broj.

program redni_broj;uses crt;var znak:char;begin ClrScr; writeln('Upiši znak:'); readln(znak);

writeln(znak:5, 'Redni broj znaka je ',ord(znak)); readln;end.

Zadatak : Napiši program koji će učitati i spisati tvoje ime.

program stringovi;(*tip string označava niz znakova*)uses crt;var ime:string;begin ClrScr; writeln('Upiši svoje ime:'); readln(ime); writeln(ime, ' je full cool!'); readln;end.

Page 34: Programiranje Skripta Pascal

Zadatak : Napiši program koji će učitavati dva cijela broja x i y, a ispisivati će njihovu: sumu, razliku, umnožak, kvocjent, rezultat cjelobrojnog dijeljenja, te ostatak cjelobrojnog dijeljenja.

program opracije;uses crt;var x,y:integer;begin ClrScr; writeln('Upisi dva cijela broja:'); readln(x,y); writeln('x + y = ',x+y); writeln('x - y = ',x-y); writeln('x * y = ',x*y); writeln('x / y = ',x/y); writeln('x MOD y = ',x MOD y); writeln('x DIV y = ',x DIV y); readln;end.