Ohjelmointi 1, syksy 2019, luento 24

# L24

24. luento: ma 25.11.2019 klo 12:15-14:00: Kertausluento, Luentokysymyksiä

Versionhallinnassa

Tiedotettavaa:

  • tentti ja ryhmät
  • demo 11 ja korjaaminen 7 pisteeseen!
  • Mitä ohjelmointi on-kysely, auta kaveria väitöskirjassa
  • tiistaina luento 23 katsotaan itsenäisesti, käyttöliittymän tekeminen

Osaamistavoitteet

Kurssin aikana sinun on tarkoitus oppia seuraavia asioita (osaamisen taso sovelletulla Bloomin asteikolla: 1=muistaa, 2=ymmärtää, 3=osaa soveltaa, 4=osaa analysoida, 5=osaa arvioida, 6=osaa luoda)

Siirrä alla osaamisesi (punainen pallukka) aina sitä vastaavalle kohdalle. Keltainen ruutu on tavoite johon tulisi päästä kurssin lopuksi. Ruksaa ensin muokkaa.

# goaltable2

Please to interact with this component.

Osattava asia123456
Rakenteisen ohjelmoinnin perusajatus o
Algoritminen ajattelu o
C#-kielen perusteet o
Peräkkäisyys o
Muuttujat o
Aliohjelmat ja funktiot o
Parametrin välitys o
Ehtolauseet o
Silmukat o
Taulukot o
Tiedostot ohjelmasta käytettynä o
Olioiden käyttö o
Yksikkötestit (TDD) o
Debuggerin käyttö o
Lukujärjestelmät, ASCII-koodi o
Rekursio o
Dokumentointi ja sen lukeminen o

Pallot

Kertausta terminologiasta

Aliohjelma: Yleisnimenä mikä tahansa aliohjelma, funktio tai metodi. Aliohjelma ei ota nimenä kantaa parametrien määrään tai paluuarvon tyyppiin. void-aliohjelmassa, eli aliohjelmassa joka ei palauta arvoa, voi olla return-lause, mutta sen perässä ei silloin ole lauseketta (vrt. return-lause funktiossa). Tällöin return-lauseen rooliksi jää vain hypätä aliohjelmasta pois.

Joissakin kielissä, esimerkiksi C++:ssa, kaikista aliohjelmista käytetään yleisnimeä funktio. Java-kirjallisuudessa kaikista aliohjelmista käytetään usein yleisnimeä metodi.

Tällä kurssilla käytetään yleisnimeä aliohjelma silloin kun ei erikseen haluta korostaa että kyseessä on erityisesti funktio tai metodi. Tarkennetaan funktion ja metodin käsitteitä seuraavaksi.

Erisnimenä aliohjelma tarkoittaa tällä kurssilla staattista void-tyyppistä aliohjelmaa.

Funktio: Aliohjelma, joka palauttaa arvon, esimerkiksi kahden luvun keskiarvon. Tämän määritelmän mukaan funktiossa on aina vähintään yksi return-lause, jonka perässä on lauseke, esimerkiksi return (a+b)/2.0;

Tässä määritelmässä ei oteta kantaa parametrien määrään.

Funktion on useimmiten syytä olla static. Ihannetilanteessa puhtaalla funktiolla ei ole sivuvaikutuksia, eli se ei esimerkiksi muuta parametrina vietyä taulukkoa.

Metodi: Aliohjelma, joka tarvitsee tehtävän suorittamiseksi kohteena olevan olion omia tietoja. Metodeja käytetään tällä kurssilla (esimerkiksi merkkijono.IndexOf), mutta ei tehdä itse muuten kuin peliluokan metodeja (esimerkiksi Begin). Joku voi myös mahdollisesti tehdä loppukurssilla uuden luokan, jolle sitten kirjoitetaan omia metodeja. Käytännössä metodissa tarvitaan this-viitettä ja se ei saa silloin olla static.

Metodi voi myös funktion tapaan palauttaa arvon tai void-aliohjelman tapaan olla palauttamatta.

Muuttujat:

  • lokaalit muuttujat
  • parametrimuuttujat
  • attribuutit
  • globaalit muuttujat (hyi hyi)

Tutkittava ohjelma

Jaa TÄMÄ versio paperilla.

Etäopiskelija: ÄLÄ aja alla olevaa ohjelmaa ennenkuin olet vastaillut kysymyksiin ohjelman alapuolella!

# Plugin1

Kysymyksiä

# nelit
# ympyroita
# metodit
# funktioita
# lokaalejaBegin
# likaalejaVaihda
# Lisaa
# lokaalitLuo
# missaX
# aiheuttaaVirheen
# muutetaan
# viitemuuttujat
# montakoLuokkaa
# voikoVaihdaStatic
# miksiEiVoi

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