Do sada smo naučili kako da napišemo i pokrenemo C++ program, kako da koristimo cout i cin, kako da pišemo komentare i kako da prepoznamo greške.

Sada dolazimo do jednog od najvažnijih pojmova u programiranju:

promenljive

Bez promenljivih ozbiljno programiranje praktično ne postoji.

Ako program ne može da zapamti podatak, ne može:

  • da računa,
  • da poredi vrednosti,
  • da pamti unos korisnika,
  • da obrađuje informacije,
  • niti da donosi odluke.

Promenljive predstavljaju osnovu gotovo svakog programa.

U ovom tekstu naučićemo:

  • šta su promenljive,
  • zašto se koriste,
  • kako se prave,
  • kako se dodeljuju vrednosti,
  • kako ih menjamo,
  • kako računar čuva njihove vrednosti,
  • i koje greške početnici najčešće prave.

Šta je promenljiva?

Promenljivu možemo zamisliti kao kutiju u memoriji računara.

Ta kutija ima:

  • ime,
  • određeni tip podataka,
  • i vrednost.

Na primer:

zamislimo kutiju sa oznakom:

godine

u kojoj se nalazi:

21

To znači:

program je zapamtio broj 21 pod imenom godine.

U C++ to pišemo:

int godine = 21;

Ovo znači:

  • napravi promenljivu,
  • nazovi je godine,
  • sačuvaj vrednost 21.

Zašto su promenljive potrebne?

Bez promenljivih program bi mogao samo da izvršava fiksne instrukcije.

Na primer:

cout << 5 + 3;

Ovaj program ispisuje:

8

Ali ne može da pamti podatke.

Ako želimo da korisnik unese broj:

cin >> broj;

moramo imati mesto gde će taj broj biti sačuvan.

To mesto je promenljiva.

Primer:

int broj;
cin >> broj;

Sada korisnički unos ostaje zapamćen u promenljivoj broj.

Deklaracija promenljive

Kada prvi put pravimo promenljivu, to se zove:

deklaracija

Primer:

int broj;

Ovo znači:

  • napravi promenljivu imena broj,
  • koja može čuvati celobrojne vrednosti.

Ovde promenljiva postoji, ali još nema dodeljenu konkretnu vrednost.

Dodela vrednosti

Ako želimo da promenljivoj damo vrednost:

broj = 15;

Ovo se zove:

dodela vrednosti

Možemo spojiti deklaraciju i dodelu:

int broj = 15;

To je veoma čest način rada.

Primer programa sa promenljivom

#include <iostream>
using namespace std;

int main() {
    int godine = 22;

    cout << godine;

    return 0;
}

Rezultat:

22

Program ne ispisuje tekst:

godine

već vrednost koja se nalazi u toj promenljivoj.

Promenljiva nije tekst

Ovo je veoma važna razlika.

Pogrešno razmišljanje:

“Program ispisuje ime promenljive.”

Ne.

Program koristi ime promenljive da pronađe vrednost.

Primer:

int poeni = 100;
cout << poeni;

Rezultat:

100

Ako želimo da ispišemo samu reč:

poeni

onda moramo koristiti navodnike:

cout << "poeni";

Kako računar vidi promenljivu?

Računar promenljive čuva u memoriji.

Možemo to zamisliti ovako:

IME: broj
VREDNOST: 15
LOKACIJA: memorija

Programer koristi ime:

broj

ali računar interno koristi memorijsku adresu.

Kasnije ćemo učiti pokazivače i memoriju detaljnije.

Za sada je dovoljno da promenljivu zamišljamo kao imenovanu memorijsku lokaciju.

Menjanje vrednosti promenljive

Promenljiva može menjati vrednost.

Zato se i zove promenljiva.

Primer:

int broj = 10;

kasnije:

broj = 25;

sada:

cout << broj;

rezultat:

25

Stara vrednost se zamenjuje novom.

Primer sa više promena

#include <iostream>
using namespace std;

int main() {
    int saldo = 1000;

    cout << saldo << endl;

    saldo = 1500;
    cout << saldo << endl;

    saldo = 700;
    cout << saldo << endl;

    return 0;
}

Rezultat:

1000
1500
700

Dodela iz druge promenljive

Promenljivoj možemo dodeliti vrednost druge promenljive.

Primer:

int a = 10;
int b = a;

Sada:

b

ima vrednost:

10

Ako kasnije promenimo:

a = 20;

b ostaje:

10

