programiranje - gimnazija velika gorica · 2011. 7. 5. · • kodiranje • petlja • ... zadaci:...

Post on 23-Jan-2021

14 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programiranje

1

Ključne riječi

• Algoritam• Dijagram tijeka• Kodiranje• Petlja

• Programiranje• Strukturno

programiranje• Bug

2

• Petlja• Računalni program• Analiza• Dokumentacija• Modularno

programiranje

• Bug• Grananje• Održavanje• Pseudokôd• Testiranje

Osnovne definicije

Algoritam je postupak kojim se opisuje točan redoslijed kojim obavljamo neki posao.Naredba je uputa računalu da obavi jednu operaciju.operaciju.Postupak pisanja programa zovemo programiranje.

Program je konačan niz naredbi razumljivih računalu koji rješavaju neki problem.Programski jezik je skup naredbi i pravila za pisanje tih naredbi razumljivih računalu.

3

Programiranje

• Da bi si olakšao pretvorbu zadataka iz svijeta koji ga okružuje u oblik prihvatljiv računalu, čovjek se služi mnogim

4

računalu, čovjek se služi mnogim pomoćnim postupcima: planiranjem, opisom zadatka, algoritmom, pseudokôdom, dijagramom tijeka i sl.

• Konačni će rezultat svih tih postupaka biti računalni program

Planiranje

• Planiranjem se predviña tko će, kada i što raditi

• Pri izradi složenih programa često sudjeluje mnogo ljudi pa je planiranje

5

sudjeluje mnogo ljudi pa je planiranje veoma važan dio pripreme kako bi se uskladio rad svih

• Čak ako program izrañuje samo jedan čovjek, planiranjem se mogu predvidjeti i rasporediti pojedine faze izrade programa

Specifikacija

• Specifikacija je dokument koji sadrži podroban popis i opis

6

popis i opis zadataka i željenih rezultata

Algoritam

• Riječ algoritam dolazi od riječi Alchwarizmi što je bio nadimak perzijskog pisca imenom Abu Ja’far Mohammed ibn Musa al Khowarizmi

7

Mohammed ibn Musa al Khowarizmi (oko 825. prije Krista) koji je napisao knjigu o matematici

• Algoritam je naputak kako riješiti neki zadatak ili obaviti neki posao

Algoritam

1. Zagrij vodu

8

1. Zagrij vodu2. Stavi vrećicu čaja3. Ostavi stajati 5 minuta

4. Posluži

Algoritam

1.Učitati podatke

2.Zbrojiti sve podatke

3.Zbroj podijeliti s

9

3.Zbroj podijeliti s količinom podataka

4.Rezultat ispisati na zaslonu monitora

Dijagram tijeka

• Engl. flow chart• Grafički prikaz

programa koji

10

programa koji olakšava izradu programa

Dijagram tijeka

Postupak ili naredba

Početak ilikraj programa

Ručni unos

Primjeri elemenata dijagrama tijeka

11

Odluka ili grananje

Ručni unos podataka

Ispis podataka

Petlja ili ponavljanje

Dijagram tijekaPočetak

Stajati na mjestu i motriti semafor

12

Kraj

Zeleno svjetlo?

Primjer jednostavnog dijagrama tijeka postupanja u prometu

DA

NE

Nastaviti vožnju

Pseudokôd

• Pseudokôd je tobožnji program (grč. pseudos ̶ laž) jer premda nalikuje računalnom programu, zapravo nije napisan u programskom jeziku koji bi se

13

napisan u programskom jeziku koji bi se mogao izravno primijeniti na bilo kojemu računalu

• Pseudokôd se sastoji od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma

Pseudokôd

• Primjer: Potrebno je poslati SMS pomoću mobilnog telefona. Psudokôd za taj zadatak mogao bi biti:

Uključiti mobilni telefon

14

Uključiti mobilni telefon

Pritisnuti tipku za izbornik

Na izborniku izabrati slanje poruka

Napisati poruku

Upisati telefonski broj primatelja poruke

Pritisnuti tipku za slanje poruke

Pseudokod

naredba značenje

početak označava početak algoritmapisanog u pseudokodu

unesi ili upiši unos podatakaunesi ili upiši unos podataka

ispiši ili izlaz ispis podataka

kraj označava kraj algoritma

ako je … tada …inače…

označava grananje i naredbe u DA i NE grani

dok je … petlja ili ponavljanje

za … do … (pomak …) petlja ili ponavljanje15

Državna matura:

16

Programske strukture

1. Upis podataka

2. Ispis podataka

Upis polumjera kruga

Ispis površine kruga

17

podataka

3. Pridruživanje

4. Slijed

5. Grananje

6. Petlja ili ponavljanje

X := 5

Grananje• Programska struktura koja omogućuje

različiti tijek programa, ovisno o rezultatu

Da li je DANE

