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.
Sve su to bili podaci koje nazivamo varijable. Varijable su podatci čije se vrijednosti tijekom izvođenja programa mijenjaju.

Pojam varijable poznajete i iz matematike, ali u programiranju ipak vrijede drukčija pravila.
Riječ varijabla u programiranju ponajprije označuje memorijsku lokaciju, spremnik u kojem je pohranjena njezina vrijednost.

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


2. Izračunaj vrijednost varijable x ako je:
a) x = 2 * 3 + 4/2
b) x = 2 + 3 * 4 div 3
c) x = 12 div 5 + 17 mod 3
d) x = 14 + 5 div 2 – 7 mod 4
e) x = 17 div 4 * 3

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!