Varijable, konstante, operatori
Sjedište: | CARNET - Arhiva 2021 Loomen |
E-kolegij: | III. Gimnazija Osijek - Informatika 1 |
Knjiga: | Varijable, konstante, operatori |
Otisnuo/la: | Gost (anonimni korisnik) |
Datum: | petak, 31. siječnja 2025., 17:50 |
1. Podaci u programu
U zadatku s voćnjakom (rješenje pogledajte u knjizi Analiza zadatka) koristili smo različite podatke (m, n, kolicina_zice, x, broj_stupova, ukupna_cijena, ...) Označili smo tak oda nas asociraju na podatak koji predstavljaju. Neki od tih podataka bili su:
- ulazni - unosili smo ih sa tipkovnice,
- izlazni - ispisivali smo ih na zaslon, najčešće na kraju programa
- ili su nam samo trebali da bismo nešto izračunali kao pomoćni podaci.
Svaka od ovih memorijskih lokacija je prostor u koji spremamo varijable. Svaku
memorijsku lokaciju određuju njena adresa, ime i vrijednost koja je u njoj
pohranjena. Ovisno o tome kakva je varijabla (je li cjelobrojna, ralna
ili je neki znak) ovisti će koliko je momorijska lokacija velika (koliko
bitova ili bajtova zauzima). Sjetite da smo govorili o prikazu podataka
u računalu i da različiti podaci ne zauzimaju istu količinu memorije. Primjerice, ako korisnik nailaskom na naredbu ulaz(r) upiše cijeli broj 10, ime varijable je r, tip varijable je broj (točnije, cijeli broj), a vrijednost je 10.
Osim varijabli u programima se mogu upotrebljavati i podaci koji se tijekom izvođenja programa neće mijenjati. Njih nazivamo konstante. Kao i varijable i konstante se pohranjuju u memoriju računala na isti način. Konstante ste već upotrebljavali u matematici, recimo π (pi).
Da bismo u programu upotrebljavali varijable i konstante, moramo ih
razlikovati. Dakle, moramo im dodijeliti imena kao što smo to napravili u zadatku s voćnjakom. Ime varijabli daje sam programer, proizvoljno. To su često nazivi poput a, b, c, x, y..., ali mnogo je bolje imenovati varijable prema njihovoj namjeni: poruka, ocjena, temperatura, srednja_vrijednost...
Već smo u zadatku s voćnjakom upotrebljavali neke matematičke operacije - zbrajanje, oduzimanje, množenje, ... Pogledajmo u nastavku nešto više o tome!
2. Aritmetički operatori
Za računanje aritmetičkih izraza koriste se aritmetički operatori. U većini programskih jezika, uz već standardne operatore za zbrajanje (+), oduzimanje (-), množenje (*) i dijeljenje (/), koriste se dva dodatna operatora:
- operator cjelobrojnog dijeljenja i
- operator ostatka cjelobrojnog dijeljenja.
Operator cjelobrojnog dijeljenja daje rezultat cjelobrojnog dijeljenja dvaju cijelih brojeva. Ostatak pri cjelobrojnom dijeljenju vraća ostatak koji dobijemo pri dijeljenju dvaju cijelih brojeva. U pseudojeziku zapisuju se sa div i mod. Pogledajmo na primjeru:
U programskom jeziku C definirani su ovi aritemtički operatori:
Primjetite da za cjelobrojno dijeljenje nama posebnog operatora neko se upotrebljava znak /, ali ako dijelimo dva cijela broja uvijek ćemo dobiti cijeli broj! Operator za ostatak cijelobrojnog dijeljenja je %.
Kao i u matematici viši prioritet imaju operatori %, * i /, a niži + i -.
2.1. Zadaci
Ovi zadaci zapisani su u pseudokodu!
1. Izračunaj vrijednost izraza:
a) 15 div 3 + 20 mod 5
b) 17 div 3*7 mod 3
c) 17 div 5 mod 3
d) 4 + 4*7 div 3 mod 7
e) 13*4 + 12 mod 5 - 43 div 2 mod 6
Ovi zadaci zapisani su u programskom jeziku C!
3. Vrijednosti izraza 20 % 3 je:
a) 6
b) 6.6667
c) 2.
4. Izračunajte vrijednosti izraza 9 * 7 / 5 % 8.
5. Vrijednost izraza 12 * 5 + 9 / 3 je:
a) 63
b) 96
c) 56.
6. Izračunajte vrijednost izraza a + b * c – a % b ako je:
a) a = 2, b = 5, c = 6
b) a = 13, b = 10, c = 5.
Zadatke riješi u svoju bilježnicu!
3. Pridruživanje vrijednosti
Svaki programski jezik ima operator pridruživanja. Upotrebljavali smo ga i u zadatku s voćnjakom kad smo recimo izračunavali količinu potrebne žice (ovo je bio zapis u pseudokodu):
kolicina_zice = 2 * (m + n)
Operator pridruživanja varijabli s lijeve strane pridružuje vrijednost izraza s desne strane. Koristi se za postavljanje vrijednosti varijabli. Osim upisivanja konkretne vrijednosti, varijabli možemo pridružiti vrijednost izračunavanjem.
Operator pridruživanja u pseudojeziku i u programskom jeziku C označava se oznakom =. Na primjer, zapišemo li a = 5 , to znači da ćemo broj 5 pohraniti u memoriju kao vrijednost varijable a. Kažemo da smo varijabli a pridružili vrijednost 5. Zapišemo li a = 3 + 5, najprije će se izračunati vrijednost s desne strane pa će se tek onda ta izračunata vrijednost pridružiti varijabli a. Dakle, vrijednost varijable a nakon te naredbe bit će 8.
Primjer:
Kolika će biti vrijednost varijable a nakon izvršavanja naredbi:
a = 5
a = a + 6?
Vrijednost varijable a nakon prve naredbe je 5. Nailaskom na naredbu a = a + 6 program će najprije dohvatiti vrijednost varijable a (5). Nakon toga će toj vrijednosti dodati broj 6. Tada će dobiveni zbroj (5 + 6 = 11) pridružiti varijabli a. Dakle, vrijednost varijable a nakon izvršavanja prethodnih naredbi bit će 11.
Uočite da se prethodna vrijednost varijable a (5) „briše” i da na njezino mjesto dolazi nova vrijednost. Nakon druge naredbe starom se vrijednošću varijable nećemo moći ponovno koristiti. To je jedna od čestih pogrešaka na početku programiranja, jednostavno očekujete da možete raditi s obje vrijednosti.
Primjer:
Nakon izvođenja naredbi:
x = 3
y = 7
x = x – 3*y
y = -y
x = x + y
varijabla x imat će vrijednost -25. Korak po korak ovako bismo to riješili:
x = 3
y = 7
x = x – 3*y → x = 3 - 3*7 = 3 - 21 = -18
y = -y → y = -7
x = x + y → x = -18 + (-7) = -25
3.1. Zadaci
Zadaci su zapisani pseudokodom!
1. Kolika je vrijednost cjelobrojne varijable x nakon izvršavanja sljedećih naredbi?
a. x = 17 div 3
b. x = 17 mod 3
c. x = 25 div 5 + 16 mod 5 + 1
d. x = 13 div 4*12 mod 5*3
2. Kolika će biti vrijednost varijable a nakon izvođenja sljedećih naredbi?
a = 184
a = a div 10 mod 10
3. Kolika će biti vrijednost varijable b nakon sljedećeg bloka naredbi?
a = 821
b = a div 100 + a div 10 mod 10 + a mod 10
4. Dan je algoritam u pseudojeziku:
ulaz (a, b)
c = a + b
d = a - b
e = a*b
izlaz (c, d, e)
Kolike će biti vrijednosti varijabli c, d i e ako je početna vrijednost varijable a = 5, a varijable b = 6?
5. Kolika je vrijednost varijable x nakon izvođenja sljedećeg algoritma?
x = 13
y = 12
x = 2*x – 3*y
y = -2*y
x = x + y
6. Koju će vrijednost imati varijable x i y nakon izvođenja sljedećega programskog odsječka?
x = 254
x = x div 10
y = x div 10
z = y + x mod 10
7. Koju će vrijednost poprimiti varijabla p nakon izvođenja dijela programa?
p = -8
r = 5
r = r – p
p = p – r
p = p – r
Zadatke riješite u svoje bilježnice!