18

• pseudokod:ako je x>0 tada naredba_u_DA_graniinače naredba_u_NE_grani

Da li je x > 0 ?

x=0

START

Obrada

podataka

Petlja

• Katkad je u programu potrebno

19

• Katkad je u programu potrebno ponavljati neku radnju više puta

• Da se ista naredba ne bi pisala mnogo puta, postoji programska struktura petlje koja ponavlja jednu ili više naredbi

Petlja

Ispisati "Upiši cijeli broj"

Upis broja

Ispisati "Upiši cijeli broj"

Upis broja

Umjesto ovoga….

20

Upis broja

Ispisati "Upiši cijeli broj"

Upis broja

...(stotinu puta bi trebalo ponoviti isto)

Petlja

za brojac:=1 do 100 (pomak 1)

Ispisati "Upiši cijeli broj"

Upis broja

______________________________________

PAZITI da su naredbe u

petlji uvučene udesno….

21

______________________________________

brojac:=1

dok je brojac<100

Ispisati "Upiši cijeli broj"

Upis broja

brojac:=brojac+1

PetljaSTART

n = 1

obrada

podataka

početni uvjet

22

STOP

NEn =

10 ?n = n + 1DA

krajnji uvjet pomak ili korak petlje

Petlja (2)

• ponekad se petlja prikazuje i šesterokutom

23

početni uvjet, krajnji uvjet

korak ili pomak petlje

naredbe

Primjer: učitati 10 prirodnih brojeva i ispisati najveći

ILIpočetak

početak

brojac:=1;MAX:=0

n

brojac:=1,10

MAX:=0

24kraj

brojac=10?

n>MAX? MAX:=nbrojac:=brojac+1

DA

NE

DA

NEbrojac:=brojac+1

MAX

n

n>MAX?

MAX:=nDA

NE

Varijablato je mjesto u memoriji na koje spremamo podatkesvaka varijabla ima svoje ime pomoću kojeg pristupamo podatku u memorijivarijabla ima i tip koji je odreñen vrstom varijabla ima i tip koji je odreñen vrstom vrijednostitip može biti: cjelobrojan, realan, znakovni, logički a:=5 ; b:=6 ; c:=a+bx:=‘A’; y:=true; z:=false;

OPERATORIOperacija Pseudokod Matematika

zbrajanje + +

oduzimanje - -

26(c) L. Blagojević i D. Grundler, 2005.

oduzimanje - -

množenje * .

dijeljenje / :

cjelobrojno dijeljenje DIV nema

ostatak cjelobrojnog dijeljenja

MOD nema

Primjena matematičke logike

KONJUNKCIJA (I, AND)DISJUNKCIJA (ILI, OR)NEGACIJA (NE, NOT)NEGACIJA (NE, NOT)

27(c) L. Blagojević i D. Grundler, 2005.

PRIORITET OPERATORA

28

Primjer zadataka:

x:=10;y:=5;z:=(x>y) ILI (x mod 2 = 1) I z:=(x>y) ILI (x mod 2 = 1) I NE(y div 5 =1)rješenje:z:=1 ILI 0 I NE 1 => 1 ILI 0 I 0 => 1 ILI 0 => 1

29

Programiranje

• Pisanje skupa naredaba nanizanih odreñenim redom u izabranom programskom jeziku

30

Programiranje

• Program je skup naredaba nanizanih strogo utvrñenim redoslijedom, čijim se izvršenjem obavlja željeni posao

31

• Čovjek koji piše program naziva se programer, a postupak nastanka programa naziva se programiranje ili kodiranje

Programiranje

10 REM Opseg i površina pravokutnika20 CLS30 A = 12.3 :REM Stranica A pravokutnika

• Primjer jednostavnog programa u programskomjeziku BASIC

32

30 A = 12.3 :REM Stranica A pravokutnika40 B = 8.2 :REM Stranica B pravokutnika50 OPSEG = 2 * A + 2 * B :REM Formula za opseg60 POV = A * B :REM Formula za površinu70 PRINT OPSEG :REM Ispis opsega80 PRINT POV :REM Ispis površine

Dva načina prevoñenja programa

INTERPRETIRANJE

KOMPILIRANJEKOMPILIRANJE

33

Provjera programa

