avoin/avoin23
Huom! TÄMÄ ON AVOIMEN YLIOPISTON SIVU.
Et voi suorittaa kurssia, ellet ole ilmoittautunut täällä.
Ohjelmointi 1, avoin 2023, luento 23
- luento pidetään TIMin luentokyselyillä
- luennolle tarvitaan tietokone/täppäri/älypuhelin, koittakaa pariutua
- Javan ja C#:in vertailua
- Katso luento 23 pohja
- Pallot.cs - alkuperäinen versio
- attribuutien poistoa - kurssin taidoilla
- Pallot.cs - käytetään ref-parametrin välitystä (erona alkuperäiseen)
- Luennolle tehdyt koodit versionhallinnassa
- Pallot.cs - alkuperäinen versio
- 23. luento videona: Osa 1 MP4 alkuperäinen,
- luentoseinä
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
jaStringBuilder
on syytä osata
- demo 11 ja korjaaminen 7 pisteeseen!
- Mitä ohjelmointi on-kysely
- samoin virallinen kurssikysely...
- tiistaina luento 24 käyttöliittymän tekeminen (johdatusta Ohj2)
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.
Please
Osattava asia | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
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!
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.