$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \newcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Promenljive

  • Dozvoljeno polaganje
  • -
  • Nema
  • Jovan Popović
  • 2/10/2017

Promenljive su objekti koji sadrže neke vrednosti, u koje se mogu upisivati vrednosti i iz kojih se mogu čitati vrednosti. Ako vrednosti zamislimo kao novčanice, onda promenljive možemo da zamislimo kao novčanike:

Novčanik

Novčanik može da ima u sebi različite vrednosti, u njega možemo da ubacujemo nove vrednosti ili da izvadimo neke vrednosti. Često promenljive predstavljaju neke realne pojave čije vrednosti želimo da zapamtimo (npr. želimo da zapamtimo da epizoda neke serije na TV programu počinje u 10:27, završava se u 11:32, traje ukupno 25 minuta uz 41 sekundi reklama). Promenljive je najlakše zamisliti kao kutije koje sadrže vrednosti nekih podataka. Na primer, potrebno nam je da negde zapamtimo kada je počela neka epizoda na TV-u, kada se završila, koliko je trajala, i koliko su trajale reklame tokom epizode serije. Trebaju nam četiri kutije gde bismo smestili ove podatke.

Promenljive u kutijama

Mi te "kutije" zovemo promenljive zato što se vrednosti koje se nalaze u njima u svakom trenutku mogu promeniti. Jedina stvar koja se ne može promeniti je ime promenljive.

Dodela vrednosti promenljivama

Jedna od najbitnijih stvari koju moramo da naučimo u programskim jezicima je kako da u promenljivu upišemo neku vrednost. Na primer, zamislite da u promenljivu x treba da ubacite vrednost 3. Upisivanje vrednosti u promenljive se radi tako što se napiše ime promenljive onda znak = iza koga sledi vrednost koja se upisuje u promenljivu:

Dodela vrednosti promenljivoj

Umesto broja, u promenljivu možete da upišete i tekst ili vrednost iz neke druge promenljive:

X = 3
Y = X

Prva naredba će upisati vrednost 3 u promenljivu X. Druga naredba će pročitati vrednost koja se nalazi u promenljivoj X i upisati je u promenljivu Y.

Hajde da ponovo pogledamo problem u kome moramo da upišemo podatke o epizodi serije u promenljive pocetakEpizode, krajEpizode, trajanjeEpizode i trajanjeReklama. Trebao bi nam ovakav program:

pocetakEpizode = 1027
krajEpizode = 1132
trajanjeEpizode = 25
trajanjeReklama = 41

U ovom primeru smo naveli da nam trebaju četiri promenljive i napisali smo koje vrednosti treba da budu u njima.

Zadatak - razmena vrednosti u promenljivama**

Hajde sada da napišemo prvi program. Imamo dve promenljive a1 i b1 u kojima se nalaze neke vrednosti. Potrebno je napisati program koji razmenjuje vrednosti u njima. Možda bi prva ideja bila da napišemo nešto kao:

a1 = 5
b1 = 8
a1 = b1
b1 = a1

U programu imamo dve promenljive a1 i b1, u prvu smo upisali vrednost iz druge, a onda u drugu vrednost iz prve. Deluje dobro - zar ne? Hajde da vidimo kako radi ovakav program korak po korak:

Zamena vrednosti sa greškom

Nešto nije u redu - na kraju smo dobili u obe promenljive vrednost iz druge! Problem je u tome što je prvo izvršena naredba a1 = b1, kojom smo u prvu promenljivu upisali vrednost 8 iz druge ali time smo uništili vrednost koja je bila u toj promenljivoj pošto smo "preko nje" prepisali vrednost 8. U poslednjoj naredbi smo upisali vrednost prve promenljive u drugu, ali tu više nije broj 5 koji je ranije bio u prvoj promenljivoj. To je sad vrednost 8 koja je već bila u drugoj promenljivoj.

Da bismo napisali ispravan program, moramo da koristimo još jednu promenljivu u koju bismo sačuvali vrednost iz promenljive a1 pre nego što u nju upišemo novu vrednost iz b1. Onda bismo u promenljivu b1 upisali vrednost iz pomoćne promenljive koju smo sačuvali pre nego što smo upisali vrednost u a1. Program koji ovo radi bi izgledao ovako:

a1 = 5
b1 = 8

pomocna = a1
a1 = b1
b1 = pomocna

Hajde opet da vidimo kako se pune promenljive pri svakoj naredbi:

Zamena vrednosti promenljivih pomoću pomoćne promenljive

Kao što možete da vidite, vrednost 5 je sačuvana u pomoćnoj promenljivoj pre nego što ju je zamenila vrednost 8 iz b1 i program je ispravan.