• Provjera ispravnog i željenog ponašanja programa (provjerava i

34

(provjerava i proizvoñač programa i korisnik)

Pogreška u programu

• U računalom nazivlju pogreške su dobile i posebno ime: engl. bug (čita se bag)

• Bug je ime za trajnu pogrešku u programu ili

35

• Bug je ime za trajnu pogrešku u programu ili sklopovlju računala. Pogreška dovodi do neželjenog ponašanja računala, a katkad može izazvati i opasne posljedice, primjerice, brisanje podataka s diska

Bug

36

Održavanje programa

• Postupak mijenjanja programa tijekom životnog vijeka programa i poduka korisnika o

37

i poduka korisnika o uporabi programa

• Često se održavanje svodi na instaliranje nove inačice programa

Izrada dokumentacije

• Izrada dokumentacije za korisnika (priručnici i sl.) i za održavanje

38

i za održavanje programa

Strukturno programiranje

• Strukturno programiranje (engl. structured programing) skup je programskih postupaka koji vode logičkoj organizaciji i čitljivosti

39

logičkoj organizaciji i čitljivosti programa

• Logička organizacija programa olakšava pisanje, održavanje i popravak programa

Strukturno programiranje• Modularno programiranje je prva i

najvažnija metoda strukturnog programiranja

• Modularno programiranje sastoji se u

40

• Modularno programiranje sastoji se u podjeli programa u manje cjeline, koje se mogu neovisno pisati i provjeravati, a po završetku ugraditi u glavni program

Strukturno programiranje

• Strukturno orijentirani jezici (npr. Pascal, dBase, Ada) prisiljavaju programera na strukturno programiranje, za razliku od

41

programiranje, za razliku od nestrukturnih jezika (npr. BASIC, FOR-TRAN, COBOL) koji prepuštaju grañu programa u potpunosti programeru

Srtukturno programiranje

• Strukturno orijentirani jezici ograničavaju slobodu programera i tjeraju ga na programsku disciplinu i urednost, uzvraćajući mu uštedom truda pri dokumentiranju, održavanju i

42

urednost, uzvraćajući mu uštedom truda pri dokumentiranju, održavanju i popravcima programa

Sažetak

• Pri izradi računalnog programa planiranje može uštedjeti mnogo truda, vremena i novca. Planiranjem se predviña tko će, kada i što raditi.

43

što raditi.• Specifikacija je dokument koji sadržava

podroban popis i opis zadataka i željenih rezultata

• Algoritam je naputak kako riješiti neki zadatak ili obaviti neki posao

Sažetak

• Dijagram tijeka (engl. flow chart) je grafički prikaz programa koji olakšava izradu programa

• Pseudokôd je tobožnji program

44

• Pseudokôd je tobožnji program (grč. pseudos ̶ laž) jer premda sliči računalnom programu, zapravo nije napisan u programskom jeziku koji bi se mogao izravno primijeniti na bilo kojemu računalu. Pseudokôd se sastoji od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma

Sažetak

• Kako bi se neki zadatak moga riješiti pomoću računala, potrebno je računalu na početku dati odreñene podatke (kako zadatak treba riješiti, koji su podaci na raspolaganju i sl.).

45

riješiti, koji su podaci na raspolaganju i sl.). Taj se postupak zove upis.

• Rezultat računalo mora priopćiti na neki način okolini. To se zove ispis podataka.

• Kada se varijabli želi dodijeliti neka vrijednost u računalnom programu, kaže se da joj se pridružuje odreñena vrijednost

Sažetak

• Grananje je programska struktura koja omogućuje različiti tijek programa, ovisno o zadovoljenju postavljenog uvjeta

• Petlja je programska struktura kojom je opisano opetovano ponavljanje neke radnje

46

opisano opetovano ponavljanje neke radnje• Program je skup naredaba nanizanih strogo

utvrñenim redoslijedom, čijim se izvršenjem obavlja željeni posao. Čovjek koji piše program naziva se programer, a postupak nastanka programa naziva se programiranje ili kodiranje.

Sažetak

• Nakon što je program gotov, treba ga provjeriti. Provjeru ili testiranje programa provodi proizvoñač programa i neovisni ispitivači.

47

ispitivači.• Održavanje programa je postupak mijenjanja

programa tijekom njegovog životnog vijeka• Važan dio izrade programa je izrada

dokumentacije za korisnika i za kasnije održavanje programa

Sažetak• U dokumentaciju se ubrajaju, primjerice,

uputa za instaliranje programa, priručnici za korisnika, tehnički opis programa i samo ponekad izvorni program.

• Strukturno programiranje (engl. structured

48

• Strukturno programiranje (engl. structured programing) skup je programskih postupaka koji vode logičkoj organizaciji i čitljivosti programa.

Sažetak

• Logička organizacija programa olakšava pisanje, održavanje i popravak programa.

49

• Ispravljanje, dopuna i poduka korisnika o uporabi programa naziva se održavanje programa.

Zadaci: poveži pojmove

50

Upiši potrebne naredbe u dijagram tijeka, napiši pseudokod i popuni tablicu ako dijagram tijeka provjerava je li upisani broj x manji od 67.

x ispis

257

39

67

56

Broj je manji od

67.

Broj nije manji od

67.

51

Napiši algoritam koji provjerava je li umnožak brojeva ai b jednoznamenkast broj. Brojeve a i b upisati na početku algoritma.

52

top related