Luento 4 Aliohjelmien toteutus
|
|
- Pertti Heino
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit, paluuarvo metodi parametrit, ehkä paluuarvo Konekielen tason vastaavat käsitteet: aliohjelma parametrit ja paluuarvo(t) 2 Luento 4, Aliohjelmat 1
2 Parametrit ja paluuarvo (2) Muodolliset parametrit määritelty aliohjelmassa tietty järjestys ja tyyppi paluuarvot käsittely hyvin samalla tavalla kuin parametreillekin Todelliset parametrit ja paluuarvo tod. parametrit sijoitetaan muodollisten parametrien paikalle kutsuhetkellä Tulosta (int x, y) Laske(int x): int Tulosta (5, apu); x = Laske( y+234); paluuarvo saadaan paluuhetkellä ja sitä käytetään kuten mitä tahansa arvoa 3 Arvoparametri (10) Välitetään todellisen parametrin arvo muuttuja, vakio, lauseke, pointteri, olioviite Aliohjelma ei voi muuttaa mitenkään todellisena parametrina käytettyä muuttujaa muuttujan X tai B arvo olioviitteen arvo lausekkeen arvo Tulosta (A+3, B) arvon kopio Tulosta (int y, *ptrx); y = 5; *ptrx = 10 muuta muodollisen parametrin arvoa aliohjelmassa muutetaan todellisen parametrin arvon kopiota! osoitinmuuttuja parametrin ptrx arvoa ei voi muuttaa osoitinmuuttujan osoittamaa arvoa voidaan muuttaa Javassa ja C:ssä vain arvoparametreja 4 Luento 4, Aliohjelmat 2
3 Viiteparametri (5) Välitetään todellisen parametrin osoite muuttujan osoite Aliohjelma voi muuttaa parametrina annettua muuttujan arvoa Pascalin var parametri vrt. C:ssä arvoparametrina välitetyn osoitinmuuttujan osoittaman arvon (PtrX, ed. kalvo) muuttaminen Summaa (54, Sum) pointteri Summaa (x: int; var cum_sum: int) cum_sum = cum_sum + x; 5 Nimiparametri (4) Välitetään todellisen parametrin nimi merkkijono! Algol 60 C:n makrot sivuvaikutuksia nimiparametri korvataan todellisella parametrilla joka viittauskohdassa viittaushetkellä Ei käsitellä enää jatkossa. void swap (name int x, y) int t; t := x; x := y; y := t; swap (n, A[n]) % n A[n] t := n; n := A[n]; A[n] := t; väärä n 6 Luento 4, Aliohjelmat 3
4 Aliohjelmien toteutuksen osat (5) Paluuosoite kutsukohtaa seuraava käskyn osoite Parametrien välitys Paluuarvon välitys Paikalliset muuttujat Rekistereiden allokointi (varaus) kutsuvalla ohjelman osalla voi olla käytössä rekistereitä, joiden arvon halutaan säilyä! pääohjelma, toinen aliohjelma, sama aliohjelma, metodi, käytettyjen rekistereiden arvot pitää aluksi tallettaa muistiin ja lopuksi palauttaa ennalleen 7 Aktivointitietue (6) Aliohjelman toteutusmuoto (ttk-91) kaikkien ulostuloparametrien arvot kaikkien (sisäänmeno) parametrien arvot paluuosoite kutsukohdan aktivointitietue kaikki paikalliset muuttujat ja tietorakenteet aliohjelman ajaksi talletettujen rekistereiden alkuperäiset arvot (activation record, activation frame) int funca (int x,y); paluuarvo param x param y vanha PC vanha paik. m. i1 paik. m. i2 vanha R1 vanha R2 8 Luento 4, Aliohjelmat 4
5 Aktivointitietueiden hallinta (4) Aktivointitietueet (AT) varataan ja vapautetaan dynaamisesti (suoritusaikana) pinosta SP (=R6) osoittaa pinon pinnalle Aktivointitietuepino (R7) osoittaa voimassa olevan AT main AT:n sovittuun kohtaan (ttk-91: vanhan :n osoite) AT sum Pinossa olevaa AT:tä rakennetaan ja puretaan käskyillä: PUSH, POP, PUSHR, POPR CALL, EXIT Talleta R0-R5 pinoon SP AT funca kasvava muistiosoite 9 Aliohjelman käytön toteutus (12) Toteutus jaettu eri yksiköille Kutsuva rutiini CALL käsky Kutsuttu rutiini EXIT käsky Kutsuva rutiini varaa tilaa paluuarvolle pinosta laita parametrit (arvot tai osoitteet) pinoon talleta PC ja varaa tilaa paikallisille muuttujille talleta käytettyvien rekistereiden arvot pinoon (itse aliohjelman toteutus) palauta rekistereiden arvot vapauta paikallisten muuttujien tila palauta PC ja vapauta parametrien tila ota paluuarvo pinosta prolog epilog 10 Luento 4, Aliohjelmat 5
6 Aliohjelmaesimerkki (13) int fb (int x, y) int z = 5; z = x * z + y; return (z); käyttö: R DC 24 PUSH SP,=0 ; tila paluuarvolle PUSH SP, =200 PUSH SP, R muistista muistiin!! tämänhetkinen, nykyinen T = fb (200, R); arvo=1024 paluuarvo par x=200 par y=24 CALL SP, fa POP SP, R1 STORE R1, T talleta PC, aseta PC, kutsu & paluu palauta, PC 2. operandi aina rekisteri 11 Aliohjelmaesimerkki (ei anim) int fb (int x, y) int z = 5; z = x * z + y; return (z); käyttö: R DC 24 PUSH SP,=0 ; ret. value space PUSH SP, =200 PUSH SP, R muistista muistiin!! tämänhetkinen, nykyinen T = fb (200, R); paluuarvo par x=200 par y=24 CALL SP, fa POP SP, R1 STORE R1, T talleta PC, aseta PC, kutsu & paluu palauta, PC 2. operandi aina rekisteri 12 Luento 4, Aliohjelmat 6
7 Aliohjelmaesimerkki (11) int fa (int x, y) int z = 5; z = x * z + y; return (z); T = fa (200, R); Kaikki viitteet näihin tehdään suhteessa :hen SP paluuarvo param x param y vanha PC vanha paik. z vanha R1 aliohjelman toteutus: retfa EQU -4 parx EQU -3 pary EQU -2 locz EQU 1 fa ks. fa.k91 PUSH SP, =0 ; alloc Z PUSH SP, R1 ; save R1 LOAD R1,=5; init Z STORE R1, locz () LOAD R1, parx () MUL R1, locz () ADD R1, pary () STORE R1, retfa () POP SP, R1; recover R1 SUB SP, =1 ; free Z EXIT SP, =2 ; 2 param. 13 prolog epilog Kaikki viitteet näihin tehdään suhteessa :hen Aliohjelmaesimerkki (ei anim) int fa (int x, y) int z = 5; z = x * z + y; return (z); T = fa (200, R); SP paluuarvo param x param y vanha PC vanha paik. z vanha R1 aliohjelman toteutus: retfa EQU -4 parx EQU -3 pary EQU -2 locz EQU 1 fa ks. fa.k91 PUSH SP, =0 ; alloc Z PUSH SP, R1 ; save R1 LOAD R1,=5; init Z STORE R1, locz () LOAD R1, parx () MUL R1, locz () ADD R1, pary () STORE R1, retfa () POP SP, R1; recover R1 SUB SP, =1 ; free Z EXIT SP, =2 ; 2 param. 14 prolog epilog Luento 4, Aliohjelmat 7
8 Viiteparametri esimerkki (2) (Pascal) procb (x, y: int, var pz:int) pz = x * 5 + y; return; procb (200, R, T); käyttö: PUSH SP, =200 PUSH SP, R PUSH SP, =T ; T s address! CALL SP, procb ; T has new value Ei välitetä arvoa T, vaan T:n osoite. Ainoa tapa monisanaiselle parametrille tai ulostuloparametreille Ero C-kieleen: *pz = x * 5 + y;????? 15 Viiteparam. (jatk) (1) procb (x, y: int, var pz:int) pz = x * 5 + y; return; procb (200, R, T); SP param x param y vparam pz vanha PC vanha vanha R1 aliohjelman toteutus: parx EQU -4 ; relative to pary EQU -3 parpz EQU -2 procb PUSH SP, R1 ; save R1 LOAD R1, parx () MUL R1, =5 ADD R1, pary () STORE () POP SP, R1; restore R1 EXIT SP, =3 ; 3 param. ks. procb.k91 prolog epilog 16 Luento 4, Aliohjelmat 8
9 Aliohjelma kutsuu funktiota (1) procc (x, y: int, var pz:int) pz = fa(x,y); return; procc (200, R, T); itse aliohjelman käyttö kuten ennen: PUSH SP, =200 PUSH SP, R PUSH SP, =T ; T s address CALL SP, procc ; T has new value 17 Aliohjelma kutsuu funktiota (2) procc (x, y: int, var pz:int) pz = fa(x,y); return; procc (200, R, T); AT kuten ennen: param x param y vparam pz vanha PC vanha vanha R1 SP aliohjelman toteutus: parxc EQU -4 ; relative to paryc EQU -3 parpz EQU -2 ks. procc.k91 procc PUSH SP, R1 ; save R1 ; call fa(parxc, paryc) PUSH SP,=0 ; ret. value PUSH SP, parxc() PUSH SP, paryc() CALL SP, fa POP SP, R1 STORE () POP SP, R1; restore R1 EXIT SP, =3 ; 3 param. 18 Luento 4, Aliohjelmat 9
10 KJ-palvelun kutsu (6) Samalla tavalla kuin aliohjelman kutsu CALL käskyn asemesta SVC Parametrit pinoon SVC kutsu IRET paluu Paluuarvo (OK, virhe) pois pinosta tarkistusta varten fok = ReadBlock (fp, 64)... PUSH SP, =0 ;paluuarvo PUSH SP, =FileBuffer PUSH SP, CharCnt PUSH SP, FilePtr SVC SP, =ReadFile POP SP, R1 JNZER R1, =FileTrouble 19 Rekursiivinen aliohjelma (4) Aliohjelma, joka kutsuu itseään Ei mitään erikoista muuten Aktivointitietue hoitaa tilanvarauksen automaattisesti paikallisille muuttujille joka kutsukerralla Joka kutsukerralla suoritetaan sama koodialue (aliohjelman koodi), mutta dataa varten on käytössä oma aktivointitietue 20 Luento 4, Aliohjelmat 10
11 Rekursio esimerkki (1) fpow (n: int) if (n=1) return (1); else return (n * fpower (n-1)); k = fpow (4); kutsu: K DC 0 ; k = fpow (4) PUSH SP, =0 PUSH SP, =4 CALL SP, fpow POP SP, R1 STORE R1, K 21 Rekursion toteutus (2) fpow (n: int) if (n=1) return (1); else return (n * fpow (n-1)); k = fpower (4); SP paluuarvo param n vanha PC vanha vanha R1 parret EQU -3 parn EQU -2 fpow One ks. fpow.k91 PUSH SP, R1 ; save R1 LOAD R1, parn() COMP R1,=1 JEQU One ; return 1? ; return fpow(n-1) * N SUB R1, =1 ; R1 = N-1 PUSH SP, =0 ; ret. value space PUSH SP, R1 CALL SP, fpow POP SP, R1 ; R1 = fpow(n-1) MUL R1, parn() STORE R1, parret() POP SP, R1; restore R1 EXIT SP, =1 ; 1 param. 22 Luento 4, Aliohjelmat 11
12 -- Luennon 4 loppu -- [Tane99] 23 Luento 4, Aliohjelmat 12
Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
Luento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri parametrit funktio parametrit,
Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
Luento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri parametrit funktio parametrit,
Luento 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri parametrit funktio parametrit,
Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
Jakso 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
Luento 4 (verkkoluento 4) Aliohjelmien toteutus
Luento 4 (verkkoluento 4) Aliohjelmien toteutus Tyypit, Parametrit Aktivaatiotietue (AT) AT-pino, rekursio 1 Aliohjelmatyypit Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri Parametrit
Luento 4 (verkkoluento 4) Aliohjelmien toteutus
Luento 4 (verkkoluento 4) Aliohjelmien toteutus Tyypit, Parametrit Aktivointitietue (AT) AT-pino, rekursio 1 Aliohjelmatyypit Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri Parametrit
Aliohjelmien toteutus Suoritin ja väylä
Aliohjelmien toteutus Suoritin ja väylä Tyypit, Parametrit Aktivointitietue (AT) AT-pino, rekursio Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset 1 Aliohjelmatyypit Korkean tason
Tietokoneen toiminta Copyright Teemu Kerola Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio
Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys Tyypit, Parametrit Aktivointitietue (AT) AT-pino Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset
Luento 4 Aliohjelmien toteutus
Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys Tyypit, Parametrit Aktivointitietue (AT) AT-pino Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset
Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys
Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys Tyypit, Parametrit Aktivointitietue (AT) AT-pino Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset
Monipuolinen esimerkki
Monipuolinen esimerkki Lopuksi monipuolinen esimerkki, jossa ohjelmisto koostuu pääohjelmasta ja kahdesta aliohjelmasta, joista toinen on proseduuri ja toinen funktio. Funktio Sqrt(int n): int Sqrt(int
Aliohjelmatyypit. Parametrien tyypit. Aktivointitietue. Aktivointitietuepino. Rekursio. Käyttöjärjestelmäpalvelut. Aliohjelmien toteutus
Aliohjelmien toteutus Aliohjelmatyypit Parametrien tyypit Aktivointitietue Aktivointitietuepino Rekursio Käyttöjärjestelmäpalvelut Tässä luennossa tutustutaan aliohjelmien toteutukseen konekielitasolla.
2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.
Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma
Tietokoneen toiminta, K Tavoitteet (4)
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tieto ja sen osoite (3) X DC LOAD, =X LOAD R2, X int x =; symbolin X arvo muuttujan X arvo
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Muuttujan X osoite on 230 Muuttujan X arvo on 12 Symbolin X arvo on 230 Tieto ja sen osoite
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Muuttujan X osoite on 230 Muuttujan X arvo on 12 Symbolin X arvo on 230 symbolit ovat yleensä
Tiedon sijainti suoritusaikana (3) Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Miten tietoon viitataan? (4)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas Esim. 10 ns data-alueella
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tieto ja sen osoite (3) X DC 12 LOAD R1, =X LOAD R2, X int x =12; symbolin X arvo muuttujan
C-ohjelmointi: Funktiot. Luento: viikko 2
C-ohjelmointi: Funktiot Luento: viikko 2 1 Sisält ltö Yleistä Parametrit Paluuarvo ja sen käyttk yttö Ohjelmointityylistä: : modulaarisuus Funktion esittelyt otsikkotiedostoon Monen ohjelmatiedoston käyttk
Tiedon sijainti suoritusaikana. Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset Tiedon sijainti suoritusaikana Muistissa (=keskusmuistissa) iso Esim. 256 MB, tai 64 milj. 32
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas Esim. 10 ns data-alueella
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas data-alueella vai
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas Rekisterissä pieni
TITO. C-ohjelmointi, syksy 2008: Funktiot. ltö. Aliohjelmaesimerkki. Esimerkki: potenssiin korotus. Luento 4, pe
Sisält ltö C-ohjelmointi, syksy 2008: Funktiot Luento 4, pe 2.9.2008 Yleistä Parametrit Paluuarvo ja sen käyttk yttö Ohjelmointityylistä: : modulaarisuus Funktion esittelyt otsikkotiedostoon Monen ohjelmatiedoston
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas Rekisterissä pieni
C-ohjelmointi, syksy 2008: Funktiot
C-ohjelmointi, syksy 2008: Funktiot Luento 4, pe 12.9.2008 1 Sisält ltö Yleistä Parametrit Paluuarvo ja sen käyttk yttö Ohjelmointityylistä: : modulaarisuus Funktion esittelyt otsikkotiedostoon Monen ohjelmatiedoston
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas Esim. 10 ns data-alueella
Luento 2 (verkkoluento 2) Ttk-91 järjestelmä
Luento 2 (verkkoluento 2) Ttk-91 järjestelmä Ttk-91 laitteisto Tiedon sijainti Muistitilan käyttö Ttk-91 konekieli Tiedon osoitus ttk-91:ssä Indeksointi, taulukot, tietueet 1 Suorituksenaikainen suorittimen
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana Muistissa (=keskusmuisti) iso hidas Rekisterissä pieni nopea
Muistihierarkia Kiintolevyt I/O:n toteutus
Luento 8 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana Muistissa (=keskusmuistissa) iso Esim. 256 MB, tai 64 milj.
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana Muistissa (=keskusmuisti) iso hidas Rekisterissä pieni nopea
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana (3) Muistissa (=keskusmuistissa) iso hidas Rekisterissä pieni
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tiedon sijainti suoritusaikana Muistissa (=keskusmuisti) iso hidas Rekisterissä pieni nopea
Jakso 10 Ohjelman suoritus järjestelmässä
Jakso 10 Ohjelman suoritus järjestelmässä Käännös Linkitys Dynaaminen linkitys Lataus 1 Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia varten Lausekielestä
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2003
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto 1 Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)
Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer) 1 Suorituksenaikainen suorittimen ja muistin sisältö muisti suoritin
Luento 12 Yhteenveto. Tavoitteet. Keskeisiä asioita. Mitä hyötyä tästä on? Esimerkkikone: TTK-91 laitteisto. Tietokoneen toiminta 27.4.
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 10 Käännös, linkitys ja lataus
Luento 10 Käännös, linkitys ja lataus Käännös Linkitys Dynaaminen linkitys Lataus 1 Lausekielestä suoritukseen (3) Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia
Kertausluento luennoista 1-3 1
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi
Luento 10 Käännös, linkitys ja lataus. Käännös Linkitys Dynaaminen linkitys Lataus
Luento 10 Käännös, linkitys ja lataus Käännös Linkitys Dynaaminen linkitys Lataus 1 Lausekielestä suoritukseen (3) Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia
Jakso 10 Ohjelman suoritus järjestelmässä. Käännös Linkitys Dynaaminen linkitys Lataus
Jakso 10 Ohjelman suoritus järjestelmässä Käännös Linkitys Dynaaminen linkitys Lataus 1 Lausekielestä suoritukseen Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia
Lausekielestä suoritukseen (3) Luento 10 Käännös, linkitys ja lataus. Assembler-kielinen käännösyksikkö (2) Käännösyksikkö (4) Objektimoduuli (8)
Luento 10 Käännös, linkitys ja lataus Käännös Linkitys Dynaaminen linkitys Lataus 1 Lausekielestä suoritukseen (3) Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia
Luento 10 Käännös, linkitys ja lataus
Luento 10 Käännös, linkitys ja lataus Käännös Linkitys Dynaaminen linkitys Lataus 1 Lausekielestä suoritukseen (3) Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia
Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi
Jakso 10 Ohjelman suoritus järjestelmässä
Jakso 10 Ohjelman suoritus järjestelmässä Käännös Linkitys Dynaaminen linkitys Lataus 1 Käännö s lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessi a varten Lausekielestä
Lausekielestä suoritukseen (3) Luento 10 Käännös, linkitys ja lataus. Assembler-kielinen käännösyksikkö (2) Objektimoduuli (2) Symbolitaulu
Luento 10 Käännös, linkitys ja lataus Käännös Linkitys Dynaaminen linkitys Lataus 1 Lausekielestä suoritukseen (3) Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus muistiin prosessia
Luento 12 Yhteenveto
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 2 (verkkoluento 2) Ttk-91 järjestelmä
Luento 2 (verkkoluento 2) Ttk-91 järjestelmä Käskyjen nouto- ja suoritussykli Ttk-91 laitteisto Tiedon sijainti Muistitilan käyttö Ttk-91 konekieli Tiedon osoitus ttk-91:ssä Indeksointi, taulukot, tietueet
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi
Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?
Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi 27.1.2011 Tietokone suoritin (CPU) väylä tai väylät laiteohjaimet muiden koneiden kanssa Ethernet, modeemi,... laitteiden kanssa Levy, DVD, CD,
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
Järjestelmän ulkoinen muisti I/O
Luento 9 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon
Aktivaatiotietue. Yleiskäsite funktio (aliohjelma) -mekanismin tarvitsemille tiedoille. Kehysosoitin (%fp) missä tiedot ovat
Aktivaatiotietue Yleiskäsite funktio (aliohjelma) -mekanismin tarvitsemille tiedoille Parametrit ja paluuarvo Paluuosoite Linkkitiedot Kehysosoitin (%fp) missä tiedot ovat Missä edellisen tiedot ovat (palattaessa
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori Miksi TTK-91? TTK-91 rakenne ja käskykanta-arkkitehtuuri Mikä on simulaattori? Miten TTK-91 ohjelmia suoritetaan simulaattorissa? 1 Miksi konekieltä?
Käännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
Osoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
Tavoitteet (4) Luento 12 Yhteenveto. Keskeisiä asioita. Mitä hyötyä tästä on? (2) Esimerkkikone: TTK-91 laitteisto suoritin - CPU
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 12 Yhteenveto
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto 1 Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010
Luento 12 Yhteenveto Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 1 Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori Miksi TTK-91? TTK-91 rakenne ja käskykanta-arkkitehtuuri Mikä on simulaattori? Miten TTK-91 ohjelmia suoritetaan simulaattorissa? 1 Miksi konekieltä?
4.2. ALIOHJELMAT 71. Tulosvälitteisyys (call by result) Tulosvälitteinen parametri kopioidaan lopuksi
4.2. ALIOHJELMAT 71 sisältyä kaikki tarvittavat kontrollia ohjaavat rakenteet. Jos se on lause (yleensä lohko), niin on ratkaistava, miten paluuarvo ilmaistaan. Joissakin kielissä (esimerkiksi Pascal)
Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Luento 12 Yhteenveto
Luento 12 Yhteenveto Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten
Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat?
Luento 12 Yhteenveto Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright Tavoitteet (4)
Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta
Luento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori
Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori Miksi TTK-91? TTK-91:n rakenne ja käskykanta-arkkitehtuuri KOKSI-simulaattori 1 Miksi konekieltä? Koneen toiminnan ymmärtäminen Oman ohjelman toiminnan
Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori
Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori Miksi TTK-91? TTK-91:n rakenne ja käskykanta-arkkitehtuuri KOKSI-simulaattori 1 Miksi konekieltä? Koneen toiminnan ymmärtäminen Oman ohjelman toiminnan
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori Miksi TTK-91? TTK-91 rakenne ja käskykanta-arkkitehtuuri Mikä on simulaattori? Miten TTK-91 ohjelmia suoritetaan simulaattorissa? 1 Miksi konekieltä?
Tietokoneen toiminta, K Tavoitteet (4)
Luento 12 Yhteenveto Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta
Lyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä?
Luento 2 tietokone ja sen KOKSI simulaattori Miksi? rakenne ja käskykanta-arkkitehtuuri Mikä on simulaattori? Miten ohjelmia suoritetaan simulaattorissa? Miksi konekieltä? Koneen toiminnan ymmärtäminen
C-ohjelmointi, kevät 2006: Funktiot
C-ohjelmointi, kevät 2006: Funktiot Luento 4, ti 7.2.2006 Tiina Niklander Sisältö Yleistä Parametrit Paluuarvo ja sen käyttö Ohjelmointityylistä: modulaarisuus Funktion esittelyt otsikkotiedostoon Monen
TITO. Sisältö. C-ohjelmointi, kevät 2006: Funktiot. Aliohjelmaesimerkki. Yleistä. Parametrit. Esimerkki: potenssiin korotus
Sisältö C-ohjelmointi, kevät 2006: Funktiot Luento 4, ti 7.2.2006 Tiina Niklander Yleistä Parametrit Paluuarvo ja sen käyttö Ohjelmointityylistä: modulaarisuus Funktion esittelyt otsikkotiedostoon Monen
815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä
Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.
Tulkinta ja emulointi
Luento 11 (verkkoluento 11) Tulkinta ja emulointi Java ohjelman suoritus Tavukoodi JVM Tulkinta Java-suoritin Käännös ja JIT-käännös JVM vs. Titokone Java ohjelmien suoritus Java virtuaalikone SW HW Java
Harjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, K2000
Luento 12 Yhteenveto Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori
Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori Miksi TTK-91? TTK-91 rakenne ja käskykanta-arkkitehtuuri Mikä on simulaattori? Miten TTK-91 ohjelmia suoritetaan simulaattorissa? 1 Miksi konekieltä?
Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi
tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi ero taulukkoon taulukossa alkiot samantyyppisiä tietueessa alkiot voivat olla erityyppisiä tiedot kuitenkin yhteen kuuluvia ohjelmoinnin perusteet,
Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 29/01/2001 Teemu Kerola, Copyright 2001
Luento 12 Yhteenveto Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta
815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu