Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 52

(c) Dorada orginala: S.utalo i D.Grundler, 2009.

ovjek:
znanje,
iskustvo,
logiko rasuivanje,
intuicija,
osjeaji,
itd.

2
Raunar:
pamenje,
logiko rasuivanje.

Da bi raunar rijeio zadatak, zadatak treba


pretvoriti u oblik koji ukljuuje samo te dvije
sposobnosti.
U pretvorbi zadataka pomau pomoni
postupci.
3
Pomoni postupci za pretvorbu zadatka u
oblik prihvatljiv raunalu su:
planiranje,
analiza zadatka,
algoritam,
pseudokd,
dijagram toka
i dr.

4
to je zadatak sloeniji, to je u pravilu
potrebno vie pomonih postupaka.
to se vie napreduje pri rjeavanju zadatka,
prikaz zadatka postaje sve ralanjeniji na
manje radnje, podprograme.

5
Na ovom primjeru e se pokazati pretvorba
zadatka u oblik prihvatljiv raunalu:
Pjeak u zadanom vremenu uini
odreeni
broj koraka.
Potrebno je odrediti:
Brzinu pjeaka u km/h i m/s ako je
poznata
prosjena duljina njegovog koraka.
6
Prvi korak u rjeavanju zadatka jest planiranje.

Planiranjem se odreuje tko e, kada i to raditi.

Planiranjem se predviaju i rasporeuju pojedine


faze izrade programa.

7
Preduvjet da bi se neki zadatak uspjeno
rijeio jest znati kako on zapravo glasi.

Analiza zadatka je ralamba i potpuno


razumijevanje zadatka i eljenih rezultata.

Rezultat analize je specifikacija zadatka.

8
Specifikacija je dokument koji sadri
podroban opis zadatka i eljenih rezultata.

Specifikacija nije prijedlog kako rijeiti


zadatak nego opis onoga to je na
raspolaganju i eljenog rezultata.

9
Zadano: oznaka

Vrijeme hodanja
(jedinica nije zadana; treba provjeriti to je korisnik unio, t
pa prema potrebi pretvoriti jednu jedinicu u drugu)

Duljina jednog koraka


(jedinica nije zadana; treba provjeriti to je korisnik unio, sk
pa prema potrebi pretvoriti jednu jedinicu u drugu)

Broj koraka N
Treba izraunati: oznaka

Brzina kretanja pjeaka u m/s v1


Brzina kretanja pjeaka u km/h v2
Raunalo zadatak moe rijeiti
samo ako dobije naputak kako to
uiniti.

Takav se naputak naziva algoritam.

11
Cilj algoritma je cjelokupni zadatak svesti na
niz jednostavnih, manjih radnji.
Izvravanjem tih osnovnih radnji mogue je
na temelju ulaznih podataka dobiti rezultat.

ULAZ OBRADA IZLAZ


(ulazni podaci) (algoritam) (rezultat)

(c) S.utalo i D.Grundler, 2009. 12


1. Provjeriti u kojim su jedinicama uneseni ulazni podaci.

2. Ovisno o jedinicama mjere ulaznih podataka odluiti treba li iznose


preraunati u vrijednosti izraene u jedinicama osnovnog SI sustava.

3. Izraunati put na osnovu ukupnog broja koraka i prosjene duljine jednog


koraka.

4. Pomou formule za raunanje brzine jednolikog gibanja i podatka o putu


i vremenu izraunati brzinu v1 izraenu u m/s.

5. Preraunati vrijednost iz m/s u km/h.


Veina zadataka se moe rijeiti na vie
razliitih naina pa je za njihovo rjeenje
mogue napisati vie razliitih algoritama.
Autor algoritma redovito nastoji pronai
algoritam koji najbre, najuinkovitije i
najsigurnije dovodi do rezultata.

14
Algoritam je jedan od koraka
pri pretvorbi zadatka u
raunalni program.

Pogodno ga je prikazati:
dijagramom tijeka,
pseudokdom.

15
Grafiki prikaz algoritma naziva se dijagram
tijeka.
Dijagram tijeka je koristan jer pregledno
prikazuje algoritam, omoguava laku analizu
i provjeru predloenog rjeenja, te
pronalaenje boljih postupaka rjeavanja
zadatka.

