Matija obožava igrati karte s djedom, a još mu je draže kada ga djed vodi na pecanje. Nedjeljom nakon obiteljskog ručka, prilikom igranja njihovih omiljenih kartaških igara, djed često Matiju podsjeća da umijeće kartanja leži u logičkom zaljučivanju. Nakon partije karata, djed Matiji uvijek zada tri logička zadatka te ga, nakon što ih Matija s lakoćom riješi, vodi na pecanje.
Pomozite Matiji!
Pomoć:
Zbroji cijenu palice i loptice tako da dobiješ 110.
Postupak:
Rješenje je 5.
5 + 105 = 110.
Ako pet strojeva u pet minuta napravi pet proizvoda, koliko je potrebno da sto strojeva napravi sto proizvoda?
Pomoć:
Povećali smo i broj proizvoda i broj strojeva. Što se događa s vremenom?
Postupak:
Ako pet strojeva u pet minuta napravi pet proizvoda, sto strojeva će napraviti sto proizvoda u istom vremenskom roku.
U jezeru se nalazi otok od lopoča. Svakog dana površina otoka se udvostručuje. Ako je potrebno četrdeset i osam dana da otok prekrije cijelo jezero, koliko dana je potrebno da prekrije polovicu jezera?
Pomoć:
Ako se svakim danom udvostručuje, koji dan će biti duplo manje od potpunog jezera?
Postupak:
47. Budući da se već idući dan udvostručuje.
Nakon zagrijavanja moždanih vijuga, spremi smo za pecanje programskog koda! Prije nego krenemo s definiranjem logičkog izraza za zadani problem u programiranju, prisjetit ćemo se gradiva petog razreda.
Sve što računalo "pamti" smješta se u memoriju. Memorijske lokacije imaju svoje adrese, koje i nije toliko lako upamtiti. Umjesto toga uvode se simbolički nazivi za njih - varijable. Varijable imenujemo tako da kasnije nemamo poteškoća s odgonetavanjem što koja varijabla predstavlja. Službeni načini zapisivanja programskih kodova na državnoj maturi su pseudojezik te kodovi programskih jezika C/C++ i Python. Pseudojezik sadrži ista pravila pisanja (sintaksu) kao i programski jezici, ali je prilagođen hrvatskom jeziku te pojednostavljen da se može zapisati na papiru.
Nakon pisanja ispravnog algoritma za neki problem, slijedi kodiranje, odnosno pisanje programa u odabranom programskom jeziku. Često se smatra da su programiranje i kodiranje sinonimi, međutim oni to nisu. Programiranje uključuje analizu problema, planiranje, pisanje algoritma, kodiranje, ispravljanje pogrešaka, izradu dokumentacije i održavanje programa.
Naš glavni fokus predstavlja kodiranje, a gotov program prošao je i kroz sve ostale faze programiranja.
Postoji nekoliko vrsta programskih jezika. U početku su programeri kodirali u strojnom jeziku, potom u asembleru, pa u višim simboličkim jezicima koji se koriste i dan danas, a posljednje dvije faze dosadašnjeg razvoja programskih jezika su objektno usmjereni programski jezici te neproceduralni jezici.
Na mrežnoj stranici Stackify možete pogledati popis trenutno najpopularnijih programskih jezika. Trenutno su to Java koji je objektno usmjeren,
koji je viši simbolički jezik te Python koji pripada i objektno usmjerenim jezicima i višim simboličkim jezicima.
Proučite mrežnu stranicu i opise najpopularnijih programskih jezika!
Primjer 1.
U sljedećoj tablici nalaze se primjeri pridruživanja vrijednosti varijabli .
Pseudojezik Python C/C++
Prisjeti se kako se unos dviju varijabli prikazuje dijagramom toka te ga skiciraj na poveznici.
Prisjeti se gradiva petog i šestog razreda te napiši Python program gdje je
a korisnik unosi cijeli broj u varijablu
. Program ispisuje zbroj ta dva broja.
Pomoć:
U varijablu a pohrani vrijednost 100.
Ispiši zbroj varijabli a i b.
Postupak:
Prisjetimo se još malo gradiva petog razreda. Putem aritmetičkih operatora programi obrađuju podatke.
OPERATOR | PSEUDOJEZIK | PYTHON | C/C++ |
---|---|---|---|
zbrajanje | + | + | + |
oduzimanje | - | - | - |
množenje | * | * | * |
dijeljenje | / | / | / |
cjelobrojno dijeljenje | // | / | |
ostatak cjelobrojnog dijeljenja | % | % |
Cjelobrojno dijeljenje
jest dijeljenje pri kojem zanemarujemo decimalni dio te uzimamo samo cijeli dio rezultata. Nije isto kao i zaokruživanje vrijednosti, gdje se uzima prva najbliža cijela vrijednost. Primjerice
budući je rezultat dijeljenja pet s dva
a uzimamo samo cijeli dio.
Ostatak cjelobrojnog dijeljenja
je cijeli broj, a predstavlja ostatak pri dijeljenju. Aritmetička operacija ostataka od cjeobrojnog dijeljenja često se koristi pri rješavanju problema programiranjem. Primjerice
budući da je dva puta dva četiri, a do pet nam ostaje jedan.
Osim što voli logičke zadatke Matija je i izvrstan matematičar. Na satu informatike naučio je da se matematički izrazi na računalu pišu malo drugačije, jer se računalu mora navesti svaki operator u izrazu.
Što misliš kako se matematički izraz
zapisuje pseudojezikom?
Relacijski operatori ispituju u kakvom su odnosu dvije varijable ili u kakvom je odnosu varijabla prema nekoj vrijednosti. Koriste se kod pisanja uvjeta kojima usmjeravamo tijek programa kod programskog grananja ili kod ponavljanja.
RELACIJSKI OPERATOR | MATEMATIKA | PSEUDOJEZIK | PYTHON | C/C++ |
---|---|---|---|---|
jednako | = | == | == | == |
različito | <> | <> | != | != |
manje | < | < | < | < |
manje ili jednako | <= | <= | <= | |
veće | > | > | > | > |
veće ili jednako | >= | >= | >= |
Koji su matematički izrazi napisani relacijskim operatorima istiniti?
Logički operatori omogućuju pisanje složenih upita spajanjem više jednostavnih logičkih izraza. Upotreba logičkih operatora u spajanju izraza može skratiti pisanje programa i doprinijeti jezgrovitosti i učinkovitosti programa.
LOGIČKI OPERATOR | BOOLEOVA ALGEBRA | PSEUDOJEZIK | PYTHON | C/C++ |
---|---|---|---|---|
logičko NE | NE | not | ! | |
logičko I | I | and | && | |
logičko ILI | ILI | or | || |
Primjer 2.
Pogledajmo kako bismo zapisali uvjet a je manji od b i veći od sto:
(pseudojezik)
(Python)
(C/C++)
Za koje vrijednosti varijabli
i
će izraz iz prethodnog primjera biti istinit?
U tablici su zapisani prioriteti operacija:
Prioritet | Operacija |
---|---|
1. | () |
2. | NE |
3. | * / I |
4. | + - ILI |
5. | <, <=, ==, >, >=, <> |
Pogledajmo kojim prioritetom odjeđujemo istinitost logičkog izraza za zadani problem u programiranju.
Koji su izrazi istiniti?
Python možeš pokrenuti i na pametnom telefonu. Na sljedećem videu prikazano je kako preuzeti aplikaciju i pokrenuti prvi program:
Matija se svake godine natječe u međunarodnom natjecanju iz informatike i računalnog razmišljanja Dabar tako da mu je ova jedinica više nego "sjela". Otvori poveznicu na PseudoDabar te se okušaj u zadacima s prethodnih natjecanja!