1. Mitä tehdään ensiksi?

Samankaltaiset tiedostot
ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjelmointi 2, välikoe

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Metodien tekeminen Javalla

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

C:\MyTemp\ohj1\ohjdemot\k2012\demot\vastaukset\demo11\PP1\TokaPisin.cs 1 using System; 2 using System.Collections.Generic; 3 using System.

Ohjelmoinnin jatkokurssi, kurssikoe

Ohjelmointi 2 / 2010 Välikoe / 26.3

Listarakenne (ArrayList-luokka)

Ohjelmointi 1 C#, kevät 2013, 2. tentti

1 Tehtävän kuvaus ja analysointi

Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti NIMI:

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

58131 Tietorakenteet ja algoritmit (syksy 2015)

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

1. Omat operaatiot 1.1

Ohjelmointi 1 Taulukot ja merkkijonot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

811120P Diskreetit rakenteet

Tietokannat II -kurssin harjoitustyö

Rajapinta (interface)

Ohjelmoinnin perusteet Y Python

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

17. Javan omat luokat 17.1

Taulukoiden käsittely Javalla

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

811120P Diskreetit rakenteet

1. 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 )

Olio-ohjelmointi Syntaksikokoelma

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Lista luokan sisällä

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

1. Miten tehdään peliin toinen maila?

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Mikä yhteyssuhde on?

Olio-ohjelmointi Javalla

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Ohjelmoinnin perusteet Y Python

1. Olio-ohjelmointi 1.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

5/20: Algoritmirakenteita III

4. Luokan testaus ja käyttö olion kautta 4.1

Sisältö. 22. Taulukot. Yleistä. Yleistä

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Sisältö. 2. Taulukot. Yleistä. Yleistä

17. Javan omat luokat 17.1

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

20. Javan omat luokat 20.1

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Luokat ja oliot. Ville Sundberg

Ohjelmistotekniikan menetelmät, koe

Ohjelmoinnin perusteet Y Python

Javan perusteita. Janne Käki

Tietorakenteet (syksy 2013)

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Java kahdessa tunnissa. Jyry Suvilehto

Ohjelmointi 2 / 2011 Välikoe / 25.3

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Java-kielen perusteet

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

12. Javan toistorakenteet 12.1

Pisteytys: Eri kommentointitavat tiedetty: 0,5 pistettä, jos puuttuu niin ei voinut saada täysiä pisteitä.

C# olio-ohjelmointi perusopas

13. Loogiset operaatiot 13.1

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmoinnin peruskurssien laaja oppimäärä

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

12. Javan toistorakenteet 12.1

ITKP102 Ohjelmointi 1 Tentti

Java-kielen perusteet

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Luokan muodostimet (Constructors)

8. Näppäimistöltä lukeminen 8.1

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Luokan sisällä on lista

Ohjelmointi 1 C#, kevät 2014, tentti

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

public static void main (String [] args)

Tehtävä 1. TL5302 Olio-ohjelmointi Koe Malliratkaisuja. Tässä sekä a)- että b)-kohdan toimiva ratkaisu:

Transkriptio:

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 c) Kirjoitetaan i silmukat ja ehtolauseet d) Tehdään hyvä aliohjelma ongelman ratkaisemiseksi 1. Mitä tehdään ensiksi? a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla c) Kirjoitetaan i silmukat ja ehtolauseet d) Tehdään hyvä aliohjelma ongelman ratkaisemiseksi 2. Voiko pääohjelma toimia näillä muuttujien tyypeillä? a) Kyllä b) Ei c) Vain, jos aliohjelma tehdään riittävän hyvin 2. Voiko pääohjelma toimia näillä muuttujien tyypeillä? a) Kyllä b) Ei c) Vain, jos aliohjelma tehdään riittävän hyvin 3. Miksi? (voi valita monta) a) Funktio voi palauttaa vain yhden arvon b) String luokan olioita ei voi muuttaa c) Numero 3 ei ole String d) Jotkin näistä muuttujien nimistä eivät ole laillisia 1

3. Miksi? (voi valita monta) a) Funktio voi palauttaa vain yhden arvon b) String luokan olioita ei voi muuttaa c) Numero 3 ei ole String d) Jotkin näistä muuttujien nimistä eivät ole laillisia 4. Minkä muuttujien tyyppi pitää vaihtaa (voi valita monta) a) jono b) jonon3ekaavokaalia c) maara d) vokaalit 4. Minkä muuttujien tyyppi pitää vaihtaa (voi valita monta) a) jono b) jonon3ekaavokaalia c) maara d) vokaalit 5. Mikä on oikea tyyppi muuttujalle jono? 5. Mikä on oikea tyyppi muuttujalle jono? 6. Mitä tulee XX YY paikalle (ennen tyyppiä) a) public void b) Static void c) public static d) public bool e) private static f) void String g) public string h) public StringBuilder 2

