Kesän 2011 Ohjelmoinnin perusteet -kurssi muodostuu kolmesta tehtäväsarjasta, joissa jokaisessa on 33 tehtävää:
Perustehtävät (20 kpl) ovat suoraviivaisia tehtäviä kurssin tärkeimmistä asioista. Perustehtävät kannattaa tehdä aina kokonaan.
Lisätehtävät (12 kpl) ovat soveltavia tehtäviä, jotka syventävät asioiden ymmärtämistä. Lisätehtäviä kannattaa tehdä niin monta kuin ehtii.
Pähkinä (1 kpl) on haastava tehtävä, joka on kuitenkin ratkaistavissa siihen mennessä opitun perusteella.
Tehtäväsivuilla kerrotaan aina, kun on aika lukea eteenpäin materiaalia, joten voit edetä kurssilla koko ajan tehtäviä tekemällä.
Tehtävät palautetaan esittelemällä niitä ohjaajalle ohjelmointipajassa. Osan 1 tehtävien viimeinen palautuspäivä on torstai 19.5., mutta tehtäviä voi mielellään palauttaa aiemminkin.
Voit valita itse, kuinka paljon vietät aikaa ohjelmointipajassa. Voit tehdä kaikki tehtävät ohjelmointipajassa tai käydä vain palauttamassa valmiit tehtävät – tai tyypillisesti jotain siltä väliltä.
Kurssilla tehdään suuri määrä tehtäviä, joissa kaikissa on samanlainen ohjelman runko. Jokaista tehtäväsarjaa varten on saatavilla valmis NetBeans-projekti, joka sisältää pohjan jokaiseen tehtävään. Sinun riittää siis täydentää oleellinen osa eli ohjelman toiminta.
Yllä oleva paketti sisältää hakemiston OHPE1
, jonka voit
avata suoraan NetBeansin kautta.
Lue materiaalista luvut 1–2 ja tee sitten seuraavat tehtävät:
Tee ohjelma, jonka tulostus on seuraava:
Tämä on ensimmäinen ohjelmani!
Tee ohjelma, jonka tulostus on seuraava:
* *** ***** ******* ********* *
Tee ohjelma, jonka tulostus on seuraava:
\o/ "Heippa!" | / \
Tee ohjelma, joka laskee, montako minuuttia on viikossa.
Ohjelmasi tulostuksen tulisi olla seuraava:
Viikossa on X minuuttia.
Tässä X
:n kohdalle tulee ohjelmasi laskema tulos.
Lue materiaalista luku 3 ja tee sitten seuraavat tehtävät:
Tee ohjelma, joka kysyy käyttäjän nimen ja tervehtii sitten häntä kolme kertaa.
Ohjelmasi tulisi toimia seuraavasti:
Anna nimi: Aapeli Hei vain, Aapeli! Hei vain, Aapeli! Hei vain, Aapeli!
Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja laskee niiden summan.
Ohjelmasi tulisi toimia seuraavasti:
Anna luku 1: 7 Anna luku 2: 18 Summa: 25
Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja laskee niiden keskiarvon.
Ohjelmasi tulisi toimia seuraavasti:
Anna luku 1: 7 Anna luku 2: 18 Keskiarvo: 12.5
Ympyrän pinta-alan voi laskea seuraavalla kaavalla:
pinta-ala = säde2 * π
Tee ohjelma, joka kysyy käyttäjältä ympyrän säteen ja laskee sitten sen pinta-alan.
Ohjelmasi tulisi toimia seuraavasti:
Anna ympyrän säde: 5 Pinta-ala: 78.53981633974483
Lue materiaalista luku 4 ja tee sitten seuraavat tehtävät:
Tee ohjelma, joka sanoo Aapelille "Moro!" ja kaikille muille "Hei!"
Ohjelmasi tulisi toimia seuraavasti:
Anna nimi: Maija Hei!
Anna nimi: Aapeli Moro!
Anna nimi: Uolevi Hei!
Tee ohjelma, joka laskee jakolaskun käyttäjän antamilla luvuilla. Mutta jos käyttäjä antaa jakajaksi nollan, ohjelma ei suostu laskemaan.
Ohjelmasi tulisi toimia seuraavasti:
Anna jaettava: 2 Anna jakaja: 5 Tulos: 0.4
Anna jaettava: 0 Anna jakaja: 4 Tulos: 0.0
Anna jaettava: 4 Anna jakaja: 0 Nollalla ei voi jakaa!
Tee ohjelma, joka kysyy kaksi lukua ja ilmoittaa niistä pienemmän.
Ohjelmasi tulisi toimia seuraavasti:
Anna luku 1: 4 Anna luku 2: 7 Pienempi: 4
Anna luku 1: 9 Anna luku 2: 7 Pienempi: 7
Voit olettaa, että käyttäjä antaa kaksi eri lukua (eli toinen on varmasti pienempi).
Tee ohjelma, joka kysyy käyttäjältä syntymävuoden. Jos vuosi on välillä 1900–2010, ohjelma kertoo, montako vuotta käyttäjä täyttää tänä vuonna (2011). Muuten ohjelma tulostaa tekstin "Taidat narrata!"
Anna syntymävuosi: 1979 Täytät tänä vuonna 32 vuotta.
Anna syntymävuosi: 1865 Taidat narrata!
Tee ohjelma, joka tunnistaa seuraavat käyttäjät:
tunnus | salasana |
---|---|
aapeli | kissa |
maija | kana |
Jos tunnus ja salasana täsmäävät, ohjelma tulostaa tekstin "Tervetuloa!" Muuten ohjelma tulostaa tekstin "Virhe!"
Ohjelmasi tulisi toimia seuraavasti:
Anna tunnus: maija Anna salasana: kana Tervetuloa!
Anna tunnus: aapeli Anna salasana: kana Virhe!
Anna tunnus: uolevi Anna salasana: koira Virhe!
Kurssin arvosana lasketaan pistemäärästä seuraavasti:
pistemäärä | arvosana |
---|---|
0...29 | 0 |
30...34 | 1 |
35...39 | 2 |
40...44 | 3 |
45...49 | 4 |
50...60 | 5 |
Tee ohjelma, joka kysyy pistemäärän ja ilmoittaa sen perusteella kurssin arvosanan.
Ohjelmasi tulisi toimia seuraavasti:
Anna pistemäärä: 43 Kurssin arvosana: 3
Anna pistemäärä: 55 Kurssin arvosana: 5
Lue materiaalista luku 5 ja tee sitten seuraavat tehtävät:
Tee ohjelma, joka tulostaa luvut väliltä 1–100.
Ohjelmasi tulostuksen tulisi olla seuraava:
1 2 3 (paljon rivejä välissä) 100
Tee ohjelma, joka tulostaa luvut väliltä 100–1.
Ohjelmasi tulostuksen tulisi olla seuraava:
100 99 98 (paljon rivejä välissä) 1
Tee ohjelma, joka kysyy käyttäjältä alarajan ja ylärajan ja tulostaa näiden välissä olevat luvut.
Ohjelmasi tulisi toimia seuraavasti:
Anna alaraja: 5 Anna yläraja: 11 Luvut: 5 6 7 8 9 10 11
Tee ohjelma, joka kysyy käyttäjältä luvun ja tulostaa niin monta kertaa tekstin "Heipparallaa!"
Ohjelmasi tulisi toimia seuraavasti:
Montako kertaa? 3 Heipparallaa! Heipparallaa! Heipparallaa!
Montako kertaa? 5 Heipparallaa! Heipparallaa! Heipparallaa! Heipparallaa! Heipparallaa!
Tee ohjelma, joka kysyy käyttäjältä luvun ja tulostaa niin monta tähteä samalle riville.
Ohjelmasi tulisi toimia seuraavasti:
Anna tähtien määrä: 6 ******
Anna tähtien määrä: 17 *****************
Tee ohjelma, joka kysyy käyttäjältä joukon lukuja ja ilmoittaa sitten niiden summan.
Ohjelmasi tulisi toimia seuraavasti:
Montako lukua? 5 Anna luvut: 3 7 2 6 8 Summa: 26
Tee ohjelma, joka kysyy hinnan ja alennusprosentin ja ilmoittaa sitten alennetun hinnan.
Ohjelmasi tulisi toimia seuraavasti:
Anna hinta: 50 Anna alennusprosentti: 25 Uusi hinta: 37.5
Tee ohjelma, joka kysyy käyttäjältä nimen. Jos nimi ei ole Aapeli, ohjelma tulostaa tekstin "En tunne sinua!"
Ohjelmasi tulisi toimia seuraavasti:
Anna nimesi: Aapeli
Anna nimesi: Maija En tunne sinua!
Anna nimesi: Uolevi En tunne sinua!
Tee ohjelma, joka kysyy kaksi lukua ja ilmoittaa sitten niiden eron.
Ohjelmasi tulisi toimia seuraavasti:
Anna luku 1: 5 Anna luku 2: 8 Lukujen ero: 3
Anna luku 1: 7 Anna luku 2: 2 Lukujen ero: 5
Tee ohjelma, joka kysyy kolme lukua ja tulostaa niistä pienimmän.
Ohjelmasi tulisi toimia seuraavasti:
Anna luku 1: 4 Anna luku 2: 7 Anna luku 3: 3 Pienin: 3
Anna luku 1: 7 Anna luku 2: 4 Anna luku 3: 5 Pienin: 4
Tee ohjelma, joka kysyy viikonpäivän numeron ja tulostaa vastaavan viikonpäivän nimen.
Ohjelmasi tulisi toimia seuraavasti:
Anna numero: 2 Viikonpäivä: tiistai
Anna numero: 5 Viikonpäivä: perjantai
Tee ohjelma, joka tulostaa parittomat luvut välillä 1–99
Ohjelmasi tulostuksen tulisi olla seuraava:
1 3 5 (paljon rivejä välissä) 99
Tee ohjelma, joka laskee summan 1 + 2 + 3 + ... + n.
Esimerkiksi jos n = 5, summa on 1 + 2 + 3 + 4 + 5 = 15.
Ohjelmasi tulisi toimia seuraavasti:
Anna n: 5 Tulos: 15
Anna n: 7 Tulos: 28
Osaatko tehdä tämän tehtävän ilman silmukkaa?
Tee ohjelma, joka kysyy käyttäjältä ensimmäisen ja viimeisen luvun ja tulostaa luvut niiden välillä. Käyttäjä voi antaa ensin pienemmän luvun ja sitten suuremman tai päinvastoin.
Ohjelmasi tulisi toimia seuraavasti:
Anna luku 1: 5 Anna luku 2: 9 5 6 7 8 9
Anna luku 1: 11 Anna luku 2: 8 11 10 9 8
Tee ohjelma, joka kysyy käyttäjältä aloitustunnin ja lopetustunnin (molemmat väliltä 0–23). Sitten ohjelma tulostaa niiden välissä oleva tunnit kasvavassa järjestyksessä. Tuntimäärän tulee mennä ympäri keskiyön kohdalla.
Ohjelmasi tulisi toimia seuraavasti:
Alku: 15 Loppu: 18 15 16 17 18
Alku: 22 Loppu: 3 22 23 0 1 2 3
Tee ohjelma, joka kysyy käyttäjältä portaiden korkeuden ja tulostaa vastaavat portaat.
Ohjelmasi tulisi toimia seuraavasti:
Anna korkeus: 3 * ** ***
Anna korkeus: 5 * ** *** **** *****
PIN-koodissa on neljä numeroa väliltä 0–9. Tee ohjelma, joka tulostaa kaikki PIN-koodit järjestyksessä.
Ohjelmasi tulostuksen tulisi olla seuraava:
0000 0001 0002 (paljon rivejä välissä) 9997 9998 9999
Tee ohjelma, joka kysyy käyttäjältä kuusen korkeuden ja tulostaa vastaavan kuusen.
Ohjelmasi tulisi toimia seuraavasti:
Anna korkeus: 3 * *** ***** *
Anna korkeus: 5 * *** ***** ******* ********* *
Tee ohjelma, joka tulostaa annetun kokoisen numeroneliön. Seuraavat esimerkit selventävät, mitä ohjelman on tarkoitus tehdä.
Voit olettaa, että suurin numero on väliltä 0–9.
Ohjelmasi tulisi toimia seuraavasti:
Suurin numero: 1 111 101 111
Suurin numero: 2 22222 21112 21012 21112 22222
Suurin numero: 3 3333333 3222223 3211123 3210123 3211123 3222223 3333333