Naela programiranja Rjeavanje zadataka n ovjek n znanje
- Slides: 52
Načela programiranja
Rješavanje zadataka n Čovjek: n znanje, n iskustvo, n logičko rasuđivanje, n intuicija, n osjećaji, n itd. (c) S. Šutalo i D. Grundler, 2009. 2
Rješavanje zadataka n Računalo: n pamćenje, n logičko rasuđivanje. n Da bi računalo riješilo zadatak, zadatak treba pretvoriti u oblik koji uključuje samo te dvije sposobnosti. n U pretvorbi zadataka pomažu pomoćni postupci. (c) S. Šutalo i D. Grundler, 2009. 3
Rješavanje zadataka računalom n Pomoćni postupci za pretvorbu zadatka u oblik prihvatljiv računalu su: n planiranje, n analiza zadatka, n algoritam, n pseudokôd, n dijagram tijeka n i dr. (c) S. Šutalo i D. Grundler, 2009. 4
Pomoćni postupci n Što je zadatak složeniji, to je u načelu potrebno više pomoćnih postupaka. n Što se više napreduje pri rješavanju zadatka, prikaz zadatka postaje sve razlučeniji na manje radnje. (c) S. Šutalo i D. Grundler, 2009. 5
Zadatak Pješak n Na ovom primjeru će se pokazati pretvorba zadatka u oblik prihvatljiv računalu: Pješak u zadanom vremenu učini određeni broj koraka. Potrebno je odrediti: Brzinu pješaka u km/h i m/s ako je poznata prosječna duljina njegovog koraka. (c) S. Šutalo i D. Grundler, 2009. 6
Planiranje n Prvi korak u rješavanju zadatka jest planiranje. n Planiranjem se određuje tko će, kada i što raditi. n Planiranjem se predviđaju i raspoređuju pojedine faze izrade programa. (c) S. Šutalo i D. Grundler, 2009. 7
Analiza zadatka i specifikacija n Preduvjet da bi se neki zadatak uspješno riješio jest znati kako on zapravo glasi. n Analiza zadatka je raščlamba i potpuno razumijevanje zadatka i željenih rezultata. n Rezultat analize je specifikacija zadatka. (c) S. Šutalo i D. Grundler, 2009. 8
Analiza zadatka i specifikacija n Specifikacija je dokument koji sadrži podroban opis zadatka i željenih rezultata. n Specifikacija nije prijedlog kako riješiti zadatak nego opis onoga što je na raspolaganju i željenog rezultata. (c) S. Šutalo i D. Grundler, 2009. 9
Specifikacija zadatka Pješak: Zadano: oznaka Vrijeme hodanja (jedinica nije zadana; treba provjeriti što je korisnik unio, pa prema potrebi pretvoriti jednu jedinicu u drugu) t Duljina jednog koraka (jedinica nije zadana; treba provjeriti što je korisnik unio, pa prema potrebi pretvoriti jednu jedinicu u drugu) sk Broj koraka N Treba izračunati: oznaka Brzina kretanja pješaka u m/s v 1 Brzina kretanja pješaka u km/h v 2
Algoritam n Računalo zadatak može riješiti samo ako dobije naputak kako to učiniti. n Takav se naputak naziva algoritam. (c) S. Šutalo i D. Grundler, 2009. 11
Algoritam n Cilj algoritma je cjelokupni zadatak svesti na niz jednostavnih, manjih radnji. n Izvršavanjem tih osnovnih radnji moguće je na temelju ulaznih podataka dobiti rezultat. ULAZ OBRADA IZLAZ (ulazni podaci) (algoritam) (rezultat) (c) S. Šutalo i D. Grundler, 2009. 12
Algoritam zadatka Pješak 1. Provjeriti u kojim su jedinicama uneseni ulazni podaci. 2. Ovisno o jedinicama mjere ulaznih podataka odlučiti treba li iznose preračunati u vrijednosti izražene u jedinicama osnovnog SI sustava. 3. Izračunati put na osnovu ukupnog broja koraka i prosječne duljine jednog koraka. 4. Pomoću formule za računanje brzine jednolikog gibanja i podatka o putu i vremenu izračunati brzinu v 1 izraženu u m/s. 5. Preračunati vrijednost iz m/s u km/h.
Algoritam n 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. n Autor algoritma redovito nastoji pronaći algoritam koji najbrže, najučinkovitije i najsigurnije dovodi do rezultata. (c) S. Šutalo i D. Grundler, 2009. 14
Algoritam n Algoritam je jedan od koraka pri pretvorbi zadatka u računalni program. n Pogodno ga je prikazati: n dijagramom tijeka, n pseudokôdom. (c) S. Šutalo i D. Grundler, 2009. 15
Dijagram tijeka n Grafički prikaz algoritma naziva se dijagram tijeka. n 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. (c) S. Šutalo i D. Grundler, 2009. 16
Dijagram tijeka n Dijagram tijeka se sastoji od nekoliko jednostavnih geometrijskih likova spojenih usmjerenim crtama. n Usmjerene crte pokazuju tijek rješavanja zadatka pa odatle i naziv dijagrama. (c) S. Šutalo i D. Grundler, 2009. 17
Geometrijski likovi dijagrama tijeka POČETAK, KRAJ ILI PREKID PROGRAMA JEDNA ILI VIŠE NAREDBI ULAZ PODATAKA ? IZLAZ PODATAKA NE DA ODLUKA ILI GRANANJE
Zadatak Pješak (c) S. Šutalo i D. Grundler, 2009. 19
Pseudokôd n Pseudokôd je tobožnji program (grč. pseudos – laž). n Sastoji se od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma. n Nalikuje na računalni program, ali nije napisan u programskom jeziku. (c) S. Šutalo i D. Grundler, 2009. 20
Pseudokôd n Osoba koja piše pseudokôd ne mora znati programski jezik i ne mora razmišljati o pravilima pisanja programskog jezika. n Pseudokôd bi trebao biti napisan tako da programer može na temelju njega napisati program u bilo kojem programskom jeziku. (c) S. Šutalo i D. Grundler, 2009. 21
Pseudokôd zadatka Pješak ulaz (N); ulaz (t); ako je t izražen u jedinicama koje nisu sekunde onda pretvori t u sekunde ; ulaz (sk); ako je sk izražen u jedinicama koje nisu metri onda pretvori sk u metre; s: = sk *N; v 1: =s/t; v 2: =v 1*3, 6; (1 m=0, 001 km; 1 s=1/3600 h) izlaz (v 1 i v 2);
Programiranje n Programski jezik računala je jedini jezik koji računalo razumije. n Zato naputak za rješavanje zadatka treba zapisati naredbama odabranog programskog jezika. (c) S. Šutalo i D. Grundler, 2009. 23
Programski jezik – ključne riječi n Svaki programski jezik ima vlastiti ograničeni skup riječi koje imaju posebna značenja. n Takve se riječi nazivaju ključnim riječima. (c) S. Šutalo i D. Grundler, 2009. 24
Programski jezik - sintaksa n Za svaki programski jezik propisana su pravila slaganja ključnih riječi u naredbe. n Takva se pravila nazivaju sintaksa. n Ako se ne zadovolji propisana sintaksa, program će biti neispravan i neće se moći izvršiti. (c) S. Šutalo i D. Grundler, 2009. 25
Provjera i ispravljanje n Program je uporabno koristan, samo ako je logički ispravan. n Za otkrivanje logičkih pogrešaka potrebno je provjeravati (testirati) program. n Program provjerava autor programa, više ljudi kod proizvođača programa ili neovisni ispitivači. (c) S. Šutalo i D. Grundler, 2009. 26
Provjera zadatka Pješak: Zadano t= 2 min sk= 70 cm N= 200 očekivano v 1=1, 17 m/s v 2= 4, 2 km/h Postupak treba ponoviti za što više ulaznih podataka za koje je poznat rezultat ili se rezultat zna izračunati. (c) S. Šutalo i D. Grundler, 2009. 27
Održavanje programa n Održavanje programa je postupak mijenjanja programa tijekom njegovog “životnog” vijeka. n Izravno: ugovor o održavanju. n Neizravno: izdavanje novih inačica i ispravaka programa za programe koji se prodaju u velikim količinama (npr. program Windows). (c) S. Šutalo i D. Grundler, 2009. 28
Dokumentacija n Dokumentacija je važan dodatak programu, a sastoji se od: n uputa za instaliranje programa, n priručnika za korisnike, n tehničkog opisa programa, n itd. (c) S. Šutalo i D. Grundler, 2009. 29
Programska struktura n Programska struktura opisuje način i redoslijed izvršavanja pojedinih radnji koje dovode do konačnog rješenja zadatka. n Razlikuje se nekoliko osnovnih programskih struktura. (c) S. Šutalo i D. Grundler, 2009. 30
Primjer pseudo jezika n Pri opisu programskih struktura rabit će se osnove pseudo jezika koji se rabi u Ispitnom katalogu za državnu maturu iz Informatike za šk. god. 2009. /2010. n Osnove tog pseudo jezika prikazane su na nekoliko sljedećih slajdova. (http: //dokumenti. ncvvo. hr/Ispitni_katalozi_08 -09/Izborni/IK-info. pdf). (c) S. Šutalo i D. Grundler, 2009. 31
Varijable n Mjesto u memoriji rezervirano za pohranu podatka naziva se varijabla. n Svaka varijabla ime koje ju jednoznačno određuje. n Ime varijable se u pseudo jeziku može zadati proizvoljno, npr. x, a, TX, B_Pod, Am. Pe (c) S. Šutalo i D. Grundler, 2009. 32
Vrijednost varijable n Varijabli se vrijednost pridružuje s pomoću operatora pridruživanja. n 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". (c) S. Šutalo i D. Grundler, 2009. 33
Kraj naredbe n Algoritam zapisan pseudo jezikom sastoji se od niza naredbi. n Svaka naredba ove inačice pseudo jezika završava znakom točka-zarez (; ). (c) S. Šutalo i D. Grundler, 2009. 34
Operatori n Operatori su simboli koji predstavljaju određene funkcije. n Operatori se mogu svrstati u skupine prema vrsti funkcije koju predočuju, npr. : n aritmetički operatori, logički operatori, operatori uspoređivanja (relacijski operatori). (c) S. Šutalo i D. Grundler, 2009. 35
Aritmetički operatori Pseudo jezik Pascal C/C+ + Zbrajanje + + + Oduzimanje - - - Množenje * * * Dijeljenje / / / Cjelobrojno dijeljenje DIV / Ostatak cjelobrojnoga dijeljenja MOD % Opis (c) S. Šutalo i D. Grundler, 2009. 36
Operatori dijeljenja n Operator dijeljenja (/) kao rezultat vraća vrijednost kvocijenta u obliku realnog broja. n Operator DIV vraća cjelobrojni dio dijeljenja dva cijela broja. n Operator MOD vraća cjelobrojni ostatak dijeljenja dva cijela broja. x : = 5; y : = 2; a=2, 5; (c) S. Šutalo i D. Grundler, 2009. a : = x/y; b : = x DIV y; c : = x MOD y; b=2; c=1 37
Logički operatori Pseudo jezik Pascal C/C+ + I AND && Logički ILI OR || Logički NE NE NOT ! Opis Logički I (c) S. Šutalo i D. Grundler, 2009. 38
Operatori uspoređivanja Pseudo jezik Pascal C/C+ + < <= <= <= > > > Veće ili jednako >= >= >= Jednako = = == Različito <> <> != Opis Manje ili jednako Veće (c) S. Šutalo i D. Grundler, 2009. 39
Redoslijed izvršavanja operatora Redoslijed izvršavanja Operatori 1. () 2. NE 3. * / DIV MOD I 4. + - ILI 5. <, <=, >=, <>, = (c) S. Šutalo i D. Grundler, 2009. 40
Osnovne programske strukture n Osnovne programske strukture mogu se svrstati u tri skupine. To su: n pravocrtna programska strutura (slijed, niz), n struktura grananja, n struktura petlje. (c) S. Šutalo i D. Grundler, 2009. 41
Pravocrtna struktura (pseudo jezik) Opis Pseudo jezik Unos ulaz Ispis izlaz Pridruživanje : = (c) S. Šutalo i D. Grundler, 2009. 42
Pravocrtna programska struktura n Kao primjer pravocrtne programske strukture može poslužiti zadatak: n Korisnik unosi dva broja, brojevi se zbrajaju pa se ispisuje dobiveni zbroj. n Program se odvija uvijek istim i predvidim slijedom naredbi bez obzira na unesene podatke. (c) S. Šutalo i D. Grundler, 2009. 43
Pravocrtna programska struktura n Samo u slučaju rješavanja najjednostavnijih zadataka, programska struktura je pravocrtna, tj. program se uvijek izvršava istim slijedom naredbi.
Programska struktura grananja n Redoslijed izvršavanja naredbi često ovisi o ulaznim podacima ili međurezultatima obrade. n Grananje je programska struktura koja omogućuje različit tijek programa, ovisno o rezultatu postavljenog uvjeta. (c) S. Šutalo i D. Grundler, 2009. 45
Naredbe pseudo jezika za grananje Opis Pseudo jezik ako je uvjet onda naredba 1 inače naredba 2; Grananje Blok naredbi { } n Dijelovi programa koji se uvjetno izvode, grupiraju se u skupine ili blokove naredbi. (c) S. Šutalo i D. Grundler, 2009. 46
Programska struktura grananja n Kao primjer programske strukture grananja može poslužiti zadatak: n Korisnik unosi dva broja, a zatim se određuje i ispisuje veći broj. (c) S. Šutalo i D. Grundler, 2009. 47
Dijagram tijeka grananja n Dijagram tijeka grananja za traženje i ispis većeg od dva broja.
Programska struktura petlje n Često je u programu potrebno ponoviti neku radnju više puta (iterirati). Takva se programska struktura naziva petlja. n Ponavljati se može: n unaprijed zadani broj puta, n sve dok je ispunjen zadani uvjet. (c) S. Šutalo i D. Grundler, 2009. 49
Naredbe pseudo jezika za petlju Opis Pseudo jezik Petlja s unaprijed poznatim brojem ponavljanja za b : = p do k činiti naredba; Petlja kod koje nije unaprijed poznat broj ponavljanja, a uvjet se provjerava na početku petlje dok je uvjet činiti naredba; Petlja kod koje nije unaprijed poznat broj ponavljanja, a uvjet se provjerava na kraju petlje ponavljati naredba; dok je uvjet;
Programska struktura petlje n Kao primjer programske strukture petlje može poslužiti zadatak: n Korisnik treba unijeti 100 cijelih brojeva, a prije svakog unosa broja ispisuje se tekst "Unesi broj". (c) S. Šutalo i D. Grundler, 2009. 51
Dijagram tijeka petlje n Dijagram tijeka petlje za unos sto cijelih brojeva. 52
- Svo ili sve
- Struktura grananja
- Naela aspirational standards
- Naela
- Tipovi zadataka u testovima znanja
- Rješavanje zadataka sa zagradama
- Kentaur nes
- Rješavanje zadataka sastavljanjem izraza
- Proceduralno programiranje
- Php programiranje osnove
- Objektno orijentisano programiranje
- Osnove java programiranja
- Faze programiranja
- Znanje org algoritmi
- Primjer eseja za stručni ispit
- Znanje org c++
- Malo znanje čini ljude oholim a veliko skromnim
- Informacija i podatak
- Proceduralno znanje povijest
- Podatak informacija znanje
- Proceduralno znanje iz povijesti
- Abc znanje
- Tacitno znanje
- Vrednovanje lektire
- Bloomova taksonomija tablica
- Proceduralno znanje povijest