Raalprojekteerimine
Euroopa struktuurfondide logo
Automatiseerimise viide Mehhatroonikaseadmete viide Pneumoautomaatika viide Siemens LOGO! viide Siemens S7-1200 viide
(osa 4)

PROGRAMMEERIMINE

Andmestruktuurid ja algoritmid [3]

Muutujad

Programmeerimise käigus on reeglina vaja hoida meeles mingit hulka andmeid (vahetulemused, toimunud sündmused, sisendväärtused, väljundväärtused jne). Neid väärtused tuleb hoida mälus. Selleks defineeritakse koht mälus, mida kasutatakse andmete hoidmiseks ning seda defineeritud kohta nimetatakse muutujaks. Kuna andmed, mida hoitakse võivad olla väga erinevad, siis öeldakse ka muutuja defineerimisel, mis tüüpi andmeid selles muutujas hoidma hakatakse (muutujatüüp).

Muutujatüübi vajadus tuleneb eelkõige selles, et erinevad andmed võtavad mälus erineva koguse mäluruumi. Näiteks 8 biti ehk ühe baidi mäluruumi abil on võimalik meeles hoida 28=256 erinevat seisu. 256 erineva seisu abil on võimalik: hoida meeles täisarve 0..255, märgiga täisarve -128..127, ASCII kooditabeli abil ühe sümboli jne. Kahendsüsteemi arv 111111112 võib tähistada näiteks täisarvu 255 või ka -1, et teada millena seda väärtust käsitleda peab olema öeldud, mis tüüpi andmetega on tegu.

Tuntumad muutujatüübid on: tõeväärtus, märgita täisarv, märgiga täisarv, reaalarv (komakohaga), tähemärk, tekst jne. Kuna erinevad andmed võtavad erinevalt mäluruumi, siis on ka erinevat tüüpi muutujad mälus erineva suurusega. Kõige vähem mäluruumi nõuab tõeväärtusmuutuja (kaks seisu õige/vale) – 1 bitt ja täisarvud (2-8 baiti), reaalarvulised muutujad nõuavad juba rohkem mälu ja teksti hoidmiseks on vaja vähemalt 1 bait ühe sümboli kohta.

Muutujatüübid võib jaotada: matemaatilised muutujatüübid (täisarvud, reaalarvud jne) ja sümbolilised muutujatüübid (tähemärgid, tekstid jne) ning väärtustüübid (muutujad, millel on konkreetne suurus ja koht) ja viitetüüpi.

Massiivid

int[] massiiv = new int[10];
massiiv[0]=1;
massiiv[1]=1;
for (int i = 2; i <= 9; i++)
    massiiv[i] = massiiv[i - 1] + massiiv[i - 2];
for (int i = 0; i <= 9; i++)
    Console.WriteLine(massiiv[i]);

Massiiv on ühetüübiliste muutujate kogum, millistel on üks nimi ja mis on üksteisest eristatavad indeksi poolest. Massiivid lihtsustavad oluliselt ühetüübiliste andmete töötlemist. Lihtsustamine tuleneb sellest, et programmi täitmise käigus on võimalik indeksit lihtsalt muuta ja seega on lihtsam pöörduda vajaliku muutuja poole.

Massiivid võivad olla ühemõõtmelised (jada, rida), kahemõõtmelised (tabel, maatriks), kolmemõõtmelised (kuup), jne.

Kõrvalolevas näites luuakse ühemõõtmeline massiiv mass, millel on kümme liiget, antakse kahele esimesele liikmele väärtus "1" ja täidetakse ülejäänud liikmed kahe eelneva liikme summaga.

Struktuurid

struct inimene {
    public string eesnimi;
    public string perenimi;
    public bool sugu;
    public float kaal;
}
inimene kasutaja;
    kasutaja.eesnimi = "Jaan";
    kasutaja.perenimi = "Mets";
    kasutaja.sugu = 1;
    kasutaja.kaal = 80.0;
}

Hoidmaks erinevate tüüpi andmeid, mis moodustavad koos mingi seostatud kogumi kasutatakse struktuure. Näiteks moodustub struktuur inimene järgmistest andmetest: eesnimi (tekst), perenimi (tekst), sugu (tõeväärtus, 0- naine, 1 -mees), kaal (reaalarv). Sellised andmed moodustavad ühtse terviku ühe inimese kirjeldamiseks, kuid eraldiseisvana on väga erinevat tüüpi.

Sellise struktuuriga saame luua uue muutuja kasutaja ja anda kasutajale, eesnime, perenime, soo ja kaalu.

Creative Commons Licence
"Raalprojekteerimine" by Eduard Brindfeldt and Urmo Lepiksoo is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Estonia License .