6. Mitä tulee XX YY paikalle (ennen tyyppiä) a) public void b) Static void c) public static d) public bool e) private static f) void String g) public string h) public StringBuilder 7. Mikä on funktion palauttama tyyppi? 7. Mikä on funktion palauttama tyyppi? 8. Mikä on ensimmäisen parametrin tyyppi 8. Mikä on ensimmäisen parametrin tyyppi 9. Mikä on toisen parametrin tyyppi 3

9. Mikä on toisen parametrin tyyppi 10. Mikä nimi toiselle parametrille (tehdään yleiskäyttöinen aliohjelma!) a) vokaalit b) poistettava c) poistettavamerkki d) siirrettavat e) jono f) vokaali 10. Mikä nimi toiselle parametrille (tehdään yleiskäyttöinen aliohjelma!) a) vokaalit b) poistettava c) poistettavamerkki d) siirrettavat e) jono f) vokaali 11. Mikä on kolmannen parametrin tyyppi 11. Mikä on kolmannen parametrin tyyppi 12. Mitä tästä aliohjelmasta pitäisi julkisesti kommentoida? a) Käytetty algoritmi b) Mitä funktio/aliohjelma tekee c) Parametrien käyttötarkoitus d) Aliohjelman versionumero e) Tekijä f) Oikeuksien omistaja 4

12. Mitä tästä aliohjelmasta pitäisi julkisesti kommentoida? a) Käytetty algoritmi b) Mitä funktio/aliohjelma tekee c) Parametrien käyttötarkoitus d) Aliohjelman versionumero e) Tekijä f) Oikeuksien omistaja Lisäksi: Käyttöesimerkit pitäisi kirjoittaa myös, ei valitettavasti saatu tälle kurssille tehtyä menetelmää käyttöesimerkkien hyödyntämiseen testauksessa 13. Mitä seuraavaksi kirjoitetaan? a) for(int i=0; i<jono.length; i++) b) while(i<jono.length) {} c) if(jono.length == 0) {} d) return ; e) try{} catch() {} f) for(int i=0; i<siirrettavat.length; i++) 13. Mitä seuraavaksi kirjoitetaan? a) for(int i=0; i<jono.length; i++) b) while(i<jono.length) {} c) if(jono.length == 0) {} d) return ; // Pidetään aliohjelma syntaktisesti toimivana! 14. Mitä tästä seuraavaksi? a) Kirjoitetaan silmukat b) Aliohjelman parametrien alustus c) Mietitään aliohjelman käyttötapaukset ja niiden tulokset kynällä ja paperilla d) If(jono.Length == 0) e) If(siirrettavat.Length == 0) e) try{} catch() {} f) for(int i=0; i<siirrettavat.length; i++) 14. Mitä tästä seuraavaksi? a) Kirjoitetaan silmukat b) Aliohjelman parametrien alustus // Parametrit on aina alustettu c) Mietitään i aliohjelman l käyttötapaukset k kynällä ja paperilla d) If(jono.Length == 0) e) If(siirrettavat.Length == 0) 15. Mitä seuraavaksi? a) Millä silmukalla on paras mennä jono lävitse b) Millä silmukalla on paras mennä merkit joukko läpi c) Algoritmi ongelman ratkaisuun d) Montako vokaalia on suomen kielessä e) Lähdetäänkö syömään vai ei 5

15. Mitä seuraavaksi? a) Millä silmukalla on paras mennä jono lävitse b) Millä silmukalla on paras mennä merkit joukko läpi c) Algoritmi ongelman ratkaisuun // Silmukka selviää liää sitten algoritmin i perusteella! d) Montako vokaalia on suomen kielessä e) Lähdetäänkö syömään vai ei 16. Mikä algoritmeista toimisi riittävän monesti suoritettuna a) Otetaan seuraava siirrettavat joukon kirjain ja poistetaan jonosta kaikki vastaavat b) Kaksi sisäkkäistä silmukkaa c) Otetaan seuraava jonon kirjain i ja jos se on siirrettavat joukossa, niin poistetaan kirjain joukosta d) Lasketaan montako samaa kirjainta on kummassakin jonossa 16. Mikä algoritmeista toimisi riittävän monesti suoritettuna a) Otetaan seuraava siirrettavat joukon kirjain ja poistetaan jonosta kaikki vastaava b) Kaksi sisäkkäistä silmukkaa c) Otetaan seuraava jonon kirjain i ja jos se on siirrettavat joukossa, niin poistetaan kirjain joukosta // tuottaa alkuperäisen jonon mukaisen järjestyksen (määritelmäkysymys tietysti..), tässä nämä testitapaukset ovat tärkeässä roolissa d) Lasketaan montako samaa kirjainta on kummassakin jonossa 17. Jos jonosta poistetaan kirjain, niin saako sillä kertaa siirtyä seuraavaan paikkaan jos jonoa mennään indeksin avulla? a) Ei b) Ehkä c) Kyllä d) Tietysti e) Ei ole mitään väliä 17. Jos jonosta poistetaan kirjain, niin saako sillä kertaa siirtyä seuraavaan paikkaan jos jonoa mennään indeksin avulla? a) Ei b) Ehkä c) Kyllä d) Tietysti e) Ei ole mitään väliä 18. Silmukaksi? a) for b) while c) do while d) foreach 6