16
Dijagram tijeka se sastoji od nekoliko
jednostavnih geometrijskih likova spojenih
usmjerenim crtama.
Usmjerene crte pokazuju tijek rjeavanja
zadatka pa odatle i naziv dijagrama.

17
POETAK,
KRAJ ILI JEDNA ILI
PREKID VIE
PROGRAMA NAREDBI

ULAZ
PODATAKA
DA
?
ODLUKA ILI
GRANANJE
IZLAZ
PODATAKA
NE
Zadatak
Pjeak

(c) S.utalo i D.Grundler, 2009. 19


Pseudokd je tobonji program
(gr. pseudos la).
Sastoji se od kratkih izraza na govornom
jeziku koji opisuju i ukratko objanjavaju
pojedine zadatke algoritma.
Nalikuje na raunalni program, ali nije
napisan u programskom jeziku.

(c) S.utalo i D.Grundler, 2009. 20


Osoba koja pie pseudokd ne mora znati
programski jezik i ne mora razmiljati o
pravilima pisanja programskog jezika.
Pseudokd bi trebao biti napisan tako da
programer moe na temelju njega napisati
program u bilo kojem programskom jeziku.

(c) S.utalo i D.Grundler, 2009. 21


ulaz (N);
ulaz (t);
ako je t izraen u jedinicama koje nisu sekunde onda
pretvori t u sekunde ;
ulaz (sk);
ako je sk izraen u jedinicama koje nisu metri onda
pretvori sk u metre;
s:= sk *N;
v1:=s/t;
v2:=v1*3,6; (1m=0,001km; 1s=1/3600h)
izlaz (v1 i v2);
Programski jezik raunala je jedini jezik koji
raunalo razumije.
Zato upute za rjeavanje zadatka treba
zapisati naredbama odabranog
programskog jezika.

23
Svaki programski jezik ima vlastiti
ogranieni skup rijei koje imaju posebna
znaenja.
Takve se rijei
nazivaju kljunim
rijeima.

24
Za svaki programski jezik propisana su pravila
slaganja kljunih rijei u naredbe.
Takva se pravila nazivaju sintaksa.
Ako se ne zadovolji propisana
sintaksa, program e biti
neispravan i nee se moi izvriti.

25
Program je uporabno koristan, samo ako je
logiki ispravan.
Za otkrivanje logikih pogreaka potrebno je
provjeravati (testirati) program.
Program provjerava autor programa, vie
ljudi kod proizvoaa programa ili neovisni
ispitivai.

26
Zadano

t= 2 min
Postupak treba ponoviti za to
sk= 70 cm
vie ulaznih podataka za koje je
N= 200 poznat rezultat ili se rezultat
oekivano zna izraunati.

v1=1,17 m/s

v2= 4,2 km/h

27
Odravanje programa je postupak mijenjanja
programa tijekom njegovog ivotnog
vijeka.
Direktno: ugovor o odravanju.
Indirektno: izdavanje novih inaica i ispravaka
programa za programe koji se prodaju u
velikim koliinama (npr. program Windows).

28
Dokumentacija je vaan dodatak programu, a
sastoji se od:
uputa za instaliranje programa,
prirunika za korisnike,
tehnikog opisa programa,
itd.

(c) S.utalo i D.Grundler, 2009. 29


Programska struktura opisuje nain i
redoslijed izvravanja pojedinih radnji koje
dovode do konanog rjeenja zadatka.
Razlikuje se nekoliko osnovnih programskih
struktura.

30
Mjesto u memoriji rezervirano za pohranu
podatka naziva se varijabla.
Svaka varijabla ima ime koje ju jednoznano
odreuje.
Ime varijable se u pseudo jeziku moe zadati
proizvoljno, npr. x, a, TX, B_Pod, AmPe

31
Varijabli se vrijednost pridruuje s pomou
operatora pridruivanja.
Operator pridruivanja koji se rabi u ovoj
inaici pseudo jezika je znak (:=).
Npr. izraz x:=3 se moe itati "varijabli x se pridruuje broj 3".

32
Algoritam zapisan pseudo jezikom sastoji se
od niza naredbi.
Svaka naredba ove inaice pseudo jezika
zavrava znakom toka-zarez (;).

