NAELA PROGRAMIRANJA Rjeavanje zadataka ovjek znanje iskustvo logiko

  • Slides: 26
Download presentation
NAČELA PROGRAMIRANJA

NAČELA PROGRAMIRANJA

Rješavanje zadataka Čovjek: znanje, iskustvo, logičko rasuđivanje, intuicija, osjećaji, itd. 2

Rješavanje zadataka Čovjek: znanje, iskustvo, logičko rasuđivanje, intuicija, osjećaji, itd. 2

Rješavanje zadataka Računalo: pamćenje, logičko rasuđivanje. Da bi računalo riješilo zadatak, zadatak treba pretvoriti

Rješavanje zadataka Računalo: pamćenje, logičko rasuđivanje. Da bi računalo riješilo zadatak, zadatak treba pretvoriti u oblik koji uključuje samo te dvije sposobnosti. U pretvorbi zadataka pomažu pomoćni postupci. 3

Rješavanje zadataka računalom Pomoćni postupci za pretvorbu zadatka u oblik prihvatljiv računalu su: planiranje,

Rješavanje zadataka računalom Pomoćni postupci za pretvorbu zadatka u oblik prihvatljiv računalu su: planiranje, analiza zadatka, algoritam, pseudokôd, dijagram tijeka i dr. 4

Pomoćni postupci Što je zadatak složeniji, to je u načelu potrebno više pomoćnih postupaka.

Pomoćni postupci Što je zadatak složeniji, to je u načelu potrebno više pomoćnih postupaka. Što se više napreduje pri rješavanju zadatka, prikaz zadatka postaje sve razlučeniji na manje radnje. 5

Planiranje Prvi korak u rješavanju zadatka jest planiranje. Planiranjem se određuje tko će, kada

Planiranje Prvi korak u rješavanju zadatka jest planiranje. Planiranjem se određuje tko će, kada i što raditi. Planiranjem se predviđaju i raspoređuju pojedine faze izrade programa. 6

Analiza zadatka i specifikacija Preduvjet da bi se neki zadatak uspješno riješio jest znati

Analiza zadatka i specifikacija Preduvjet da bi se neki zadatak uspješno riješio jest znati kako on zapravo glasi. Analiza zadatka je raščlamba i potpuno razumijevanje zadatka i željenih rezultata. Rezultat analize je specifikacija zadatka. 7

Analiza zadatka i specifikacija Specifikacija je dokument koji sadrži podroban opis zadatka i željenih

Analiza zadatka i specifikacija Specifikacija je dokument koji sadrži podroban opis zadatka i željenih rezultata. Specifikacija nije prijedlog kako riješiti zadatak nego opis onoga što je na raspolaganju i željenog rezultata. 8

Algoritam Većina zadataka se može riješiti na više različitih načina pa je za njihovo

Algoritam Većina zadataka se može riješiti na više različitih načina pa je za njihovo rješenje moguće napisati više različitih algoritama. Autor algoritma redovito nastoji pronaći algoritam koji najbrže, najučinkovitije i najsigurnije dovodi do rezultata. 9

Algoritam je jedan od koraka pri pretvorbi zadatka u računalni program. Pogodno ga je

Algoritam je jedan od koraka pri pretvorbi zadatka u računalni program. Pogodno ga je prikazati: dijagramom tijeka, pseudokôdom. 10

Dijagram tijeka Grafički prikaz algoritma naziva se dijagram tijeka. Dijagram tijeka je koristan jer

Dijagram tijeka Grafički prikaz algoritma naziva se dijagram tijeka. Dijagram tijeka je koristan jer pregledno prikazuje algoritam, omogućava lakšu analizu i provjeru predloženog rješenja, te pronalaženje boljih postupaka rješavanja zadatka. 11

Pseudokôd je tobožnji program (grč. pseudos – laž). Sastoji se od kratkih izraza na

Pseudokôd je tobožnji program (grč. pseudos – laž). Sastoji se od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma. Nalikuje na računalni program, ali nije napisan u programskom jeziku. 12

Pseudokôd Osoba koja piše pseudokôd ne mora znati programski jezik i ne mora razmišljati

Pseudokôd Osoba koja piše pseudokôd ne mora znati programski jezik i ne mora razmišljati o pravilima pisanja programskog jezika. Pseudokôd bi trebao biti napisan tako da programer može na temelju njega napisati program u bilo kojem programskom jeziku. 13

Programiranje Programski jezik računala je jedini jezik koji računalo razumije. Zato naputak za rješavanje