18. Silmukaksi? a) for // ei lähdetä kikkailemaan indeksin kanssa! b) while // ks. edellisen kysymyksen päätös c) do while // on mahdollista ettei silmukkaa tarvi mennä kertaakaan, jos jono on tyhjä thjä d) foreach 19. While silmukan ehto a) i < jono.length b) lkm < maara c) i < jono.length && lkm < maara d) i < jono.length lkm < maara 19. While silmukan ehto a) i < jono.length b) lkm < maara c) i < jono.length && lkm < maara d) i < jono.length lkm < maara 20. Mikä tyyppi 20. Mikä tyyppi 21. Mikä tyyppi tulosjonolle? 7

21. Mikä tyyppi tulosjonolle? 22. Miten katsotaan onko saatu merkki joukossa siirrettavat? a) For silmukka b) if(siirrettavat.indexof(merkki) >= 0) c) if(siirrettavat[0] == merkki) d) if(siirrettavat[i] == merkki) e) if(siirrettavat[0 Length] <= merkki) 22. Miten katsotaan onko saatu merkki joukossa siirrettavat? a) For silmukka b) if(siirrettavat.indexof(merkki) >= 0) // Jos löytyy jostakin paikasta, niin sen indeksi on positiivinen c) if(siirrettavat[0] == merkki) d) if(siirrettavat[i] == merkki) 23. Miten poistetaan merkki jonomuuttujasta? a) jono.delete(i); b) jono.removechar(i); c) jono.removeindex(i); d) RemoveFrom(jono, i); e) jono.remove(i, 1); e) if(siirrettavat[0 Length] <= merkki) 23. Miten poistetaan merkki jonomuuttujasta? a) jono.delete(i); b) jono.removechar(i); c) jono.removeindex(i); d) RemoveFrom(jono, i); e) jono.remove(i, 1); 24. Miten nyt lisätään merkki tulosjonoon? a) tulos += merkki; b) tulos.add(merkki); c) tulos = tulos.append(merkki); d) tulos = Append(merkki); e) tulos.append(merkki, i); f) tulos.append(merkki); g) tulos = new StringBuilder(tulos + merkki); 8

24. Miten nyt lisätään merkki tulosjonoon? a) tulos += merkki; b) tulos.add(merkki); c) tulos = tulos.append(merkki); d) tulos = Append(merkki); e) tulos.append(merkki, i); f) tulos.append(merkki); g) tulos = new StringBuilder(tulos + merkki); 25. Mitä muuta pitää tehdä, kun merkki on löytynyt? (voi valita monta) a) i = i+1; b) i++; c) lkm++; d) tulos = ; e) jono = ; f) return i; g) return jono; h) return tulos; 25. Mitä muuta pitää tehdä, kun merkki on löytynyt? (voi valita monta) a) i = i+1; b) i++; c) lkm++; d) tulos = ; e) jono = ; f) return i; g) return jono; h) return tulos; 26. Merkkiä ei löytynyt, mitä tehdään? (voi valita monta) a) i = i+1; b) i++; c) lkm++; d) tulos = ; e) jono = ; f) return i; g) return jono; h) return tulos; 26. Merkkiä ei löytynyt, mitä tehdään? (voi valita monta) a) i = i+1; b) i++; c) lkm++; d) tulos = ; e) jono = ; f) return i; g) return jono; h) return tulos; 27. Kun kaikki merkit on käyty läpi, seuraavaksi tehdään a) return i; b) return jono; c) return tulos; d) return tulos.tostring(); e) return lkm; 9

27. Kun kaikki merkit on käyty läpi, seuraavaksi tehdään a) return i; b) return jono; c) return tulos; // ei voi palauttaa StringBuilderia, ild i kun pitäisi i palauttaa String d) return tulos.tostring(); e) return lkm; 10