jer je vrednost kopirana.

Izračunavanje sa promenljivama

Promenljive možemo koristiti u izrazima.

Primer:

int a = 5;
int b = 3;
int zbir = a + b;

Rezultat:

8

Možemo ispisati:

cout << zbir;

Primer programa sa unosom

#include <iostream>
using namespace std;

int main() {
    int broj;

    cout << "Unesi broj: ";
    cin >> broj;

    cout << "Uneli ste: " << broj;

    return 0;
}

Ovde:

  • korisnik unosi vrednost,
  • cin je smešta u promenljivu,
  • cout je prikazuje.

To je osnovna interakcija programa i korisnika.

Pravila imenovanja promenljivih

Ime promenljive mora poštovati određena pravila.

Dozvoljeno:

ime
prezime
godine
ukupanZbir
broj1

Nije dozvoljeno:

1broj
ime-prezime
moj broj

Zašto?

Jer C++ ima pravila sintakse.

Ime promenljive:

  • može sadržati slova,
  • brojeve,
  • i underscore _

ali ne sme početi brojem.

Dobra imena promenljivih

Loše:

int x;

Bolje:

int brojStudenata;

Loše:

int a;

Bolje:

int ukupnaCena;

Dobro ime odmah objašnjava svrhu promenljive.

Case sensitivity

C++ razlikuje velika i mala slova.

Ovo su različite promenljive:

broj
Broj
BROJ

Primer:

int broj = 5;
int Broj = 10;

To su dve potpuno različite promenljive.

Najčešće greške početnika

1. Korišćenje nepostojeće promenljive

Pogrešno:

cin >> broj;

ako nije deklarisana.

Ispravno:

int broj;
cin >> broj;

2. Pogrešno ime

Pogrešno:

int 2broj;

3. Razmak u imenu

Pogrešno:

int moj broj;

4. Mešanje promenljive i teksta

Pogrešno:

cout << "broj";

ako želimo vrednost promenljive.

Ispravno:

cout << broj;

5. Zaboravljena dodela

Pogrešno:

int broj;
cout << broj;

Promenljiva nema sigurnu vrednost.

Neinicijalizovane promenljive

Ako napišemo:

int broj;

ali ne dodelimo vrednost:

broj = ...

onda promenljiva može sadržati nepredvidivu vrednost.

Bolje:

int broj = 0;

ili:

cin >> broj;

uvek dodeliti vrednost pre korišćenja.

Promenljive u realnom svetu

Primer banke:

double stanje = 12500.50;

Primer škole:

int brojPoena = 87;

Primer prodavnice:

double cena = 399.99;

Primer igre:

int zivoti = 3;

Promenljive su svuda.

Zašto su promenljive ključne?

Bez promenljivih nema:

  • unosa korisnika,
  • matematike,
  • logike,
  • algoritama,
  • petlji,
  • funkcija,
  • ozbiljnog programiranja.

One su jedna od osnovnih građevinskih jedinica svakog programa.

Rezime

Promenljiva je imenovana memorijska lokacija koja čuva podatak.

U C++ promenljive:

  • imaju ime,
  • tip,
  • i vrednost.

Mogu:

  • primati podatke,
  • menjati vrednost,
  • učestvovati u izračunavanjima,
  • i omogućavaju programu da „pamti“.

Razumevanje promenljivih je jedan od najvažnijih koraka u učenju programiranja.

Mini test

  1. Šta je promenljiva?
    a) Funkcija
    b) Memorijska lokacija za čuvanje podataka
    c) Kompajler
  2. Šta radi:
int broj = 5;

a) Briše broj
b) Pravi promenljivu i dodeljuje vrednost
c) Gasi program

  1. Da li je dozvoljeno:
int 2ime;

a) Da
b) Ne

  1. Šta ispisuje:
int poeni = 100;
cout << poeni;

a) poeni
b) 100

  1. Da li promenljiva može promeniti vrednost?
    a) Da
    b) Ne

Zadaci za vežbu

  1. Napravi promenljivu za godine i dodeli joj vrednost.
  2. Napravi promenljivu za cenu proizvoda.
  3. Napravi program koji unosi broj i ispisuje ga.
  4. Napravi promenljivu za broj poena u igri.
  5. Napravi program sa dve promenljive i zbir.

Domaći zadatak

Napravi program koji čuva:

  • ime studenta
  • godine
  • broj indeksa
  • broj poena

i ispisuje ih na ekran.

Pristupačnost