ITKP102 Ohjelmointi 1, syksy 2007
|
|
- Hanna Sariola
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 ITKP102 Ohjelmointi 1, syksy 2007 Tentti , suomenkielinen Neljä tehtävää, joista maksimipistemääräksi tulee 24. Kurssin läpäisy edellyttää vähintään 12 pistettä tentistä. Demotehtävät vaikuttavat arvosanaan siten kuin kurssin WWW-sivulla on ilmoitettu. Tentissä ei saa olla mukana laskinta eikä muuta tietoteknistä välinettä. Mukana saa olla yksi kirjallinen materiaalikokonaisuus, esim. kirja, kansio, tuloste tai moniste, jossa ei ole ilman väkivaltaa irtoavia osia. Materiaalissa saa olla myös itse tehtyjä lisämerkintöjä. (Kysymykset on laadittu siten ettei vastaamisen edellyttämiä taitoja ehdi opiskella tenttitilaisuuden aikana. Referenssimateriaali kuitenkin kuuluu ohjelmointiin sekä oikeasti että tenttitilanteessa.) Sivu 1 / 9
2 Kysymys 1: Ohjelman ymmärtäminen ITKP102 Ohjelmointi 1, syksy 2007 Tutki seuraavaa ohjelmaa. Oleta, että se on olemassa tietokoneella siten että se voidaan kääntää ja suorittaa Java-työkaluilla. 1 public class ExamProgram6 { 2 private static void dosomething ( double [ ] numbers, int a ) { 3 int b = numbers. l e n g th 1 a ; 4 numbers [ a ] = ( numbers [ a ] + numbers [ b ] ) / 2. 0 ; 5 } 6 private static S t r i n g c h a r a c t e r i z e ( double num) { 7 return num >= 0? Positive : Negative ; 8 } 9 public static void main ( S t r i n g [ ] args ) { 10 double [ ] array = { 4. 0, 2. 0, , 16.0 } ; short howmany = array. length / 2 ; 13 for ( int i = 0 ; i < howmany ; i ++) { 14 dosomething ( array, i ) ; 15 } 16 for ( int k = 0 ; k < howmany ; k++) { 17 System. out. p r i n t l n ( array [ k ] ) ; 18 S t r i n g s = c h a r a c t e r i z e ( array [ k ] ) ; 19 System. out. p r i n t l n ( s ) ; 20 } 21 System. out. p r i n t l n ( ) ; 22 } 23 } Vastattavat kohdat (10 kpl) ja painoarvot pisteytyksessä (yht. 6p): a) Mikä on sen tiedoston nimi, johon lähdekoodi on tallennettu? (0.3p) b) Mikä on ajettavan tavukooditiedoston nimi? (0.3p) c) Millä komentorivikomennoilla käännät ja suoritat ohjelman? (0.4p) d) Missä järjestyksessä rivit 3, 4, 10, 12, 14 suoritetaan? Kirjoita em. rivinumerot siinä järjestyksessä kuin virtuaalikone suorittaa rivit (monta numeroa, osa mahdollisesti useita kertoja!) (2p) e) Mitä ohjelma tulostaa? (0.5p) f) Tutki kaikki metodien, parametrien ja paikallisten muuttujien esittelyt. Mitkä erilaiset tyyppimäärittelyt löydät näistä, kun viitteet eri luokkien olioihin tulkitaan eri tyypeiksi? Siis luettele kaikki tyypit, jotka ohjelmalistauksessa esiintyvät. (0.5p) Sivu 2 / 9
3 g) Mitkä muuttujat ja parametrit ovat olemassa, kun rivi 21 suoritetaan? Luettele muuttujien nimet. (0.5p) h) Mitkä ovat olemassaolevien primitiivimuuttujien arvot, kun rivi 21 suoritetaan? Jos ei ole yhtään primitiiviä, ilmoita se. (0.5p) i) Moneenko eri olioon olisi saatavilla viite, jos rivin 21 jälkeen pitäisi lisätä koodirivi, joka käyttäisi jotakin aiemmin syntynyttä oliota? Oleta ettei yhtään komentoriviargumenttia annettu käynnistettäessä. (0.5p) j) Ajattele tilannetta, jossa riviä 21 suoritetaan. Montako 8-bittistä tavua muistia tässä ohjelmassa määritellyt parametrit ja paikalliset muuttujat vaativat sillä hetkellä yhteensä? Jätä huomioimatta olioiden kekomuistista käyttämä tila, mutta ota huomioon paikallisten viitemuuttujien viemä tila. (Javan tilavaatimukset oletuksineen luetellaan liitteessä) (0.5p) Kysymyksen 1 liite: Javan tyypit Javan tyypit ja niiden tallennustila bitteinä ilmoitettuna. Tavu on 8-bittinen, joten tavumäärän saa jakamalla bittimäärän kahdeksalla. Tyyppi koko literaaliesim. Totuusarvot boolean? (*) true, false Merkit char 16 A, \u0041 Kokonaisluvut byte 8 14, 123, -128, 0x72 short 16-14, 0123, int 32 14, -1234, long 64 14L, Liukuluvut float , 1.234, 3.4e38 double , 1.234, 4.9e-324 Olioviitteet LuokanNimi 32 (**) Huomautukset: (*) Riippuu toteutuksesta. (**) Riippuu toteutuksesta; tentissä oleta kooksi 32 bittiä. Sivu 3 / 9
4 Kysymys 2: Käytännön taitoja Kuusi kohtaa, yht. 6p. Kohdissa a ja b tarkastele seuraavaa koodinpätkää: 1 / Question : V a r i a b l e s and assignments / 2 int a = 1 ; 3 int b = 2 ; 4 int c = 3 ; 5 int d = 4 ; 6 dosomething ( ( c + a ( b = c ) ) d ) ; 7 8 / Question : Objects and r e f e r e n c e s / 9 HuhPing h = new HuhPing ( Robert ) ; 10 HuhPing k = h ; 11 h = null ; 12 HuhPing m = k ; 13 k = h ; 14 h = new HuhPing ( Anna Liisa ) ; a) Jäsennä rivi 6 kokonaan: Missä järjestyksessä kone suorittaa yksittäiset operaatiot? Taulukoi joka suorituksesta: operaattori, vasemman operandin lukuarvo, oikean operandin lukuarvo ja operaatiosta syntyvän tuloksen lukuarvo? (1.5 p) b) Tilanteesta, jossa kaikki koodirivit on suoritettu, piirrä graafisesti: paikalliset viitemuuttujat, oliot sekä viitteet paikallisista muuttujista olioihin tai olioista toisiinsa. Kuvassa olio on laatikko, johon on kirjoitettu sen luokka ja sen verran sisältöä, että oliot tunnistaa toisistaan. Viite on nuoli viittaajasta viitteen kohteeseen. (1 p) c) Kirjoita Javan heksadesimaaliliteraalina bittijono (0.5p) d) Kirjoita Javan oktaaliliteraalina bittijono (0.5p) e) Kirjoita Javan 10-järj. kokonaislukuliteraalina heksaluku 2a8. (0.5p) f) Määrittele (miel. diagrammina tai BNF:nä) syntaksi runolle, joka koostuu sanojen pohjantähti, sydän, tahtoo sekä valvoo toistoista. Sanojen tulee muodostaa rivejä ja kappaleita. Rivillä sanojen välissä pilkku; kappaleiden välissä tyhjä rivi. Vähintään yksi sana per rivi; vähintään yksi kappale per runo. Esimerkki (\n on rivinvaihto): pohjantähti, pohjantähti \n sydän, valvoo, tahtoo \n tahtoo \n \n pohjantähti (2p) Sivu 4 / 9
5 Koodiliite ja vastausohjeet loppuosioon ITKP102 Ohjelmointi 1, syksy 2007 Kysymyksissä 3 ja 4 tarkastele seuraavaa ohjelmaa: 1 public class Hirsipuu { 2 private static void t u l o s t a O h j e e t ( java. i o. PrintStream out ) { 3 out. p r i n t l n ( Hirsipuu peli. ) ; 4 out. p r i n t l n ( Näet sanan, jonka kirjaimista osa on peitetty ) ; 5 out. p r i n t l n ( Näet aina vain tähän asti arvatut kirjaimet. ) ; 6 out. p r i n t l n ( Saat arvata yhtä uutta kirjainta kerrallaan. ) ; 7 out. p r i n t l n ( Kaikki kirjaimet on arvattava, että voitat. ) ; 8 return true ; 9 } 10 private static boolean j o n o S i s a l t a a M e r k i n ( S t r i n g jono, char merkki ) { 11 return jono. indexof ( merkki ) >= 0 ; // true, j o s merkki l ö y t y y j o n o s t a. 12 } 13 private static S t r i n g p i i l o o n P a i t s i A r v a t u t ( S t r i n g jono, S t r i n g arvatut ) { 14 // FIXME: Tämä p i t ä i s t o t e u t t a a, e t t ä kokonaisuus t o i m i s i! 15 return jono + UPS! En osaa vielä piilottaa merkkejä. ; 16 } 17 private static int arvuuttelesana ( S t r i n g sana, 18 S t r i n g arvatutkirjaimet, int a r v a u k s i a J a l j e l l a ) { 19 S t r i n g arvattu = p i i l o o n P a i t s i A r v a t u t ( sana, a r v a t u t K i r j a i m e t ) ; 20 boolean v o i t e t t u = false ; 21 while (! v o i t e t t u && a r v a u k s i a J a l j e l l a > 0) { 22 System. out. p r i n t f ( Sana tähän asti : %s%n, arvattu ) ; 23 System. out. p r i n t f ( Arvauksia j ä l j e l l ä : %d%n, 24 a r v a u k s i a J a l j e l l a ) ; 25 char arvaus = Apukirjasto. luechar ( Arvaa uusi kirjain ) ; 26 a r v a t u t K i r j a i m e t += arvaus ; 27 a r v a u k s i a J a l j e l l a ; 28 arvattu = p i i l o o n P a i t s i A r v a t u t ( sana, a r v a t u t K i r j a i m e t ) ; 29 v o i t e t t u = arvattu. e q u a l s ( sana ) ; 30 } 31 System. out. p r i n t l n ( v o i t e t t u? Sä keksit sen! : Pieleen meni. ) ; 32 System. out. p r i n t f ( Arvauksia j ä i : %d kpl.%n, a r v a u k s i a J a l j e l l a ) ; 33 System. out. p r i n t f ( Sana o l i %s %n, sana ) ; 34 return v o i t e t t u? a r v a u k s i a J a l j e l l a : 1; 35 } 36 public static void main ( S t r i n g [ ] args ) { 37 int k o k o n a i s t u l o s = 0 ; 38 t u l o s t a O h j e e t ( System. out ) ; 39 sanat = { hirsipuu, raakile } ; 40 v i h j e e t = { rsp, rel } ; 41 for ( int i = 0 ; i <= sanat. l ength ; i++) { 42 int paluuarvo = arvuuttelesana ( sanat [ i ], v i h j e e t [ i ], 7 ) ; 43 k o k o n a i s t u l o s += paluuarvo ; } 44 System. out. p r i n t f ( Kokonaistulos : %d pistettä., k o k o n a i s t u l o s ) ; 45 }} Sivu 5 / 9
6 Vastauksen muoto kysymyksiin 3 ja 4 On viisi tärkeätä sääntöä, joiden noudattamatta jättäminen vie vastaavan vastauskohdan pisteet selkeästi nollaksi: Muutokset: Jos jotakin riviä on muutettava, ilmoita rivin numero ja kirjoita kyseinen rivi uudelleen. Kysymyksessä 3 perustele korjaus kommentiksi rivin loppuun. Poistot: Jos rivi on poistettava, ilmoita rivin numero ja pois. Kysymyksessä 3 perustele poisto. Lisäykset: Jos on lisättävä rivejä, ilmoita lisäystä edeltävän koodirivin numero ja kirjoita lisättävä koodi (yksi tai useampia rivejä). Kysymyksessä 3 perustele lisäys. Kohdassa 3a kirjoita jokaisen muuttamasi tai lisäämäsi RIVIN ALUS- SA OLEVAT VÄLILYÖNNIT NÄKYVIIN (tai vähintään ilmoita niiden määrä). Kaikki ilmoittamasi rivinumerot olkoot ALKUPERÄISEN koodin rivejä; ei siis pidä miettiä, mihin rivit siirtyvät poistojen tai lisäysten yhteydessä! Tästä johtuen huolehdi yksiselitteisyydestä: Jos johonkin kohtaan tulee useita peräkkäisiä rivejä lisää, ne on syytä kirjoittaa yhtenä pitkänä lisäyksenä, koska muuten niiden keskinäistä järjestystä ei oikein voi päätellä vastauksesta. Kysymyksen 4 arvostelusta: Virheistä sakotetaan; pahimpana suunnitteluvaikeudet tai kykenemättömyys oikean toiminnallisuuden aikaansaamisessa. Syntaksin tulee olla mahdollisimman lähelle oikeellista Javaa, vaikka ensisijaisesti arvosteltava asia tässä on algoritmin toimivuus. Reilu riviväli auttaa täydennysten tekemisessä paperille koodatessa. Pyri selkeyteen. Tarkennuksia kysymykseen 4: Kysymyksessä 4 ei tarvitse muokata alkuperäisen koodin sisennyksiä, vaikka muutos aiheuttaisi sellaista tarvetta. Riittää että tuotetut tai muutetut koodin osat toimivat siten kuin tehtävässä 4 pyydetään. Siinä ei ole enää kyse aiemman koodin korjaamisesta, jota tehdään tehtävässä 3. Sivu 6 / 9
7 Kysymys 3: Koodin rakenne, selkeys ja toimivuus Kaikki muut kuin tehtävässä mainitut virheet ovat tahattomia tai tenttikompromisseja. Anna niiden olla! Erityisesti luokka Apukirjasto on olemassa ja toimii kuten näyttääkin. Siihen ei liity mitään ongelmia. Kommentit ja aliohjelmien väliset tyhjärivit puuttuvat tilan säästämiseksi; niitäkään ei tarvitse lisätä. a) Korjaa koodi hyvien koodauskäytänteiden mukaiseksi seuraavien tahallisten virheiden osalta: Tyhjämerkkien käyttö lähdekoodissa ei täysin vastaa ohjelman rakennetta. Tahallisia rikkeitä tyhjämerkeissä löytyy yhteensä yhdeksältä koodiriviltä. Niiden pitäisi olla aika selkeitä. (Muista lisätä pieni perustelu korjauksille) (yht. 4p) b) Ohjelman toiminnassa on selkeitä vikoja, jotka löytyvät, kun tutkii tarkkaavaisesti. Korjaa perustellen seuraavat tahalliset viat: 3 riviä (kaksi erilaista ongelmaa), joiden takia ohjelma ei käänny Java-kääntäjällä. Lisävihje: kaikki ongelmat liittyvät tyyppijärjestelmään. 1 kohta, jonka takia ohjelma kaatuu varmasti. Pikkuvika. (0.7 pistettä per erilainen löydetty ongelma, max. 2p) Sivu 7 / 9
8 Kysymys 4: Ohjelmakoodin tuottaminen ITKP102 Ohjelmointi 1, syksy 2007 Kysymys 4 arvostellaan riippumattomasti, mutta tässä käsitellään samaa ohjelmakoodia ja käytetään samaa muotoa vastaukselle kuin kysymyksessä 3. On tärkeätä, että käytät alkuperäisen (rikkinäisen) koodin rivinumeroita muutoskohtien ilmoittamiseen, koska tämän vastauksen saattaa tarkastaa eri henkilö eikä hän tiedä edellisen kohdan muutoksia! Riippumatta siitä, osaatko vastata kysymykseen 3, oletetaan että ohjelmaan on nyt tehty tarvittavat korjaukset ja että se lähtökohtaisesti toimii niinkuin se lupaa käyttäjälle. Luokka Apukirjasto on olemassa ja sen käyttö onnistuu ilman ongelmia siten kuin ohjelmassa sitä on käytetty! Siihen ei saa tehdä muutoksia eikä lisäyksiä. Laajenna nyt ohjelmaa seuraavilla uusilla ominaisuuksilla: a) Pelin toiminta perustuu täysin aliohjelmaan piiloonpaitsiarvatut, jota ei vielä ole tehty valmiiksi asti! Toteuta aliohjelman runko siten että se vastaa suunniteltua rajapintaa: Siis ensimmäinen parametri on todellinen sana ja jälkimmäinen sisältää tähän asti arvatut merkit (osa on oikein arvattuja, osa väärin; voi olla myös sama merkki useaan kertaan). Paluuarvona halutaan viite uuteen merkkijonoon, jossa toistaiseksi ei-arvatut merkit on peitetty miinusmerkeillä (ks. esimerkkituloste alla). (3.0p) b) Toistaiseksi kaikille sanoille annetaan maksimissaan 7 arvausyritystä. Muuta ohjelman rakenne sellaiseksi, että jokaiseen pelin aikana arvattavaan sanaan liittyy oma maksimiarvausten määrä. Saat toki edelleen pitää sanat, vihjeet ja maksimiarvausmäärät kovakoodattuna, kunhan maksimiarvauksille on olemassa oma, selkeä tietorakenteensa. (3.0p) Ohjelman halutaan lopulta toimivan seuraavalla tavoin. Kuten huomaat, molemmissa sanoissa on 3 tuntematonta kirjainta, mutta raakile on nyt vaikeampi koska sille annetaan vain 6 arvausyritystä 7:n sijasta: Hirsipuu -peli. Näet sanan, jonka kirjaimista osa on peitetty Näet aina vain tähän asti arvatut kirjaimet. Sivu 8 / 9
9 Saat arvata yhtä uutta kirjainta kerrallaan. Kaikki kirjaimet on arvattava, että voitat. Sana tähän asti: --rs-p-- Arvauksia jäljellä: 7 Arvaa uusi kirjain>a Sana tähän asti: --rs-p-- Arvauksia jäljellä: 6 Arvaa uusi kirjain>i Sana tähän asti: -irsip-- Arvauksia jäljellä: 5 Arvaa uusi kirjain>k Sana tähän asti: -irsip-- Arvauksia jäljellä: 4 Arvaa uusi kirjain>h Sana tähän asti: hirsip-- Arvauksia jäljellä: 3 Arvaa uusi kirjain>u Sä keksit sen! Arvauksia jäi: 2 kpl. Sana oli hirsipuu Sana tähän asti: r----le Arvauksia jäljellä: 6 Arvaa uusi kirjain>... Sivu 9 / 9
ITKP102 Ohjelmointi 1, syksy 2007
ITKP102 Ohjelmointi 1, syksy 2007 Tentti 14.12.2007, suomenkielinen Neljä tehtävää, joista maksimipistemääräksi tulee 24. Kurssin läpäisy edellyttää vähintään 12 pistettä tentistä. Demotehtävät vaikuttavat
LisätiedotITKP102 Ohjelmointi 1, syksy 2007
ITKP102 Ohjelmointi 1, syksy 2007 Tenttirunko 13.12.2007: koodit, koodattava toiminnallisuus, syntaksikysymys, lukuarvot lukujärjestelmäkysymyksissä ovat eri tenttikerroilla aina erilaiset, mutta kysymysten
LisätiedotITKP102 Ohjelmointi 1, syksy 2007
Tenttirunko 6.11.2007: koodit, koodattava toiminnallisuus, syntaksikysymys, lukuarvot lukujärjestelmäkysymyksissä ovat eri tenttikerroilla aina erilaiset, mutta kysymysten aihepiirit ja muotoilu ovat samat.
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
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ätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotITKP102 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
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
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ätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
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ätiedotOhjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.
Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
Lisätiedot7/20: Paketti kasassa ensimmäistä kertaa
Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotJava-kielen perusteita
Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja
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ä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ätiedotOhjelmointi 2 / 2011 Välikoe / 25.3
Välikoe / 25.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään liittyvää tehtävää. Aikaa 4 tuntia.
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
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ätiedotHarjoitus 2 (viikko 45)
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 20. toukokuuta 2016 Yleistä Tentti 1 oli pistekeskiarvon (11.6) perusteella vaikea. Omasta tehtäväpaperista saa kopion Antti-Jussilta,
Lisätiedot1. Mitä tehdään ensiksi?
1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla
LisätiedotPong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
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ä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ätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
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ätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
LisätiedotInformaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006
TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa
Lisätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
Lisätiedot815338A 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ä.
Lisätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion
LisätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
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ätiedotPong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä
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ätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotTietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)
Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä
Lisätiedot11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
LisätiedotSisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
Lisätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
Lisätiedot18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
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ätiedotJavan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi
1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla
LisätiedotJava-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
LisätiedotKääreluokat (oppikirjan luku 9.4) (Wrapper-classes)
Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi
LisätiedotOhjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen
LisätiedotOhjelmointi 2, välikoe
Ohjelmointi 2, välikoe 21.3.2014 Vastaa neljään tehtävään kuudesta siten, että jokainen tehtävä tulee omalle konseptilleen. Mikäli vastaat useampaan kuin neljään tehtävään, pisteiden laskussa huomioidaan
LisätiedotTaulukot. Jukka Harju, Jukka Juslin 2006 1
Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti
LisätiedotOhjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.
Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan
Lisätiedot14. Hyvä ohjelmointitapa 14.1
14. Hyvä ohjelmointitapa 14.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen
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ätiedotHarjoitus 5 (viikko 48)
Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
LisätiedotHarjoitus 4 (viikko 47)
Kaikki tämän harjoituksen tehtävät liittyvät joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Saa hyvän alun harjoitustyön tekoon, kun ratkaiset mahdollisimman monta tehtävää. Mikäli tehtävissä
Lisätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
Lisätiedot6/20: Tietorakenteita
Ohjelmointi 1 / syksy 2007 6/20: Tietorakenteita Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/20 Opelta lähti
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot20. Javan omat luokat 20.1
20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotSisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang
Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotAS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013
Lisätiedot1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )
Tehtävä do while + Viikko 1 Tehtävä 27. Salasana (MOOC) Viikko 1 Tehtävä 28. Lämpötilat (MOOC) Tehdään ohjelma, joka kysyy käyttäjältä lukua. Luku kerrotaan aina seuraavalla käyttäjän antamalla luvulla
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
Lisätiedot13. Hyvä ohjelmointitapa (osa 1) 13.1
13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
Lisätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
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ätiedotOhjelmointi 1 C#, kevät 2013, 2. tentti
ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla
LisätiedotMuuttujat ja kontrolli. Ville Sundberg
Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3
15. Lohkot 15.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.2 Lohkot Aaltosulkeet
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
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ätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
Lisätiedot// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.
Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään
LisätiedotHarjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.
Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
Lisätiedot19. Olio-ohjelmointia Javalla 19.1
19. Olio-ohjelmointia Javalla 19.1 Sisällys Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
Lisätiedot