Ohjelmien analysointi. ER-kaaviot
|
|
- Katriina Heino
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmien analysointi Ohjelmien kuvaaminen kaavioilla ohjelmien ymmärtäminen kaavioiden avulla kaavioiden tuottaminen ohjelmasta Erilaisia kaaviotyyppejä: ER-kaaviot, tilakaaviot, UML-kaaviot tietohakemisto vuokaaviot (tarkemmin) Vuoanalyysi Ohjelma-analyysi Viipalointi TTY Ohjelmistotekniikka 1 ER-kaaviot Kirjasto N 1 asiakas omistus M Lainaaja 1 N lainaus N Kirja TTY Ohjelmistotekniikka 2 1
2 Kirja varataan Merkitse varatuksi Ei varauksia Merkitse saapuneeksi Poistettu Tilakaaviot Kirja lainataan Merkitse lainatuksi Huonokuntoinen Poista Lainaushyllyssä Palautustiskillä Ota käsiteltäväksi On varauksia Ilmoita saapumisesta Lainassa Merkitse lainatuksi Varattujen hyllyssä TTY Ohjelmistotekniikka 3 UML-kaaviot (luokkakaavio) Aineisto hankintapäivä hinta kopiomäärä hanki ( ) luetteloi ( ) lainaa ( ) Kirjasto Kirja kirjoittaja ISBN lainaa ( ) CD kesto lainaa ( ) Lehti vuosi numero lainaa ( ) TTY Ohjelmistotekniikka 4 2
3 UML-kaaviot (sekvenssikaavio) : Lainaaja : Luettelo : Aineisto : Asiakasrekisteri hae(aineisto) lainaa(asiakas) tarkista(asiakas) TTY Ohjelmistotekniikka 5 Tietohakemisto Sisältö: nimi tietoalkion, tietovaraston tai ulkoisen olion pääasiallinen nimi alias käyttökohta ja tapa tietoalkiota käyttävät prosessit käyttötapa (syötteenä, tulosteena, tietovarastona) sisällön kuvaus (käytetty notaatio) lisätietoja Nimi Puhelinnumero Alias Käyttökohta ja -tapa Kuvaus AssessAgainstSet-up (tuloste) DialPhone (syöte) puhelinnumero = ( suuntanumero ) + varsinainen numero suuntanumero = * nollalla alkava 2-3-numeroinen luku * varsinainen numero = * 6-8-numeroinen luku * TTY Ohjelmistotekniikka 6 3
4 Tieto- ja kontrollivuo Vuokaaviot flow graph liittyy kääntäjätekniikkaan käytetään esim. optimoinnissa flow chart (kulkukaavio) kontrollin kulku esitetään algoritmin tasolla flow diagram abstraktimpi esitys kuin edelliset käytetään ohjelmien suunnittelussa (takaisinmallinnuksessa) Tieto ja kontrolli voidaan esittää samassa kaaviossa TTY Ohjelmistotekniikka 7 Kääntäjiin liittyvät vuokaaviot Peruslohko (basic block) koostuu peräkkäisistä ohjelman lauseista Kontrollivuo ei saa haarautua kesken peruslohkon Peruslohkon voi aloittaa: ohjelman (lauselistan) 1. lause hypyn kohteena oleva lause hyppykäskyn jälkeen tuleva lause TTY Ohjelmistotekniikka 8 4
5 Peruslohkot prod := 0; i := 1; do begin prod := prod + a [ i ] * b [ i ]; i := i + 1; end while i <= 20 Optimointi TTY Ohjelmistotekniikka 9 Algoritmin esittäminen (kulkukaavio) S1 t E f S1 S2 S1 S2 t E f S1; S2 if E then S1 else S2 do S1 while E TTY Ohjelmistotekniikka 10 5
6 Merkinnät: Abstraktit tietovuokaaviot Data 1 Muutos 1 Data 2 Muutos Data 5 2 Muutos 3 Data 6 Data 3 Data 4 Olio 1 Olio 2 Tietovarasto Järjestelmän ulkoinen olio esim. syöte tai tuloste Muutos tai prosessi Tietovuo (tai tietovirta) Tietovarasto TTY Ohjelmistotekniikka 11 Esimerkki tietovuokaaviosta Lainaaja Kirjastokortti Kirjan viivakoodi Lue kortti Merkitse lainatuksi Kuitti Kirja Asiakastietokanta Aineistotietokanta TTY Ohjelmistotekniikka 12 6
7 Tietovuokaavion tarkentaminen Puheääni Puhelin- Kuultu puhe Soittaja Vastaaja Valittu numero soitto Puheääni Valittu numero Ääniaallon muuttaminen signaaliksi Näppäimistön elektroniikka Elektroninen signaali Taajuudet Puhelun kytkentä Elektroninen signaali Signaalin muuttaminen ääniaalloksi Kuultu puhe TTY Ohjelmistotekniikka 13 Tarkennuksen merkinnät A f B A f1 V W f2 f3 Y X f4 Z f5 Z1 f6 Z3 Z2 f7 B X Y f41 f42 1 y1 f43 f44 2 y2 f45 Z TTY Ohjelmistotekniikka 14 7
8 Vuoanalyysi (flow analysis) Ohjelman ajoaikaisten ominaisuuksien tutkiminen ajamatta ohjelmaa käytetään yksinkertaistettua, symbolista versiota ohjelman datasta Vaihtoehtoisia termejä: symbolinen ajaminen (symbolic eecution) abstrakti tulkinta (abstract interpretation) Tarkoitus: optimointi i ohjelmien todistaminen invarianttien (pysyväisväittämien) generointi ohjelman luotettavuuden parantaminen TTY Ohjelmistotekniikka 15 Esimerkki abstraktista tulkinnasta Yhdeksällä jaollisuus esim. onko luku jaollinen 9:llä? ratkaisu: = 18 on jaollinen voidaan soveltaa tarkistuksissa? 123 * = TTY Ohjelmistotekniikka 16 8
9 Esimerkkejä vuoanalyysista: muutoksia koodin parantamiseksi Peräkkäinen koodi: lausekkeen toistuvan evaluoinnin eliminointi vakioiden/vakiolausekkeiden korvaaminen niiden arvoilla Silmukat: koodin siirtäminen silmukan ulkopuolelle kalliiden laskutoimitusten välttäminen Muita parannuksia: muuttujan korvaaminen toisella kuolleen koodin eliminointi Tehokkuus TTY Ohjelmistotekniikka 17 Esimerkki kalliiden laskutoimitusten välttämisestä i := 1; while i < 100 do a := i * 5; i = i + 1; od i := 1; t := 5; while i < 100 do a := t; i = i + 1; t := t + 5; od TTY Ohjelmistotekniikka 18 9
10 Koodin siirtäminen silmukan ulkopuolelle 1 1 Laske A / B 2 Voidaanko siirtää? 2 3 B <- lauseke; Laske A/B Laske A / B 4 3 B <- lauseke; Laske A/B 4 5 A ja B eivät riipu silmukkalaskurista 5 TTY Ohjelmistotekniikka 19 Ohjelma-analyysi Lähdekoodin ja muiden dokumenttien tarkastelu (vrt. koodianalyysi) Analysointia tapahtuu neljällä tasolla: toteutustaso rakenteellinen taso toiminnallinen taso sovellusalueen taso staattinen analyysi dynaaminen analyysi TTY Ohjelmistotekniikka 20 10
11 Esimerkkejä ohjelmaanalyysista Staattinen analyysi Näytä sen aliohjelman runko, jota kutsutaan tietystä lauseesta. Näytä sen tyypin esittely, jota käytetään tietyn muuttujan esittelyssä. Etsi kaikki muuttujat, jotka ovat näkyviä tietyssä aliohjelmassa ja jotka ovat tiettyä tyyppiä. Dynaaminen analyysi Etsi kaikki lauseet, jotka suoritetaan tietyn muuttujan arvon tuottamiseksi. Etsi kaikki lauseet, jotka käyttävät tietyn muuttujan arvoa. Etsi kaikki muuttujat, joiden arvoa käytetään laskettaessa tietyn muuttujan arvo. TTY Ohjelmistotekniikka 21 Esimerkkejä ohjelmakaavioista Kutsukaavio tai kutsuviittauskaavio (call graph) Yhteenvetokaavio (program summary graph) Aliohjelmien välinen vuokaavio (interprocedural flow graph) Riippuvuuskaavio (system dependency graph) TTY Ohjelmistotekniikka 22 11
12 ( define ( square a ) ( * a a ) ) ( define ( fun y ) ( + ( square ) ( square y ) ) ) Kutsukaavio (kontrollin kulku)?(f fun 35) = 34 fun square square TTY Ohjelmistotekniikka 23 ( define ( square a ) ( * a a ) ) ( define ( fun y ) ( + ( square ) ( square y ) ) )?(f fun 35) = 34 arg1 = 3 arg2 = 5 Tietovuon lisääminen paluuarvo = 9 fun arg = 3 arg = 5 paluuarvo = 25 square paluuarvo = 34 square TTY Ohjelmistotekniikka 24 12
13 Toinen esimerkki kutsukaaviosta 1 program Sums 2 read ( n ); 3 i := 1; 4 while ( i <= n ) 5 sum := 0; 6 Acc ( sum, i ); 7 write ( sum, i ); 8 i := i + 1; 9 end while 10 end. Sums 11 procedure Acc (, y ) ref, y 12 j := 1; 13 while ( j <= y ) 14 Add (, j ); 15 Inc ( j ); 16 end while 17 return sum, i Acc 18 procedure Inc ( ) ref 19 Add (, 1 ); 20 return 21 procedure Add ( a, b ) ref a; value b 22 a := a + b; 23 return j, j Inc Add, 1 TTY Ohjelmistotekniikka 25 Sums sum i Acc y j Inc Add a Yhteenvetokaavio todelliset parametrit muodolliset parametrit sum i y j a parametri- liitäntä parametrien tietovuo TTY Ohjelmistotekniikka 26 13
14 Sums Acc { U 6 } sum i { U 2, U 3, U 5 } y j Inc { U 6 } { U 6 } Add Aliohjelmien välinen vuokaavio a sum i j { U 6 } y a { U 2, U 3 } { U 1, U 4, U 6 } { U 1 } { U 4, U 6 } Käyttöjoukot (use sets): U 1 : sum rivillä 7 U 2: i rivillä 7 U 3 : i rivillä 8 U 4 : j rivillä 13 U 5 : y rivillä 13 U 6 : a rivillä 22 TTY Ohjelmistotekniikka 27 Riippuvuuskaavio Acc y j := 1 while j <= y y j Add j j Inc j Inc Add 1 Add a b a := a + b a b TTY Ohjelmistotekniikka 28 14
15 Viipalointi (slicing) Ohjelmien ymmärtäminen Virheiden etsintä Ohjelmien rinnakkaistaminen Viipaleen laskenta perustuu ohjelman tieto- ja kontrollivuohon viipaleen lauseet eivät välttämättä peräkkäisiä Viipale määräytyy ohjelmakohdan (rivin) ja tarkasteltavien muuttujien perusteella Alkuperäinen määritelmä: viipale sisältää lauseet, jotka voivat vaikuttaa seuraus tietyn muuttujan arvoon tietyssä ohjelmakohdassa viipaleen ajaminen tuottaa tälle muuttujalle samat arvot kuin alkuperäisen ohjelman ajaminenkin TTY Ohjelmistotekniikka 29 Esimerkkiohjelma 1 Esimerkki (1) (1) begin (2) read (, y ); (3) total := 0.0; (4) sum := 0.0; (5) if <= 1 then (6) sum := y; (7) else begin (8) read ( ); (9) total := * y; (10) end; (11) write ( total, sum ); (12) end; Viipale kriteerin <12, { }> perusteella: (1) begin (2) read (, y ); (5) if <= 1 then (7) else begin (8) read ( ); (10) end; (12) end; TTY Ohjelmistotekniikka 30 15
16 Esimerkkiohjelma 1 Esimerkki (2) (1) begin (2) read (, y ); (3) total := 0.0; (4) sum := 0.0; (5) if <= 1 then (6) sum := y; (7) else begin (8) read ( ); (9) total := * y; (10) end; (11) write ( total, sum ); (12) end; Viipale kriteerin <12, { }> perusteella: (1) begin (2) read (, y ); (12) end; TTY Ohjelmistotekniikka 31 Esimerkkiohjelma 1 Esimerkki (3) (1) begin (2) read (, y ); (3) total := 0.0; (4) sum := 0.0; (5) if <= 1 then (6) sum := y; (7) else begin (8) read ( ); (9) total := * y; (10) end; (11) write ( total, sum ); (12) end; Viipale kriteerin <12, { total }> perusteella: (1) begin (2) read (, y ); (3) total := 0.0; (5) if <= 1 then (7) else begin (9) total := * y; (10) end; (12) end; Rivi 11? TTY Ohjelmistotekniikka 32 16
17 Esimerkkiohjelma 2 begin (1) read ( ); (2) if ( < 0 ) then (3) y := f1 ( ); (4) := g1 ( ); else (5) if ( = 0 ) then (6) y := f2 ( ); (7) := g2 ( ); else (8) y := f3 ( ); (9) := g3 ( ); end if; end if; (10) write ( y ); (11) write ( ); end; Viipalointi ja ohjelman riippuvuuskaavio datariippuvuudet kontrolliriippuvuudet Viipale kriteerin <10, { y }> perusteella TTY Ohjelmistotekniikka 33 Viipaloinnin jaottelu (1) Alkuperäinen eli takautuva (backward) viipale sisältää sellaiset lauseet, jotka vaikuttavat muuttujan arvoon Etenevä (forward) viipale sisältää sellaiset lauseet, joihin muuttuja vaikuttaa (joissa viitataan muuttujaan) TTY Ohjelmistotekniikka 34 17
18 Etenevä viipalointi Esimerkkiohjelma 3 (1) read ( n ); (2) i := 2; (3) c := 0; (4) while i <= ( n div 2 ) do (5) if ( n mod i ) = 0 then (6) write ( i ); (7) c := c + 1; (8) fi; (9) i := i + 1; (10) od; (11) write ( c ); Etenevä viipale kriteerin <2, { c }> perusteella: (3) c := 0; (7) c := c + 1; (11) write ( c ); TTY Ohjelmistotekniikka 35 Viipaloinnin jaottelu (2) Alkuperäinen eli staattinen viipalointi perustuu käännösaikaiseen ohjelman tarkasteluun Dynaaminen viipalointi otetaan mukaan vain ne lauseet, jotka tulee suoritettua viipale sisältää lauseet, jotka vaikuttavat muuttujan arvoon tietyllä ohjelman suorituskerralla dynaamiselle viipaloinnille on hieman erilaisia määritelmiä TTY Ohjelmistotekniikka 36 18
19 Dynaaminen viipalointi (verrattuna staattiseen) Esimerkkiohjelma 3 (1) read ( n ); (2) i := 2; (3) c := 0; (4) while i <= ( n div 2 ) do (5) if ( n mod i ) = 0 then (6) write ( i ); (7) c := c + 1; (8) fi; (9) i := i + 1; (10) od; (11) write ( c ); Staattinen viipale kriteerin <11, { c } > perusteella: kaikki muut rivit paitsi rivi 6 Dynaaminen viipale kriteerin <11, { c } > perusteella syötearvolla n = 2: (3) c := 0; (11) write ( c ); TTY Ohjelmistotekniikka 37 Dynaamisen viipaloinnin erilaisia määritelmiä Määritelmä 1: osa-ohjelma, joka laskee tarkasteltavien muuttujien arvot tietyllä suorituskerralla Määritelmä 2: kokoelma lauseita, jotka vaikuttavat tarkasteltavien muuttujien arvoihin tietyllä suorituskerralla ei välttämättä ajettava osa-ohjelma TTY Ohjelmistotekniikka 38 19
20 Määritelmien ero Esimerkkiohjelma 4 (1) i := 0; (2) while i < 10 do (3) if i = 0 then (4) h := 10; (5) i := i + 1; (6) od; (7) write ( h ); Dynaaminen viipale kriteerin < 7, { h } > perusteella: 1. määritelmän mukaan: kaikki rivit 2. määritelmän mukaan: kaikki muut rivit paitsi rivi 5 (7) write ( h ); kaikki muut rivit paitsi rivi 5 TTY Ohjelmistotekniikka 39 20
ER-kaaviot. Ohjelmien analysointi. Tilakaaviot. UML-kaaviot (luokkakaavio) Tietohakemisto. UML-kaaviot (sekvenssikaavio) Kirjasto
Ohelmen analsont Ohelmen kuvaamnen kaavolla ohelmen mmärtämnen kaavoden avulla kaavoden tuottamnen ohelmasta Erlasa kaavotppeä: ER-kaavot, tlakaavot, UML-kaavot tetohakemsto vuokaavot (tarkemmn) Vuoanals
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Lisätiedot815338A 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,
LisätiedotEloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman rekisteriallokaatiota)
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotTieto 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
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta
Lisätiedot2) 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
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat
LisätiedotJakso 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ä
LisätiedotJakso 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
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
LisätiedotYhteenveto. Menettelytavat
Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotKää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
LisätiedotOlioiden yhteistyön mallintaminen
Olioiden yhteistyön mallintaminen Luokkakaaviosta käy hyvin esille ohjelman rakenne minkälaisia luokkia on olemassa miten luokat liittyvät toisiinsa Entä ohjelman toiminta? Luokkakaaviossa voi olla metodien
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
Lisätiedot12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
LisätiedotJohdantoluento. Ohjelmien ylläpito
Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito
LisätiedotOngelma(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
Lisätiedotf(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotAnalyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 4: Symbolit, derivojaesimerkki, kierroksen 1 ratkaisut (mm. SICP 2.32.3.2) Riku Saikkonen 1. 11. 2011 Sisältö 1 Symbolit ja sulkulausekkeet 2 Lisää Schemestä:
Lisätiedot815338A 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
LisätiedotAnalyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
LisätiedotMakrojen mystinen maailma lyhyt oppimäärä
Makrojen mystinen maailma lyhyt oppimäärä Makrot osana SAS-teknologiaa Yleiskuva Jouni Javanainen Aureolis lyhyesti Aureolis on jatkuvia Business Intelligence -palveluita tuottava asiantuntijaorganisaatio
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotPong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi
Muilla kielillä: English Suomi Pong-peli, vaihe 7 Tässä vaiheessa lisäämme peliin pistelaskun. Pong-pelissä pelaaja saa pisteen kun pallo ohittaa toisen pelaajan mailan. 1. Aliohjelmakutsu laskureita varten
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotUML- mallinnus: Tilakaavio
UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista
LisätiedotSisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.
Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto
LisätiedotAnalyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:
LisätiedotVisual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
LisätiedotMagicDraw-pikaohje (VH5)
MagicDraw-pikaohje (VH5) Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Linux-työasemaluokka: käynnistä MagicDraw jollakin
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotTietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
LisätiedotSisä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
LisätiedotOsoitin 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
LisätiedotTällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.
MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.
Lisätiedot1. 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
LisätiedotPerinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.
TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 31.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 31.1.2011 1 / 41 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma
LisätiedotTietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
LisätiedotKehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!
Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! Sopimusohjelmointi
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
Lisätiedot(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta kurssin alkuosasta II Algoritmien analyysi: oikeellisuus Algoritmin täydellinen oikeellisuus = Algoritmi päättyy ja tuottaa määritellyn tuloksen
LisätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 2 521475S Tietokonealgoritmien rinnakkaisuuden analysointi Algoritmi on proseduuri, joka koostuu äärellisestä joukosta yksiselitteisiä sääntöjä jotka muodostavat operaatiosekvenssin,
LisätiedotOhjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1
Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotLähestymistavat - toiminnallinen
Lähestymistavat - toiminnallinen Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa jakaa osasysteemeihin tietojärjestelmissä
LisätiedotC-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.
Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen
LisätiedotAliohjelmatyypit (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,
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin
LisätiedotKirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina
Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 6. Alkeislukuteoria 6.1 Jaollisuus Käsitellään kokonaislukujen perusominaisuuksia: erityisesti jaollisuutta Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,...
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotOngelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
LisätiedotJohdatus f90/95 ohjelmointiin. H, R & R luvut 1-3
Johdatus f90/95 ohjelmointiin H, R & R luvut 1-3 Fortran-kieli ( 3.1-3) IBM 1954, FORmula TRANslator ISO/ANSI standardit f90, f95, f2003 tieteellinen & teknillinen laskenta rinnakkaislaskenta (HPF, openmp)
LisätiedotOhjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto
LisätiedotLuento 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,
LisätiedotOhjelmistotekniikan menetelmät, UML
582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka
LisätiedotAlgoritmit 2. Demot Timo Männikkö
Algoritmit 2 Demot 4 24.-25.4.2019 Timo Männikkö Tehtävä 1 (a) int laske(n) { if (n
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman
Lisätiedot811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu
811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 18. toukokuuta 2018 Yleistä Tentti 1 oli pistekeskiarvon (12.7) perusteella vaikeudeltaan kohtuullinen. Omasta tehtäväpaperista
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
LisätiedotNopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
LisätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
LisätiedotJakso 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,
LisätiedotTIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 27. lokakuuta 2009
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 27. lokakuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe D tiistai 10.11. klo 10 välikielen generointi Kääntäjän rakenne
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotLuento 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
Lisätiedot811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto
811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien
Lisätiedotkäyttötapaukset mod. testaus
käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
LisätiedotOhjelmistotuotanto, s
Toiminnan osiinjako Ohjelmistotuotanto Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT Vaatimusanalyysin menetelmiä systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa
Lisätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
Lisätiedotkontrollivuon analyysejä optimointiensa tueksi ja myös tiettyjen merkitysopillisten
Luku 4 Kontrolli Tässä viimeisessä luvussa paneudutaan ohjelman kontrollin hallintaan. Keskeisin asia on aliohjelmakäsite, joka on teoreettisesti niin vahva, että valtaosa muista aiheeseen liittyvistä
LisätiedotT Datasta tietoon, syksy 2005 Laskuharjoitus 8.12., ratkaisuja Jouni Seppänen
T-1.1 Datasta tietoo, syksy 5 Laskuharjoitus.1., ratkaisuja Joui Seppäe 1. Simuloidaa tasoittaista algoritmia. Esimmäisessä vaiheessa ehdokkaia ovat kaikki yhde muuttuja joukot {a}, {b}, {c} ja {d}. Aaltosulkeide
LisätiedotKielioppia: toisin kuin Javassa
Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien
LisätiedotC++11 lambdat: [](){} Matti Rintala
C++11 lambdat: [](){} Matti Rintala bool(*)(int) Tarve Tarve välittää kirjastolle/funktiolle toiminnallisuutta Callback-funktiot Virhekäsittely Käyttöliittymät Geneeristen kirjastojen räätälöinti STL:n
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
Lisätiedot