A számítógép-tudományban és a matematikában a változó egy mennyiség vagy egy objektum szimbolikus jelölése. A matematikában a változó gyakran egy ismeretlen mennyiséget jelent, míg a számítógép-tudományban azt a helyet értjük alatta, ahol egy mennyiséget tárolhatunk. A változókat gyakran a konstansokkal ellentétes értelemben használjuk, amik értéke ismert, és az nem változik. A kísérleti tudományokban „független változónak” nevezzük azt a tényezőt, amit a tudós megváltoztathat.

A matematikában a változók legalapvetőbb fajtái illetve rokonai (éles határ nem mindig van az egyes fogalmak közt) az ismeretlen, a határozatlan, a paraméter, a függvényváltozó és a logikai változó.

A nyitott mondatokban is változó(ka)t használunk. Például az képletben az egy változó, ami jelen esetben egy „ismeretlen” érték helyett áll. A matematikában a változók jelölésére általában a latin ábécé betűit használjuk, de más ábécé jeleit, sőt bármi egyéb szimbólumot is használhatunk. A számítógép programozása során is alkalmazzuk a változót, amit egy betűvel, vagy egy alfanumerikus jelsorozattal azonosítunk.

Matematikai változók

Az ismeretlen egyenletekben olyan számot jelöl, mely bár igazából nem változik, értéke adott, de nem ismerjük. Szigorúbb felépítésben az egyenletek elméletét tekinthetjük a matematikai logika részének is, az egyenleteket nyitott mondatokként kezelve; ekkor az ismeretlent változónak tekintjük. A határozatlan a polinomok és formális hatványsorok elméletének egyik alapfogalma, szigorúbb felépítésben egyáltalán nem változó, hanem egy speciális, konkrét hatványsor, de az elemi algebrában szokás változónak tekinteni. Az elemi algebrában paraméternek nevezett fogalom talán a legérdekesebb, legnehezebben leírható: ez olyan mennyiség, melynek értéke nem lényeges, így tulajdonképp ismeretlen, de nem cél a kiszámolása. Tulajdonképp egy rögzített szám (így nem feltétlenül változó), csak betűvel kiírva. A paraméter fogalmát a legalább elsőrendű logikában és a számítógép-tudományokban másféle értelemben is használhatják. A „legvalódibb” értelemben vett változók a függvények független és függő változói, ezeket használjuk a „nem konstans” értelemben. A logikában a változó fogalmát szokás egy a függvényváltozó fogalmánál szűkebb értelemben használni. Változó („matematikai” értelemben) egy logikai nyelv olyan szimbóluma, mely szabadon interpretálható; azaz tulajdonképpen ez egy függvény vagy operáció változója; logikai értelemben véve azonban csak azon szimbólumok tekintendők változóknak, melyek egy adott rögzített interpretáción belül is többféle lehetséges értéket vehetnek fel.

Statisztikai változók A statisztikában a változóknak két meghatározó tulajdonsága van. A változó az adathalmaz vizsgálati egységhez - személy, hely, dolog, idő vagy akár fogalom - tartozó attribútum vagy más néven tulajdonság. a változó értéke vizsgálati egységről egységre váltakozhat. Például egy személy hajszíne felfogható egy lehetséges változónak, ami az egyik személy esetében felveheti a „vörös” értéket, míg egy másik személy esetén mondjuk a „feketét”.

A statisztikai változók különféleképpen osztályozhatóak. Az egyik módszer az adatot jellemző információ típusa szerint osztályoz, míg a másik a mérésskálák alapján rendszerezi a változókat.

Kategorikus vagy numerikus változó A kategorikus változók csoportokat vagy kategóriákat határoznak meg. Tipikusan az igen/nem kérdésekre adott válaszok kategorikusak. Hasonlóan kategorikus változókat hoznak létre például a nemre, házassági állapotra vonatkozó kérdések. Olykor a kategorikus változók fokozatokat jelölnek (1: Határozottan nem értek egyet, 2: Mérsékelten egyetértek, 3: Semleges, 4: Többnyire egyetértek, 5: Határozottan egyetértek)

A numerikus változók lehetnek folytonosak vagy diszkrétek. A diszkrét numerikus változóknak többnyire véges számú értékei vannak. A leggyakrabban előforduló diszkrét numerikus változó egy-egy számolási folyamat eredménye. Például: hány tanuló vesz részt egy-egy órán, mennyi busz áll meg egy-egy buszmegállóban óránként.

