Varijabla (računarstvo): razlika između inačica

Izvor: Wikipedija
Izbrisani sadržaj Dodani sadržaj
Uršul (razgovor | doprinosi)
m Uršul je premjestio stranicu Promjenjivica na Promjenjivica (računalstvo)
Uršul (razgovor | doprinosi)
Nema sažetka uređivanja
Redak 1: Redak 1:
'''Promjenjivica'''<ref>[http://free-zg.htnet.hr/jsribar/demistif.pdf Demistificirani C++, 2. izdanje, str. 33]</ref><ref>[http://dzs.ffzg.unizg.hr/text/Uvod%20u%20informacijske%20znanosti/pog7.htm Digitalna zbirka Filozofskog fakulteta u Zagrebu] Miroslav Tuđman, Damir Boras, Zdravko Dovedan: Uvod u informacijske znanosti. Baze podataka.</ref><ref>[http://www.fsb.unizg.hr/usb_frontend/files/1332414796-0-matlab_udzbenik.pdf Fakultet strojarstva i brodogradnje - MATLAB - Matrični laboratorij] </ref> (imenica; ''engl. variable'', u hrv. u upotrebi još i '''varijabla''') u kontekstu programiranja jest ime kojem je pridružena vrijednost, i ta vrijednost se naziva vrijednost promjenjivice.
'''Promjenjivica'''<ref>[http://free-zg.htnet.hr/jsribar/demistif.pdf Demistificirani C++, 2. izdanje, str. 33]</ref><ref>[http://dzs.ffzg.unizg.hr/text/Uvod%20u%20informacijske%20znanosti/pog7.htm Digitalna zbirka Filozofskog fakulteta u Zagrebu] Miroslav Tuđman, Damir Boras, Zdravko Dovedan: Uvod u informacijske znanosti. Baze podataka.</ref><ref name="Essert, Žilić">[http://www.fsb.unizg.hr/usb_frontend/files/1332414796-0-matlab_udzbenik.pdf Fakultet strojarstva i brodogradnje - M. Essert, Tihomir Žilić: MATLAB - Matrični laboratorij] </ref> (imenica; ''engl. variable'', u hrv. u upotrebi još i '''varijabla''') u kontekstu [[programiranje|programiranja]] jest ime kojem je pridružena vrijednost, i ta vrijednost se naziva vrijednost promjenjivice.
Vrijednost promjenjivice moguće je "promijeniti", odnosno moguće joj je pridružiti neku drugu vrijednost, pa otud naziv promjenjivica.
Vrijednost promjenjivice moguće je "promijeniti", odnosno moguće joj je pridružiti neku drugu vrijednost, pa otud naziv promjenjivica.

Promjenjivica je svojevrsno skladište u kojem se nalazi podatak, a unutar kojeg se može tijekom rada mijenjati, od čega je došlo ovakvo ime. <ref name="Essert, Žilić"/> Ime promjenjivice čine kombinacije slovnobrojčanih znakova s time da prvi znak ne smije biti znamenka niti znak [[razgodak|razgotka]].<ref name="Essert, Žilić"/> Kakva će biti promjenjivica, ovisi kakva se pridružba napravila. Promjenjivici je moguće pridružiti bilo koji tip podatka.<ref name="Essert, Žilić"/>
Kada se više promjenjivica poveže operatorima, dobije se '''izraz'''.<ref name="Essert, Žilić"/>


Bitno je promjenjivicu ne shvatiti kao da je ona samo ime, jer u pojam promjenjivice ulazi i ideja njoj pridružene vrijednosti, kao i ideja vremena kroz koje je vrijednost promjenjivice moguće mijenjati. Dakle, ako bismo htjeli doznati vrijednost neke promjenjivice imena '''a''', ne bi bilo dovoljno pitati: "koja je vrijednost promjenjivice '''a'''" - potrebno je pitati koja je vrijednost promjenjivice '''a''' u nekom trenutku '''t'''. Ovo je u oprjeci s promjenjivicama (varijablama) kakve poznajemo u matematici, iz čijeg je poimanja isključena ideja promjene kroz vrijeme: varijable u matematici mogu poprimati različite vrijednosti, ali samo u različitim kontekstima. Unutar istog konteksta (jednadžba, formula) one su - nepromjenjive.
Bitno je promjenjivicu ne shvatiti kao da je ona samo ime, jer u pojam promjenjivice ulazi i ideja njoj pridružene vrijednosti, kao i ideja vremena kroz koje je vrijednost promjenjivice moguće mijenjati. Dakle, ako bismo htjeli doznati vrijednost neke promjenjivice imena '''a''', ne bi bilo dovoljno pitati: "koja je vrijednost promjenjivice '''a'''" - potrebno je pitati koja je vrijednost promjenjivice '''a''' u nekom trenutku '''t'''. Ovo je u oprjeci s promjenjivicama (varijablama) kakve poznajemo u matematici, iz čijeg je poimanja isključena ideja promjene kroz vrijeme: varijable u matematici mogu poprimati različite vrijednosti, ali samo u različitim kontekstima. Unutar istog konteksta (jednadžba, formula) one su - nepromjenjive.
Redak 22: Redak 25:
Promjenjivice možemo shvaćati i izvan konteksta programskih jezika. Na primjer, možemo pojmiti promjenjivicu imena ''stanje_prekidača'', čija vrijednost može biti 'uključen' ili 'isključen'.
Promjenjivice možemo shvaćati i izvan konteksta programskih jezika. Na primjer, možemo pojmiti promjenjivicu imena ''stanje_prekidača'', čija vrijednost može biti 'uključen' ili 'isključen'.


==Ime promjenjive==
==Ime promjenjivice==


U programskim jezicima su promjenjive imenovane identifikatorima, koji nam služe da jednoznačno odrede promjenjivu. Pri tome jedno ime, odnosno identifikator, može pripadati samo jednoj promjenjivi u određenom kontekstu.
U programskim jezicima su promjenjivice imenovane identifikatorima, koji nam služe da jednoznačno odrede promjenjivicu. Pri tome jedno ime, odnosno identifikator, može pripadati samo jednoj promjenjivici u određenom kontekstu.


Kao i svi identifikatori u programskim jezicima, ime promjenjive sastoji se od simbola alfabeta pojedinog programskog jezika.
Kao i svi identifikatori u programskim jezicima, ime promjenjivice sastoji se od simbola abecede pojedinog programskog jezika.


Da bi programski jezik mogao razlikovati imena promjenjivih od drugih sintaktičkih elemenata, poput brojeva, operatora i ključnih riječi, uvijek postoje točna pravila o sintaksi imena promjenjive. Tako, najčešće, imena promjenjivih ne mogu počinjati brojem, i ne smiju sadržavati razmake, odnosno ime promjenjive je samo jedna riječ.
Da bi programski jezik mogao razlikovati imena promjenjivica od drugih sintaktičkih elemenata, poput brojeva, operatora i ključnih riječi, uvijek postoje točna pravila o sintaksi imena promjenjivice. Tako, najčešće, imena promjenjivica ne mogu početi brojem i ne smiju sadržavati razmake, odnosno ime promjenjivice je samo jedna riječ.


U nekim programskim jezicima se ime promjenjive može sastojati isključivo od slova, brojeva, i znaka podvlake _ .
U nekim programskim jezicima se ime promjenjivice može sastojati isključivo od slova, brojeva, i znaka podvlake _ .


Postoje bitne razlike u osjetljivosti imena promjenjivih na velika i mala slova (engl. upper case i lower case). U mnogim jezicima je razlika značajna (engl. case-sensitive), to jest kada se dvije riječi razlikuju samo u upotrebi velikih i malih slova, onda one predstavljaju dva različita imena. U drugim jezicima razlika nije značajna (engl. case-insensitive), a postoji i mogućnost da se zabrani uvođenje dvaju imena koji se razlikuju samo u upotrebi velikih i malih slova.
Postoje bitne razlike u osjetljivosti imena promjenjivica na velika i mala slova (engl. ''upper case'' i ''lower case''). U mnogim jezicima je razlika značajna (engl. ''case-sensitive''), to jest kada se dvije riječi razlikuju samo u upotrebi velikih i malih slova, onda one predstavljaju dva različita imena. U drugim jezicima razlika nije značajna (engl. ''case-insensitive''), a postoji i mogućnost da se zabrani uvođenje dvaju imena koji se razlikuju samo u upotrebi velikih i malih slova.


Neka od tipičnih imena promjenjivih su:
Neka od tipičnih imena promjenjivica su:
i, j, n, a, b, broj, sum, max, retval, point, cijena.
i, j, n, a, b, broj, sum, max, retval, point, cijena.


Kao što je vidljivo, za razliku od matematičkih imena, imena promjenjivih često se sastoje od više znakova.
Kao što je vidljivo, za razliku od matematičkih imena, imena promjenjivica često se sastoje od više znakova.


==Tipovi==
==Tipovi==


U jezicima sa stojnim sustavom tipova, svaka promjenjiva ima zadan tip, koji tada ograničava vrijednosti koje je dozvoljeno pridružiti promjenjivi. Tip se tada obavezno navodi prilikom uvođenja promjenjive.
U jezicima sa stojnim sustavom tipova, svaka promjenjivica ima zadan tip, koji tada ograničava vrijednosti koje je dozvoljeno pridružiti promjenjivici. Tip se tada obavezno navodi prilikom uvođenja promjenjivice.


U jezicima s gipkim sustavom tipova, obično kažemo da izrazi nemaju tip podatka, već samo vrijednosti imaju tip. S obzirom da promjenjiva može biti izraz, tada promjenjiva nema tip, nego njena vrijednost ima tip. Tada je moguće promjenjivi pridružiti bilo koju vrijednost.
U jezicima s gipkim sustavom tipova, obično kažemo da izrazi nemaju tip podatka, nego samo vrijednosti imaju tip. S obzirom da promjenjivica može biti izraz, tada promjenjivica nema tip, nego njena vrijednost ima tip. Tada je moguće promjenjivici pridružiti bilo koju vrijednost.


== Izvori ==
== Izvori ==

Inačica od 20. lipnja 2012. u 14:17

Promjenjivica[1][2][3] (imenica; engl. variable, u hrv. u upotrebi još i varijabla) u kontekstu programiranja jest ime kojem je pridružena vrijednost, i ta vrijednost se naziva vrijednost promjenjivice. Vrijednost promjenjivice moguće je "promijeniti", odnosno moguće joj je pridružiti neku drugu vrijednost, pa otud naziv promjenjivica.

Promjenjivica je svojevrsno skladište u kojem se nalazi podatak, a unutar kojeg se može tijekom rada mijenjati, od čega je došlo ovakvo ime. [3] Ime promjenjivice čine kombinacije slovnobrojčanih znakova s time da prvi znak ne smije biti znamenka niti znak razgotka.[3] Kakva će biti promjenjivica, ovisi kakva se pridružba napravila. Promjenjivici je moguće pridružiti bilo koji tip podatka.[3] Kada se više promjenjivica poveže operatorima, dobije se izraz.[3]

Bitno je promjenjivicu ne shvatiti kao da je ona samo ime, jer u pojam promjenjivice ulazi i ideja njoj pridružene vrijednosti, kao i ideja vremena kroz koje je vrijednost promjenjivice moguće mijenjati. Dakle, ako bismo htjeli doznati vrijednost neke promjenjivice imena a, ne bi bilo dovoljno pitati: "koja je vrijednost promjenjivice a" - potrebno je pitati koja je vrijednost promjenjivice a u nekom trenutku t. Ovo je u oprjeci s promjenjivicama (varijablama) kakve poznajemo u matematici, iz čijeg je poimanja isključena ideja promjene kroz vrijeme: varijable u matematici mogu poprimati različite vrijednosti, ali samo u različitim kontekstima. Unutar istog konteksta (jednadžba, formula) one su - nepromjenjive.

Nadalje, promjenjivicaa nije isto što i njoj pridružena vrijednost: moguće je da postoje dvije različite promjenjivice, koje imaju istu vrijednost. Mijenjajući vrijednost jedne promjenjivice, ne mijenjamo vrijednost druge. Dakle, identitet promjenjivice nije njena vrijednost, nego njeno ime.

Za imena se u programskim jezicima obično koristi nešto preciznija ideja identifikatora, a identifikator je informacija koja je jednoznačna u svom osnovnom kontekstu. Imena promjenjivih jesu identifikatori.

Uz pojam promjenljivice, imamo i njoj oprječan pojam konstante; nepromjenjiva je ime kojem je vrijednost pridružena u trenutku uvođenja, te joj nije moguće naknadno pridružiti drugu vrijednost.

Podloga

Promjenjivica (engl. variable) je naziv koji je izmišljen da bi se imenovala stanovita ideja, i taj naziv se počeo upotrebljavati s pojavom prvih programskih jezika. Pri tome nije bila dana konkretna i jednoznačna definicija promjenjive, nego se taj naziv počeo upotrebljavati spontano. Iz tog razloga ne postoji jedinstvena definicija promjenjivice, već svaki čovjek može shvaćati promjenjivicu na svoj način, što je često uvjetovano programskim jezikom koji se koristi.

Tako, iako danas ne postoji jedinstvena definicija promjenjivice oko koje bi se svi mogli složiti, možemo pokušati dati opis ideje što bi promjenjivica trebala biti, odnosno možemo pokušati opisati najopćenitiji mentalni model promjenjivice, kao što je to napravljeno na početku ovog članka.

Svaki programski jezik može imati svoje ostvarenje ideje promjenjivice, često uvjetovano raznim tehničkim ograničenjima. Pri tome to ostvarenje može u nekim detaljima biti u suprotnosti s općenitom idejom promjenjivice, ali tada je to problem tih konkretnih ostvarenja. Kada početnici uče dotični jezik, taj problem može rezultirati teškoćama u shvaćanju ideje promjenjivice, kao i pogreškama koju čine iskusniji korisnici.

Tako u pojedinim programskim jezicima kao dodatno možemo: dobiti adresu promjenjivice, promijeniti vrijednost promjenjivice bez navođenja njenog imena, te promijeniti vrijednost promjenjivice primjenjujući operaciju na samoj vrijednosti promjenjivice. U ovom posljednjem slučaju vrijednost promjenjivice shvaćamo kao vrijednost promjenjivog objekta. U nekim se jezicima promjenjivice shvaćaju kao pokazivači na objekte.

Promjenjivice možemo shvaćati i izvan konteksta programskih jezika. Na primjer, možemo pojmiti promjenjivicu imena stanje_prekidača, čija vrijednost može biti 'uključen' ili 'isključen'.

Ime promjenjivice

U programskim jezicima su promjenjivice imenovane identifikatorima, koji nam služe da jednoznačno odrede promjenjivicu. Pri tome jedno ime, odnosno identifikator, može pripadati samo jednoj promjenjivici u određenom kontekstu.

Kao i svi identifikatori u programskim jezicima, ime promjenjivice sastoji se od simbola abecede pojedinog programskog jezika.

Da bi programski jezik mogao razlikovati imena promjenjivica od drugih sintaktičkih elemenata, poput brojeva, operatora i ključnih riječi, uvijek postoje točna pravila o sintaksi imena promjenjivice. Tako, najčešće, imena promjenjivica ne mogu početi brojem i ne smiju sadržavati razmake, odnosno ime promjenjivice je samo jedna riječ.

U nekim programskim jezicima se ime promjenjivice može sastojati isključivo od slova, brojeva, i znaka podvlake _ .

Postoje bitne razlike u osjetljivosti imena promjenjivica na velika i mala slova (engl. upper case i lower case). U mnogim jezicima je razlika značajna (engl. case-sensitive), to jest kada se dvije riječi razlikuju samo u upotrebi velikih i malih slova, onda one predstavljaju dva različita imena. U drugim jezicima razlika nije značajna (engl. case-insensitive), a postoji i mogućnost da se zabrani uvođenje dvaju imena koji se razlikuju samo u upotrebi velikih i malih slova.

Neka od tipičnih imena promjenjivica su: i, j, n, a, b, broj, sum, max, retval, point, cijena.

Kao što je vidljivo, za razliku od matematičkih imena, imena promjenjivica često se sastoje od više znakova.

Tipovi

U jezicima sa stojnim sustavom tipova, svaka promjenjivica ima zadan tip, koji tada ograničava vrijednosti koje je dozvoljeno pridružiti promjenjivici. Tip se tada obavezno navodi prilikom uvođenja promjenjivice.

U jezicima s gipkim sustavom tipova, obično kažemo da izrazi nemaju tip podatka, nego samo vrijednosti imaju tip. S obzirom da promjenjivica može biti izraz, tada promjenjivica nema tip, nego njena vrijednost ima tip. Tada je moguće promjenjivici pridružiti bilo koju vrijednost.

Izvori