Programiranje Programski jezik računala je jedini jezik koji računalo razumije. Zato naputak za rješavanje zadatka treba zapisati naredbama odabranog programskog jezika. 14

Programski jezik – ključne riječi Svaki programski jezik ima vlastiti ograničeni skup riječi koje

Programski jezik – ključne riječi Svaki programski jezik ima vlastiti ograničeni skup riječi koje imaju posebna značenja. Takve se riječi nazivaju ključnim riječima. 15

Programski jezik - sintaksa Za svaki programski jezik propisana su pravila slaganja ključnih riječi

Programski jezik - sintaksa Za svaki programski jezik propisana su pravila slaganja ključnih riječi u naredbe. Takva se pravila nazivaju sintaksa. Ako se ne zadovolji propisana sintaksa, program će biti neispravan i neće se moći izvršiti. 16

Programska struktura opisuje način i redoslijed izvršavanja pojedinih radnji koje dovode do konačnog rješenja

Programska struktura opisuje način i redoslijed izvršavanja pojedinih radnji koje dovode do konačnog rješenja zadatka. Razlikuje se nekoliko osnovnih programskih struktura. 17

Varijable Mjesto u memoriji rezervirano za pohranu podatka naziva se varijabla. Svaka varijabla ime

Varijable Mjesto u memoriji rezervirano za pohranu podatka naziva se varijabla. Svaka varijabla ime koje ju jednoznačno određuje. Ime varijable se u pseudo jeziku može zadati proizvoljno, npr. x, a, TX, B_Pod, Am. Pe 18

Vrijednost varijable Varijabli se vrijednost pridružuje s pomoću operatora pridruživanja. Operator pridruživanja koji se

Vrijednost varijable Varijabli se vrijednost pridružuje s pomoću operatora pridruživanja. Operator pridruživanja koji se rabi u ovoj inačici pseudo jezika je znak (: =). Npr. izraz x: =3 se može čitati "varijabli x se pridružuje broj 3". 19

Kraj naredbe Algoritam zapisan pseudo jezikom sastoji se od niza naredbi. Svaka naredba ove

Kraj naredbe Algoritam zapisan pseudo jezikom sastoji se od niza naredbi. Svaka naredba ove inačice pseudo jezika završava znakom točka-zarez (; ). 20

Operatori su simboli koji predstavljaju određene funkcije. Operatori se mogu svrstati u skupine prema

Operatori su simboli koji predstavljaju određene funkcije. Operatori se mogu svrstati u skupine prema vrsti funkcije koju predočuju, npr. : aritmetički operatori, logički operatori, operatori uspoređivanja (relacijski operatori). 21

Aritmetički operatori Pseudo jezik Pascal C/C+ + Zbrajanje + + + Oduzimanje - -

Aritmetički operatori Pseudo jezik Pascal C/C+ + Zbrajanje + + + Oduzimanje - - - Množenje * * * Dijeljenje / / / Cjelobrojno dijeljenje DIV / Ostatak cjelobrojnoga dijeljenja MOD % Opis 22

Operatori dijeljenja Operator dijeljenja (/) kao rezultat vraća vrijednost kvocijenta u obliku realnog broja.

Operatori dijeljenja Operator dijeljenja (/) kao rezultat vraća vrijednost kvocijenta u obliku realnog broja. Operator DIV vraća cjelobrojni dio dijeljenja dva cijela broja. a : = x/y; x : = 5; Operator MOD vraća b : = x DIV y; cjelobrojni ostatak y : = 2; dijeljenja dva cijela broja. c : = x MOD y; a=2, 5; b=2; c=1 23

Logički operatori Pseudo jezik Pascal C/C+ + I AND && Logički ILI OR ||

Logički operatori Pseudo jezik Pascal C/C+ + I AND && Logički ILI OR || Logički NE NE NOT ! Opis Logički I 24

Operatori uspoređivanja Pseudo jezik Pascal C/C+ + < <= <= <= > > >

Operatori uspoređivanja Pseudo jezik Pascal C/C+ + < <= <= <= > > > Veće ili jednako >= >= >= Jednako = = == Različito <> <> != Opis Manje ili jednako Veće 25

Redoslijed izvršavanja operatora Redoslijed izvršavanja Operatori 1. () 2. NE 3. * / DIV

Redoslijed izvršavanja operatora Redoslijed izvršavanja Operatori 1. () 2. NE 3. * / DIV MOD I 4. + - ILI 5. <, <=, >=, <>, = 26