x
Učitavanje

3.2 Definiranje logičkog izraza za zadani problem u programiranju

Što ću naučiti?
Europska unija - Zajedno do fondova EU
Prethodna jedinica Sljedeća jedinica
Sadržaj jedinice icon sadržaj jedinice

Na početku...

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.

Matija i njegov djed
Matija i njegov djed sjede za stolom i u rukama drže igraće karte. Uz njih, tu su i dva ribička štapa prislonjena uz stol.

Pomozite Matiji!  

Palica i loptica zajedno koštaju stodeset kuna. Palica košta sto kuna više od loptice. Koliko košta loptica?
kuna.

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?

Potrebno je
minuta
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?

Potrebno je
dana.

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.

Varijable

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.

Kutak za znatiželjne

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, C 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 a .

Pseudojezik a = 100 ;
Python a = 100 ;
C/C++ i n t a ;
a = 100 ;

Zadatak 1.

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 = 100 , a korisnik unosi cijeli broj u varijablu b . Program ispisuje zbroj ta dva broja.

Pomoć:

U varijablu a pohrani vrijednost 100.
Ispiši zbroj varijabli a i b.

Postupak:

a = 100
print(a + b)

Aritmetički operatori

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 d i v // /
ostatak cjelobrojnog dijeljenja m o d % %

Cjelobrojno dijeljenje d i v 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 5 d i v 2 = 2 , budući je rezultat dijeljenja pet s dva 2.5 , a uzimamo samo cijeli dio.

Ostatak cjelobrojnog dijeljenja m o d je cijeli broj, a predstavlja ostatak pri dijeljenju. Aritmetička operacija ostataka od cjeobrojnog dijeljenja često se koristi pri rješavanju problema programiranjem. Primjerice 5 m o d 2 = 1 , 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 2 x + 3 4  zapisuje pseudojezikom?

null
null

Relacijski operatori

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?

null
null

Logički operatori

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 ||

Prisjeti se ulaznih uređaja. Kako zapisati znak | na tipkovnici?

null
null

Primjer 2.

Pogledajmo kako bismo zapisali uvjet a je manji od b i veći od sto: 

a < b I a > 100  (pseudojezik)

a < b and a > 100  (Python)

a < b & & a > 100  (C/C++)

Za koje vrijednosti varijabli a i b će izraz iz prethodnog primjera biti istinit?

null
null

U tablici su zapisani prioriteti operacija:

Prioritet Operacija
1. ()
2. NE
3. * / d i v m o d I
4. + - ILI
5. <, <=, ==, >, >=, <>

Pogledajmo kojim prioritetom odjeđujemo istinitost logičkog izraza za zadani problem u programiranju.

Koji su izrazi istiniti?

null
null

Kutak za znatiželjne

Python možeš pokrenuti i na pametnom telefonu. Na sljedećem videu prikazano je kako preuzeti aplikaciju i pokrenuti prvi program:

Python na mobilnom telefonu
Pythonov kod napisan bijelim slovima. U drugom planu je ruka koja drži mobitel na čijem je zaslonu Pythonov kod.

...i na kraju

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!

Procijenite svoje znanje

Povratak na vrh