A folytonos numerikus változók egy mérési folyamat eredményeként bármilyen értéket felvehetnek a valós számok tartományán belül. Leggyakrabban előforduló folytonos numerikus változók a magasság, tömeg, időtartam, távolság vagy a hőmérséklet. Ugyan hajlamosak vagyunk egyszerűsíteni a folytonos változókat és diszkrétként kezelni őket a mindennapi beszédben, a statisztikában ez a különbség igen lényeges, ugyanis ez határozza meg, hogy milyen statisztikai eljárást ajánlatos használni.

A változók osztályozása mérési skálák szerint Az adatokat csoportosíthatjuk kvalitatívként vagy kvantitatívként is.

Kvalitatív változó A kvalitatív adatok esetében, a kvantitatív adatokkal ellentétben, nincs mérhető jelentősége a számok különbségének. Például a futballjátékosok száma nem mond semmit arról, hogy mennyivel jobb játékosok egymáshoz képest. A kvalitatív adatok lehetnek nominálisak (ahol a numerikus azonosítás csupán a kezelhetőség kedvéért használt) vagy ordinálisak (ahol a különféle értékek rangsorba rendezhetőek)

Kvantitatív változó A kvantitatív változók esetében a numerikus jelölés ad értelmet a méréseknek. A kvantitatív adatok lehetnek intervallumskálák vagy arányskálák.Carlson, Newbold, Thorne: Statistics for Business an Economics, Sixth Edition, 2007, 10-12. o.

Természettudományok

Más tudományágakban, mint a biológia, a kémia és a fizika, a változó megnevezést az egyed vagy a rendszer mérhető tulajdonságainak, jellemzőinek és jelzőinek hivatkozására használjuk. A kísérleti tudományokban „független változónak” nevezzük azt a tényezőt, amit a tudós megváltoztathat. Például a hőmérséklet általános környezeti tényező, amit laboratóriumi körülmények között ellenőrzésünk alatt tudunk tartani. A „függő” vagy „eredmény” változót a fentiek befolyásolják, mint adatok.

Wikipédia is használ speciális változókat, lásd: Help:Variable.

Miért hasznosak a változók?

Hasznosak, mert a matematikában és a számítógép programozásánál lehetővé teszik az utasítások és műveletek általános megadását. Ha egy konkrét értékre akarjuk alkalmazni a változóval leírt szabályt, akkor nem kell mást tennünk, mint a megadott értékre kicseréljük a változót. Például definíciót adhatunk egy tetszőleges szám négyzetének meghatározására: négyzet() = ·

Amennyiben egy konkrét szám négyzetét kell meghatározni, akkor a felírt definícióba be kell helyettesíteni a változó helyére a kívánt számot. négyzet() = · négyzet() = · négyzet() = · négyzet() = · stb.

A fenti példában az változó helyére bármilyen érték behelyettesíthető. Egy nagyon fontos dolgot azonban ki kell hangsúlyozni: az változó minden előfordulása helyére ugyanazt az értéket kell behelyettesíteni, azaz az első és a második alkalmazása között az értéke nem változhat meg. A számítógép programozási nyelvek esetében előfordulhat, hogy a második értéke eltér az elsőtől, ha a program nem mellékhatásmentes.

Változók a programozásban

A programozási nyelvekben a változó úgy képzelhető el, mint egy hely, ami alkalmas egy érték tárolására a számítógép memóriájában. A változók alkalmazása a matematikában megszokotthoz hasonló kényelmes lehetőségeket biztosít.

A változó nevet kap, aminek segítségével a későbbiekben a változóban lévő objektumra hivatkozni lehet. Ez úgy működik, miként az emberek neve, amivel mások megszólíthatják. A matematikában és a számítógép-tudományban gyakran nagyon hasonló módon használjuk a változókat. Más módszer is van, ekkor változó úgy is létezhet, hogy nincs elnevezése. Jellemzően a változó neve a memória néhány bájtjának címét jelenti, így a változóra vonatkozó művelet e memória rész tartalmát használja, vagy módosítja. Ez a név szerinti kötés. Ha nagy adatterület szükséges, vagy pillanatnyilag (a program készítésekor) nem ismert a mérete, akkor a változóban nem közvetlenül az adatot tároljuk, hanem csak a memória érintett részére mutató hivatkozást.

