informatika · 2020. 2. 25. · informatika Školska godina: 2018./19. razredi: 1.d, 2.e nastavnia:...
Transcript of informatika · 2020. 2. 25. · informatika Školska godina: 2018./19. razredi: 1.d, 2.e nastavnia:...
INFORMATIKAŠKOLSKA GODINA: 2018./19.
RAZREDI: 1.D, 2.ENASTAVNICA: MELITA KATALINIĆ, PROF.
2/25/2020 1
1.dio
B. RAČUNALNO RAZMIŠLJANJE I PROGRAMIRANJE
2/25/2020 2
Ishodi:
Nakon prve godine učenja predmeta Informatika u
srednjoj školi u domeni:
PROGRAMIRANJE U PSEUDOKODU
2/25/2020 3
OSNOVNI POJMOVI:
PROGRAMPROGRAMER
PROGRAMSKI JEZIKNAREDBA
INSTRUKCIJAALGORITAM
ALGORITAMSKI POSTUPCIDIJAGRAM TIJEKA
PETLJE
2/25/2020 4
ZADATAK:Prouči zadani tekst iz udžbenika (RAMMI: Računalno-razmišljanje-i-
programiranje-uvod.pdf) i odgovori na postavljena pitanja!
1. Što je program i od čega se on sastoji?2. Što je programska podrška?3. Tko piše programe?4. Kako se naziva izrada programa?5. Što je programski jezik?
Nabroji nekoliko programskih jezika za koje si čula/čuo?Nacrtaj podjelu programskih jezika pomoću Microsoft Worda: Umetni – SmartArt – Hijerarhija
6. Što je izvorni, a što izvršni program?7. Kako dijelimo programe prevoditelje? Pojasni svaku grupu!8. Što je algoritam? Koja je veza između algoritma i programa?
2/25/2020 5
PRIMJERI ALGORITAMA:
1110001+ 11010
10001011
1. primjer: algoritam za izradu pudinga
Sastojci: 0.5 l mlijeka
3 žlice šećera
1 prašak za puding
Postupak:
• izmiješati prašak sa šećerom i malo mlijeka
• zakuhati preostalo mlijeko, te uliti smjesu i sve zajedno kuhati 5 minuta na laganoj vatri
• uliti puding u zdjelice, ohladiti i poslužiti
Rezultat: ukusan desert
2. primjer: algoritam za zbrajanje dvaju
binarnih brojeva
Ulaz: dva binarna broja
Postupak:
• potpisati binarne brojeve jedan ispod drugog
• zbrajati znamenke na istoj poziciji i to ovako:
• 0+0=0, 0+1=1, 1+1=0 i 1 dalje
Rezultat: zbroj - binarni broj
ALGORITAM je:
• niz postupaka koje moramo izvršiti da bismo došli do
željenog cilja
• precizna uputa kako obaviti neku radnju
• konačan skup koraka koji računalu detaljno opisuju
što treba napraviti
ŠTO JE ALGORITAM?
9 st. iranski matematičar
Muhamed ibn Musa-al-Hvarizmi
(Muhamed sin Muse iz Khwarizma)
napisao je knjigu iz aritmetike u kojoj opisuje
rješavanje problema po koracima
ODAKLE RIJEČ ALGORITAM?
Vremenom pogrešno prenesen dio njegovog imena
postaje naziv za takvo rješavanje problema.
AL-HORIZMI
AL-HVARIZMI
ALGORITMI
https://www.wikiwand.com/hr/Al-Hvarizmi
• Početne objekte (ULAZ)
• Postupak, instrukcije, upute (OBRADA)
• Završne objekte, rezultat (IZLAZ)
SVAKI ALGORITAM IMA:
1. GOVORNIM JEZIKOM (npr. recepti)
2. GRAFIČKIM PRIKAZOM (pomoću simbola – dijagram
tijeka)
3. UMJETNIM JEZIKOM (izmišljeni jezik s posebnim
riječima i pravilima njihovog pisanja – programski jezik)
Takav se algoritam naziva PROGRAM. Sastoji se od
NAREDBI.
ALGORITME ZAPISUJEMO:
2/25/2020 15
DIJAGRAM TIJEKA
algoritam zapisan pomoću simbola:
Nacrtati dijagram tijeka za
algoritam u kojem se upisuju
(učitavaju, unose) dva broja, te
se ispisuju obrnutim
redosljedom.
PRIMJER
operacija matematika dijagram tijeka/programiranje
zbrajanje a+b a+b
oduzimanje a-b a-b
množenje ab a*b
dijeljenje a:b a/b
ARITMETIČKE OPERACIJE
relacijski operator matematika dijagram tijeka/programiranje
manje < <
veće > >
jednako = =
različito <>
manje ili jednako <=
veće ili jednako ≥ >=
RELACIJSKI OPERATORI
logički operator logički izraz vrijednost
NE (not) not 0 1
not 1 0
I (and) 0 and 0 0
0 and 1 0
1 and 1 1
ILI (or) 0 or 0 0
0 or 1 1
1 or 1 1
LOGIČKI OPERATORI
Prednosti operatora: not → and → or
Odredi vrijednost logičkih izraza (0 ili 1):
(2<>5) and (3<=8)
not (4=5)
1 and 0 or 1
not 1 or 1
1 and (0 or 1)
not (0 or 0)
1 and 0 or 1 and 1
1 and (0 or 1) and 1
PRIMJER
Rješenja
1
1
1
1
1
1
1
1
Nacrtati dijagrame tijeka za algoritme u kojima se:
1. upisuju duljine stranica pravokutnika (a,b), a ispisuje opseg i
površina pravokutnika (o, p)
2. upisuje cijena proizvoda c i postotak sniženja p, a ispisuje
cijena proizvoda nakon sniženja (n)
ZADACI
RJEŠENJA:
Nacrtati dijagram tijeka za algoritam u kojem se:
1. upisuju dva broja, ispisuje njihov zbroj i umnožak
2. upisuju tri broja, ispisuje njihova aritmetička sredina
DZ:
• slijed
• grananje (odluka)
• ponavljanje (petlja)
OSNOVNI ALGORITAMSKI POSTUPCI
SLIJED - koraci tj. naredbe idu jedna za drugom
KORAK1 → KORAK2 → KORAK3
GRANANJE - postavlja se uvjet; ovisno o donešenoj
odluci provode se određeni koraci
DA → KORAK1 → KORAK2
UVJET ?
NE → KORAK3 → KORAK4
PONAVLJANJE (PETLJA) – koraci se ponavljaju
određeni broj puta (to ovisi o uvjetu ili je unaprijed
zadan broj ponavljanja)
DA → KORAK1 → KORAK2
UVJET ?
NE → KORAK3 → KORAK4
ili: ponavljaj 10 puta: KORAK1 → KORAK2
nakon toga izvrši KORAK3 → KORAK4
• algoritam zapisan pomoću riječi hrvatskog jezika
(ulaz, izlaz, ako je, onda, inače, za, činiti,...)
• ima strukturu programa
PSEUDOJEZIK (PSEUDOKÔD)
{
ulaz(a,b);
izlaz(b,a);
}
PRIMJER
a,b
b,a
kraj
početak
DIJAGRAM TIJEKA
PSEUDOJEZIK
funkcija matematikadijagram
tijeka/programiranjeprimjer
korjenovanje sqrt(x) sqrt(9)=3
kvadriranje sqr(x) sqr(4)=16
apsolutna vrijednost abs(x) abs(-2)=2
zaokruživanje round(x) round(3.6)=4
odbacivanje decimalnog dijela
trunc(x) trunc(3.6)=3
cjelobrojno dijeljenje div 8 div 5=1
ostatak cjelobrojnog dijeljenja
mod 8 mod 5=3
x
2x
x
x
FUNKCIJE I OPERATORI
Prioritet operatora:
( ) → NE → * / DIV MOD I → + - ILI →
relacijski operatori
ZADACI S DRŽAVNIH MATURA
2/25/2020 36
2/25/2020 37
2/25/2020 38
2/25/2020 39
ZADACI S NATJECANJA
40
Naredba 1
Naredba 2
Naredba 3
Naredba 1
uvjet Naredba 2
da
ne
Naredba 1
uvjet
da
Naredba 2ne
grananje
slijed
petlja
Osnovni algoritamski
postupci (strukture)
▪ imamo uvjet
▪ ako je on ispunjen (da) izvršava se jedna
naredba ili niz naredbi
▪ ako nije ispunjen (ne) druga ili druge
JEDNOSTAVNO GRANANJE
41
2/25/2020 42
• PRIMJER:
Učitati broj.
Ako je pozitivan ispisati njegov drugi
korijen.
U protivnom ispisati njegov kvadrat.
43
44
Pseudojezik:
{
ulaz(a);
ako je a>0 onda
b:=sqrt(a)
inače
b:=sqr(a);
izlaz(b);
}
Dijagram tijeka:
1. Što će se ispisati
nakon izvođenja
sljedećeg dijela
programa?
ZADACI
45
a:=7;
ako je a mod 2=0 onda
izlaz(“To je paran broj!”)
inače
izlaz(“To je neparan broj!”);
2. Koju će
vrijednost imati
varijabla a nakon
izvođenja
sljedećeg dijela
programa?
46
a:=5;
b:=a+5;
b:=b*b-a;
a:=a*a-b;
ako je a<b onda
a:=a-b
inače
a:=a+b
izlaz(a);
izlaz(‘’a’’);
3. Napiši program u kojem se učitava realan broj.
Ispituje se je li to cijeli broj i ispisuje se poruka o
tome.
47
{
ulaz(a);
ako je a=trunc(a) onda
izlaz(“To je cijeli broj!”)
inače
izlaz(“To je nije cijeli broj!”);
}
4. Napiši program u kojem se učitava realan
broj r koji predstavlja polumjer kruga.
Ako je pozitivan, izračunavaju se i ispisuju
opseg i površina kruga.
U protivnom se ispisuje poruka i prekida
izvršavanje programa.
48
2/25/2020 49
{
ulaz(r);
ako je r>0 onda
{
O:=2*r*3.14;
P:=r*r*3.14;
izlaz(O,P);
}
inače
izlaz(“Pogrešan unos!”)
}
5. Napiši progam u kojem se učitavaju brojevi
a i b koji predstavljaju duljine kateta
pravokutnog trokuta.
Ako je barem jedna vrijednost nepozitivna,
ispisuje se poruka i prekida izvršavanje
programa.
U protivnom se izračunavaju i ispisuju
opseg i površina tog trokuta.
50
2/25/2020 51
{
ulaz(a,b);
ako je (a<=0) ili (b<=0) onda
izlaz(“Pogrešan unos!”)
inače
{
c:=sqrt(sqr(a)+sqr(b));
O:=a+b+c;
P:=a*b/2;
izlaz(“Opseg iznosi”, O , “, a površina “, P , “.”);
}
}
2/25/2020 52
2/25/2020 53
{
ulaz(a,b);
ako je a=b onda
izlaz(“Jednaki su!”)
inače
ako je a<b onda
izlaz(“Manji je broj “, a)
inače
izlaz (“Manji je broj “, b)
}