(c) S.utalo i D.Grundler, 2009. 33


Operatori su simboli koji predstavljaju
odreene funkcije.
Operatori se mogu svrstati u skupine prema
vrsti funkcije koju predouju, npr.:
aritmetiki operatori, logiki operatori, operatori
usporeivanja (relacijski operatori).

34
Pseudo
Opis Pascal C/C+ +
jezik
Zbrajanje + + +
Oduzimanje - - -
Mnoenje * * *
Dijeljenje / / /
Cjelobrojno dijeljenje DIV DIV /
Ostatak cjelobrojnoga
dijeljenja
MOD MOD %

(c) S.utalo i D.Grundler, 2009. 35


Operator dijeljenja (/) kao rezultat vraa
vrijednost kvocijenta u obliku realnog broja.

Operator DIV vraa a := x/y;


cjelobrojni dio dijeljenja
x := 5; b := x DIV
dva cijela broja. y;
y := 2;
Operator MOD vraa c := x MOD
cjelobrojni ostatak y;
dijeljenja dva cijela broja. a=2,5; b=2; c=1

36
Pseudo
Opis Pascal C/C+ +
jezik
Logiki I I AND &&
Logiki ILI ILI OR ||
Logiki NE NE NOT !

37
Pseudo
Opis Pascal C/C+ +
jezik
Manje < < <
Manje ili jednako <= <= <=
Vee > > >
Vee ili jednako >= >= >=
Jednako = = ==
Razliito <> <> !=

38
Redoslijed izvravanja Operatori

1. ()
2. NE
3. * / DIV MOD I
4. + - ILI
5. <, <=, >=, <>, =

39
Osnovne programske strukture mogu se
svrstati u tri skupine. To su:
pravocrtna programska strutura (slijed, niz),
struktura grananja,
struktura petlje.

40
Opis Pseudo jezik

Unos ulaz

Ispis izlaz

Pridruivanje :=

41
Kao primjer pravocrtne programske strukture
moe posluiti zadatak:
Korisnik unosi dva broja,
brojevi se zbrajaju pa se
ispisuje dobiveni zbroj.

Program se odvija uvijek istim i predvidim


slijedom naredbi bez obzira na unesene
podatke.

42
Samo u sluaju rjeavanja
najjednostavnijih
zadataka, programska
struktura je pravocrtna, tj.
program se uvijek izvrava
istim slijedom naredbi.
Redoslijed izvravanja naredbi ovisi o ulaznim
podacima ili meurezultatima obrade.
Grananje je programska struktura koja
omoguuje razliit tok programa, zavisno od
rezultata postavljenog uslova.

44
Opis Pseudo jezik

ako je uvjet onda


naredba1
Grananje
inae
naredba2;
{
Blok naredbi
}

Dijelovi programa koji se uvjetno izvode, grupiraju se u


skupine ili blokove naredbi.

45
Kao primjer programske strukture grananja
moe posluiti zadatak:
Korisnik unosi
dva broja, a
zatim se
odreuje i
ispisuje vei
broj.

46
Dijagram toka
grananja za
traenje i ispis
veeg od dva
broja:
esto je u programu potrebno ponoviti neku
radnju vie puta (iterirati). Takva se
programska struktura naziva petlja.
Ponavljati se moe:
unaprijed zadani broj puta,
sve dok je ispunjen zadani uvjet.

48
Opis Pseudo jezik

Petlja s unaprijed poznatim za b := p do k initi


brojem ponavljanja naredba;

Petlja kod koje nije unaprijed


dok je uvjet initi
poznat broj ponavljanja, a uvjet
se provjerava na poetku petlje naredba;

Petlja kod koje nije unaprijed ponavljati


poznat broj ponavljanja, a uvjet naredba;
se provjerava na kraju petlje dok je uvjet;
Kao primjer programske strukture petlje
moe posluiti zadatak:
Korisnik treba unijeti
100 cijelih brojeva, a
prije svakog unosa
broja ispisuje se tekst
"Unesi broj".

(c) S.utalo i D.Grundler, 2009. 50


Dijagram tijeka
petlje za unos sto
cijelih brojeva.

51
Prof. Medina Sokolovi Alajmovi
oktobar 2017.

You might also like