{!!!#- {id="Dixsjg7NbllG" .huomautus .hidden-print visible="%%'ohj1s19d11vika'|belongs%%" nocache="true"} **HUOMIO!** [Olen laittanut sinulle sähköpostia otsikolla: Ohj1: täydennä d11 kuntoon tai ota yhteyttä]{.red}. Laitathan kuntoon tai otat yhteyttä! !!!}

Sanasto

Katso myös Ohj 2 -kurssin sanasto.

Jos sinulle tulee jokin termi, jota et luennolla tiedä etkä uskalla kysyä, niin lisää se tähän listaan, joku laittaa siihen vastauksen heti kun ehtii.

  • algoritmi = sarja yksiselitteisiä toimintaohjeita, joilla päästään yksikäsitteisesti haluttuun lopputulokseen
  • aliohjelma = yleisesti mikä tahansa funktio tai metodi. Erisnimenä käytettynä Ohj1-kurssilla aliohjelma ei palauta arvoa (eli on void-tyyppinen) ja on staattinen metodi.
  • attribuutti = olion oma muuttuja, esim. Vector-luokan tapauksessa sen X ja Y ovat attribuutteja.
  • array = taulukko
  • bugi = ohjelmassa oleva looginen virhe. Tulee sanasta bug ja tästä tulee myös sana debug.
  • ComTest - kurssin tapa tehdä yksikkötestausta.
  • debuggaus = bugien poistaminen, ohjelman virheellisen toiminnan ja rankenteen löytämistä ja korjaamista. Ohjelman muokkaaminen paremmaksi ei ole debuggausta, vaan refaktorointia tai työstämistä. Debuggaus ei ole refaktorointia muille kuin naapurin pojille.
  • funktio = Yleisesti sivuvaikutukseton, arvon palauttava aliohjelma, joka antaa samoilla parametreilla aina saman palautusarvon. Ohj1-kurssilla aliohjelma, joka palauttaa jonkin arvon (ei siis ole void-tyyppinen). Hieman vaihtelee sanotaanko kurssilla metodia joka palauttaa arvon myös funktioksi vai metodiksi.
  • globaali muuttuja - muuttuja, joka on esitelty sillä tavalla, että se näkyy kaikkialle (tai lähes kaikkialle). C#- ja Java-kielessä tämän saa aikaiseksi esittelemällä muuttujan kaikkien aliohjelmien ulkopuolella ja varustamalla static-sanalla. Tällaisia muuttujia on varottava kaikin mahdollisin keinoin
  • ihmevekotin = Explorer (tiedostonhallinta)
  • lauseke - arvojen, operaatoreiden ja funktioiden muodostama yhdiste, joka evaloituu yhdeksi arvoksi. Esimerkiksi a + 5 tai 3.7 + sin(x+2) tai "kissa" + 2. Myös arvo sinällään on lauseke. Esimerkiksi muuttujalle voi sijoittaa lausekkeen joka evaloituu arvoksi. Muuttaja tallentaa vain arvoja.

      int a = 3 + 7;            // evaloituu arvoksi 10
      int b = 2;                // evaloituu arvoksi 2
      string s = "Kissa" + 2;   // evaloituus arvoksi Kissa2
  • literaali - tiettyä tietotyyppiä olevan tiedon esitysmuoto. Meidän kurssilla lähinnä vakio/arvo, eli esim. kokonaisluvun tapauksessa 5 ja merkkijonon tapauksessa "kissa". Älä sotke lausekkeeseen, sillä esim 3+5 on lauseke, joka koostuu kahdesta kokonaislukuliteraalista ja operaattorista (+). Vastaavasti 3.14 olisi reaalilukuliteraali ja 'A' merkkiliteraali. Lauseke on yleisempi, eli literaali 5 on sinällään kokonaislukulauseke, jonka arvo on 5.
  • lokaali muuttuja - muuttuja joka on esitelty jossakin lohkossa (esim. aliohjelman sisällä) ja se ei näy lohkonsa ulkopuolella. Hyvät muuttujat ovat tällaisia. Myös aliohjelman parametrimuuttujat ovat aliohjelman lokaaleja muuttujia (vaikka niitä ei olisikaan suotavaa muuttaa).
  • luokka - “malli” kaikille olioille joilla on samanlaiset ominaisuudet. Esimerkiksi ihmiset muodostavat luokan ja joku tietty ihminen on sitten ihmisluokan ilmentymä, eli olio.
  • merkkijono-olio = jonnekin muistiin luotu olio, joka edustaa merkkijonon sisältöä. Tästäkin saatetaan käyttää nimeä merkkijono.
  • merkkijonoviitemuuttuja = muuttuja, joka viittaa merkkijono-olioon. Usein puhutaan silti vain viitemuuttujasta, muuttujasta tai (harhaanjohtavasti) merkkijonosta.
  • metodi = olion oma aliohjelma tai funktio (ei static), joka käyttää edes yhtä olion omaa attribuuttia tai metodia. Kurssin alussa esim. Begin on ollut tällainen. Tällä kurssilla metodeiksi sanotaan aliohjelmia, joilla on käytössä this-viite, eli static-sana puuttuu.
  • muuttuja = muistipaikka joka sisältää arvon ja johon voi tarvittaessa sijoittaa tilalle toisen arvon. Muuttujaan voi viitata sen nimellä. C#-kielessä muuttujilla pitää aina olla esittelyssä tyyppi tai tyyppi pitää voida päätella lausekkessta joka muuttujalle sijoitetaan.

      int a = 5;  // muuttujan esittely ja alustus
      a = a + 2;  // muuttujan arvon muuttaminen

    Muuttujan arvo voi olla myös viite olioon.

  • naapurinpoika = henkilö joka neuvoo “väärin” tai on tietävinään paremmin ilman sen kummempia perusteluita (tai perustelu on että kuullut naapurinpojalta).
  • olio = jostakin luokasta luotu konkreettinen ilmentymä. Esim.

      PhysicsObject pallo = new PhysicsObject(...)

    pallo on olio (tai tarkkaan ottaen viite olioon joka on “synnytetty” jonnekin muualle). PhysicsObject on luokka jossa on määritelty kaikkien fyysisten olioiden toiminta. Olioissa luokassa määritellyt attribuutit saavat arvoja ja näin muodostavat olion tilan. Kahdella olioilla voi olla sama tila (esim. kaksi luokasta StringBuilder luotua olioita voi sisältää saman merkkijonon), mutta silti niiden viitteet voivat olla eri.

  • overload = kuormittaa. Antaa samalla asialle (esim. aliohjelman nimelle) lisää “kuormaa” tekemällä saman nimisiä eri asiaa tekeviä versioita. Esim. aliohjelman tapauksessa tekemällä samalla nimellä eri versioita eri parametrimäärillä.
  • override = määritellä uudelleen, esim. oliohjelmoinnissa määritellä uudessa luokassa toisenlainen toiminta jollekin asialle. Tyypillisesti kukin luokka “overrideää” ToString-metodin, koska jokaiselle luokalle on oma tyypillinen tapa miten sen sitältö esitetään merkkijonona.
  • private: esitellään attribuutti, metodi tai luokka niin, että se on käytössä karkeasti vaan siinä tiedostossa johon se on kirjoitettu. Erityisesti kaikki olion apumetodit,attribuutit yms on syytä esitellä private, jotta niitä ei toinen olio (tai siis sen metodi) pääsisiä luvattu muuttamaan/käyttämään.
  • public: Esitellään aliohjelma tai luokka siten että sitä voidan käyttää toisestakin paikasta. Tärkeää kun tehdään esimerkiksi aliohjelmakirjastoja. Jos esim. Jypelin PhysicsObject ei olisi public, sitä ei voisi käyttää muiden peleissä.
  • paikallinen muuttuja - ks. lokaali muuttuja
  • parametrimuuttuja - aliohjelman parametrilistassa esitelty muuttuja.
  • peräkkäisyys: - ohjelmointitapa, jossa lauseiden järjestys määrittää miten ohjelmaa suoritetaan. Peräkkäisyyttä voidaan muutta ehtolauseilla, silmukoilla ja aliohjelmakutsuilla. Silti lauseilla on selkeä suoritusjärjestys. Kurssilla hyvin pitkälle käytetään tätä tapaa. Pelit tekevät poikkeuksen, koska siellä annetaan ohjeita tyyliin: jos nämä kaksi kappaletta törmäävät, mene tähän aliohjelmaan. SIlloin puhutaan esimerkiksi tapahtumapohjaisesta ohjelmoinnista. Kokonaan oman erillisen tavan muodostaa rinnakkainen ohjelmointi, jossa prosessorille tai useille prosessoreille annetaan tehtäväksi suorittaa joukko lauseita yhtä aikaa (rinnakkain). Tämä on nykyisin ja tulevaisuudessa merkittävin tapa nopeuttaa ohjelmia. Rinnakkainen ohjelmointi on peräkkäistä ohjelmointia huomattavasta vaativampaa.
  • refaktoroida = koodin muokkaamista selkeämmäksi, paremmaksi (=nopeammaksi, vähemmän muistia vieväksi, vähemmän virtaa kuluttavaksi yms), luettavammaksi, ylläpidettävämmäksi, laajennettavaksi tai yleiskäyttöisemmäksi ilman sen (ulkoisen) toiminnan oleellista muuttamista. Aliohjelmien kutsumuodot, rajapinnat, eivät saa muuttua muokatessa. Koko ohjelmiston tai järjestelmän muokkaamisesta selkeämmäksi kutsutaan uudistamiseksi (‘’re-engineering’’). Virheiden korjaus ei ole refaktorointia, eikä uudistamista, vaan debuggausta, eikä kumpikaan näistä ole virheiden korjaamista, paitsi jos olet naapurin poika.
  • static - muuttuja (mieluusti ei) tai aliohjelma/funktio, joka on käytettävissä ilman että luokasta luodaan olio. Static aliohjelma ei voi käyttää olion omia attribuutteja. static aliohjelman pitää pystyä tekemään kaikki toimintansa parametreinä tuotujen muuttujien avulla (tai staattisten muuttujien, mutta näitä pitää välttää).
  • vekotin = mikä tahansa, jolle tarvitaan tilapäinen nimi ja oikean nimen käyttäminen ei asiaa sen kummemmin selkeytä
  • viitemuuttuja = muuttuja joka viittaa johonkin olioon. Usein puhutaan silti vain muuttujasta.
  • void = mitätön, vailla. Funktion paluuarvona tarkoittaa että ei palauta mitään (siis aliohjelma). Toki void-aliohjelmakin voi sisältää return-lauseita, mutta niiden perässä ei saa olla arvoa niinkuin funktioiden tapauksessa.
  • yksikkötestaus - tapa testata ohjelman osia yksiköinä. Kurssilla tässä käytetään apunan ComTestiä.

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.