A változók két fontos tulajdonságát külön ki kell emelni: az életciklust, és az érvényességi kört. A memória gazdaságossága érdekében a változónak az első használat előtt helyet kell biztosítani, a használat befejezésekor pedig fel kell szabadítani a területét. Az érvényességi kör segít meghatározni a változó életciklusát. A változó rendszerint a program kód valamelyik érvényességi körében van, tehát a változó a programrész aktiválódásakor keletkezik, majd megszűnik, amikor a programrész véget ér. Szokásosan azt mondjuk, hogy a változó az érvényességi körében „látszik”, másként pedig, csak akkor szükséges a változó, ha látszik. Így egy nem használt változó csak a memória területet foglalja feleslegesen. Emiatt a fordítóprogramok figyelmeztethetik a programozót, ha szerepel deklarált változó, amit sosem használ.

Míg egy egyszerű változó egyetlen egészet, vagy szöveget tartalmaz, addig léteznek programnyelvek, amik megengedik az érték mellett az adat típusának tárolását is. Ezek a nyelvek paraméter szerinti többalakú függvények írását is lehetővé teszik. Ezek a változók az egyszerűekhez hasonlóan működnek, de a típusukat is hordozzák. Vegyük például a length függvényt – ami meghatározza egy listában található elemek számát – ehhez szükségtelen ismerni az elemek típusát, a típusos szignatúrát egy típusos változóval lehet megvalósítani, ami biztosítja a paraméter szerinti többalakúságot.

A változók kétfélék lehetnek, van, amelyik új értéket is felvehet, és van, amelyik nem. Amennyiben az érték megváltozhat, akkor bal-értékről beszélünk, ha nem változhat, akkor jobb-értékről. A funkcionális programozás egyik jellemzője, hogy a változó nem vehet fel másik értéket. Mivel a nem módosítható értékű változó, vagy függvény konstansként viselkedik, ezért változón általában a módosítható értékűekre kell gondolni.

A változók nevét általában programozási nyelvenként eltérő szabályok és megállapodások szerint kell képezni.

A C++ programozási nyelv (nem így a C) tartalmazza a mutable kulcsszót, ami lehetővé teszi, hogy a függvények const tagjai értékét lehessen változtatni.

A programozási nyelvekben úgy gondolhatunk a változókra, mint egy helyre a számítógép memóriájában, ahol értéket helyezhetünk el. Pontosabban a nevet (amit néha azonosítónak szoktak mondani) egy érték tárolására alkalmas helyhez társítja, ahol objektumként tárolódik az adat. A változók elhelyezésének jellemzői, valamint az adatok megjelenési formái széles tartományban változhatnak a különféle programozási nyelvekben, de még egy adott nyelv különböző megvalósításaiban is.

Változónév A változók olyan nevet kaphatnak, amit a programozási nyelv szintaktikája megenged, ajánlatos a megállapodásokat betartani, de ezeken túl egyéni ízlés kérdése. Az egyes nyelvek azt is meghatározhatják, hogy mely szavak nem alkalmazhatók változónévként. Továbbá programozói közösségek hallgatólagosan további szabályokban is megállapodhatnak, vagy akár egy-egy programozó is alkothat ilyeneket.

Például a C és a hozzá hasonló programozási nyelvekben a változók neve állhat betűkből, számokból, és tartalmazhatja az aláhúzás jelet, de mindenképpen betűvel kell kezdődnie. De nem írja elő egyetlen programozási nyelv sem, hogy egy változót konkrétan hogyan nevezzünk el: x_koordinata vagy xKoordinata vagy egyszerűen x. Meg kell jegyezni, hogy a magyar nyelvű környezetben használatos ékezetes magánhangzókat a programozási nyelvek többségében nem szabad használni a változók elnevezésére. További sajátosság lehet még a kis- és nagybetűk megkülönböztetése, vagy azonosnak tekintése.

Egyes programnyelvekben a változó neve meghatározza a benne tárolható adat típusát. Például Fortranban a változó első betűje határozza meg, hogy alapértelmezés szerint milyen érték tárolására képes: lebegőpontos, vagy egészek befogadására. BASICben a név végére írt $ jel kifejezi, hogy a változó szöveg tárolására alkalmas. Perl $ prefix-szel jelöli a skalárt, @ jellel a tömböt, %-kal a hash-táblát, és &-tel az alprogramot.