Takaisin kurssin pääsivulle

Tehtävät, osa 1

Kesän 2011 Ohjelmoinnin perusteet -kurssi muodostuu kolmesta tehtäväsarjasta, joissa jokaisessa on 33 tehtävää:

Tehtäväsivuilla kerrotaan aina, kun on aika lukea eteenpäin materiaalia, joten voit edetä kurssilla koko ajan tehtäviä tekemällä.

Palautus

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ä.

Tehtäväpohjat

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.

Lataa osan 1 tehtäväpohjat

Yllä oleva paketti sisältää hakemiston OHPE1, jonka voit avata suoraan NetBeansin kautta.

Perustehtävät

Lue materiaalista luvut 1–2 ja tee sitten seuraavat tehtävät:

1. Ensimmäinen ohjelma

Tee ohjelma, jonka tulostus on seuraava:

Tämä on ensimmäinen ohjelmani!

2. Kuusi

Tee ohjelma, jonka tulostus on seuraava:

    *
   ***
  *****
 *******
*********
    *

3. Tervehtijä

Tee ohjelma, jonka tulostus on seuraava:

\o/   "Heippa!"
 |
/ \

4. Minuutit viikossa

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:

5. Nimen toistaminen

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!

6. Lukujen summa

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

7. Lukujen keskiarvo

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

8. Ympyrän pinta-ala

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:

9. Erikoistervehdys

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!

10. Jakolasku

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!

11. Pienempi luku

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

12. Syntymävuosi

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!

13. Tunnus ja salasana

Tee ohjelma, joka tunnistaa seuraavat käyttäjät:

tunnussalasana
aapelikissa
maijakana

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!

14. Kurssin arvosana

Kurssin arvosana lasketaan pistemäärästä seuraavasti:

pistemääräarvosana
0...290
30...341
35...392
40...443
45...494
50...605

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:

15. Luvut 1–100

Tee ohjelma, joka tulostaa luvut väliltä 1–100.

Ohjelmasi tulostuksen tulisi olla seuraava:

1
2
3
(paljon rivejä välissä)
100

16. Luvut 100–1

Tee ohjelma, joka tulostaa luvut väliltä 100–1.

Ohjelmasi tulostuksen tulisi olla seuraava:

100
99
98
(paljon rivejä välissä)
1

17. Luvut käyttäjän väliltä

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

18. Toistuva tervehdys

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!

19. Tähtien tulostus

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
*****************

20. Lukujen summa

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

Lisätehtävät

21. Alennettu hinta

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

22. Tuntematon

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!

23. Lukujen ero

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

24. Kolmesta pienin

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

25. Viikonpäivä

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

26. Parittomat luvut

Tee ohjelma, joka tulostaa parittomat luvut välillä 1–99

Ohjelmasi tulostuksen tulisi olla seuraava:

1
3
5
(paljon rivejä välissä)
99

27. Summa 1 + 2 + 3 + ... + n

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?

28. Luvut käyttäjän väliltä II

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

29. Tuntilaskuri

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

30. Portaat

Tee ohjelma, joka kysyy käyttäjältä portaiden korkeuden ja tulostaa vastaavat portaat.

Ohjelmasi tulisi toimia seuraavasti:

Anna korkeus: 3
*
**
***
Anna korkeus: 5
*
**
***
****
*****

31. PIN-koodi

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

32. Korkea kuusi

Tee ohjelma, joka kysyy käyttäjältä kuusen korkeuden ja tulostaa vastaavan kuusen.

Ohjelmasi tulisi toimia seuraavasti:

Anna korkeus: 3
  *
 ***
*****
  *
Anna korkeus: 5
    *
   ***
  *****
 *******
*********
    *

Pähkinä

33. Numeroneliö

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

Takaisin kurssin pääsivulle