Ohjelmointi 1, kesä 2024, luento23

Olin tällä sivulla luennon aikana Agorassa

Please to interact with this component.

.
Olin tällä sivulla luennon aikana Zoomissa

Please to interact with this component.

.
Olin tällä sivulla videon katsomisen aikana

Please to interact with this component.

.
Katson sivua etukäteen

Please to interact with this component.

.

# runner
# L23

23. luento: ma 20.11.2023 klo 12:15-14:00: Kertausluento, Luentokysymyksiä

Versionhallinnassa

Videokatsoja:

Pidä alla oleva ohjelma auki toisella näytöllä ja vastaile kysymyksiin.

Tiedotettavaa:

  • tentti
    • harjoittele tekemällä Taunot demoista 1-11 uudelleen "sokkona"
    • harjoittele kuvan piirrot uudelleen "sokkona" (d10, d11 ja luento 11)
    • myös string ja StringBuilder on syytä osata
  • demo 11 ja korjaaminen 7 pisteeseen!
  • Mitä ohjelmointi on-kysely
  • samoin virallinen kurssikysely..., olethan saanut postin siitä?
  • tiistaina luento 24 käyttöliittymän tekeminen (johdatusta Ohj2)
# GLO_DemoN2

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

ÄLÄ aja alla olevaa ohjelmaa ennen kuin olet vastaillut luennolla tai itsenäisesti kysymyksiin ohjelman alapuolella!

# Plugin1

Kysymyksiä

Attribuuttien poistoa

  • yritetään poistaa turhia attribuutteja

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