Metropolia ammattikorkeakoulu 15.01.2015 TI00AA43

Metropolia ammattikorkeakoulu
TI00AA43-3004: Ohjelmointi
opettaja: Pasi Ranne
15.01.2015
Tuntitehtävät 1
Seuraavista tehtävistä saatu yhteispistemäärä (max 6 pistettä) jaetaan luvulla 6 ja näin
saadaan varsinainen kurssipisteisiin laskettava pistemäärä.
Tehtävä 1. (1 piste) Tuubiin palautetaan tiedosto T01T01.cpp.
Avaa Dev-C++ 4.9.9.2 -ohjelma ja kirjoita sen työtilaan ensimmäinen ohjelma (kuva 1,
kohta 1). Tallenna ohjelma levylle Z: kansioon Z:\C\T01 nimellä T01T01.cpp (kuva 1,
kohdat 2, 3, 4 ja 5). Käännä ohjelma valikon Execute komennolla Compile (kuva 2,
kohdat 1 ja 2), jolloin lähdekielisestä ohjelmatiedostosta T01T01.cpp syntyy suorituskelpoinen ohjelmatiedosto T01T01.exe kovalevylle kansioon Z:\C\T01. Avaa valikko
Start (kuva 3, kohta 1).
Kuva 1. Ohjelman kirjoitus ja talletus
Kuva 2. Ohjelman kääntäminen
Metropolia ammattikorkeakoulu
TI00AA43-3004: Ohjelmointi
opettaja: Pasi Ranne
15.01.2015
Harjoitus 1
Kuva 3. Ohjelman suoritus
Suorita valikon Start alivalikon All Programs alivalikon Accessories toiminto Command Prompt (kuva 3, kohdat 2 ja 3) tai kirjoita cmd alhaalla näkyvää ruutuun (kuva 3,
kohta 4) ja näpäytä painiketta ENTER. Siirry Z-levyn alikansioon C komennolla cd C
(kuva 3, kohta 5). Siirry Z-levyn alikansion C alikansioon T01 komennolla cd T01 (kuva
3, kohta 6). Tarkastele kansion Z:\C\T01 sisältöä komennolla dir (kuva 3, kohta 7). Kirjoita T01T01 (kuva 3, kohta 8) ja paina näppäintä ENTER, jolloin ohjelma suoritetaan ja
näet tuloksen ruudulla (kuva 3, kohta 9). Esimerkkitulostus on seuraava:
Ensimmäinen esimerkki
Ratkaisu: http://users.metropolia.fi/~pasitr/opas/Wuo09/harj/01/ratkaisut/T01T01.cpp
Metropolia ammattikorkeakoulu
TI00AA43-3004: Ohjelmointi
opettaja: Pasi Ranne
15.01.2015
Tuntitehtävät 1
Tehtävä 2. (1 piste) Tuubiin palautetaan tiedosto T01T02.cpp.
Tee Dev-C++ 4.9.9.2 -ohjelmalla työtilaan toinen ohjelma (kuva 4). Tallenna ohjelma
levylle Z: kansioon Z:\C\T01 nimellä T01T02.cpp. Käännä ohjelma, jolloin lähdekielisestä ohjelmatiedostosta T01T02.cpp syntyy suorituskelpoinen ohjelmatiedosto
T01T02.exe kovalevylle kansioon Z:\C\T01. Suorita ohjelma.
Huom! Tässä tehtävässä joudut soveltamaan tehtävän 1 kirjoitus-, käännös- ja suoritusprosesseja. Sama prosessi toistuu kaikissa harjoituksissa ja tehtävissä, joten opettele asiat kunnolla, jotta asiat sujuvat jouheasti ja asiat tulevat jatkossa selkäytimestä.
Kuva 4. Toinen esimerkkiohjelma
Ratkaisu: http://users.metropolia.fi/~pasitr/opas/Wuo09/harj/01/ratkaisut/T01T02.cpp
Metropolia ammattikorkeakoulu
TI00AA43-3004: Ohjelmointi
opettaja: Pasi Ranne
15.01.2015
Harjoitus 1
Tehtävä 3. (1 piste) Tuubiin palautetaan tiedosto T01T03.cpp.
Tee C-ohjelma T01T03.cpp, joka pyytää käyttäjältä tuotteen hinnan ja kappalemäärän
ja laskee näiden tietojen perusteella yhteishinnan. Lopuksi ohjelma tulostaa yhteishinnan. Kappalemäärä on kokonaisluku ja hinnat ovat desimaalilukuja. Esimerkkitulostus
on seuraava:
Anna tuotteen hinta: 10.55
Anna kappalemäärä: 10
Yhteishinta on 105.50
Ratkaisu: http://users.metropolia.fi/~pasitr/opas/Wuo09/harj/01/ratkaisut/T01T03.cpp
Tehtävä 4. (1 piste) Tuubiin palautetaan tiedosto T01T04.cpp.
Tee C-ohjelma T01T04.cpp, joka pyytää käyttäjältä päivämäärän ensin muodossa p k v
ja tulostaa sen muodossa p.k.v. Tämän jälkeen ohjelma kysyy päivämäärän muodossa
p.k.v ja tulostaa sen muodossa p.k.v. Tämä onnistuu, kun lisäät scanf-lauseeseen %dmerkintöjen väliin pisteen. Yhdessä lukulauseessa scanf voi lukea useita tietoja kerrallaan. Luettavat tiedot voivat olla eri tietotyyppiä, kuten esimerkiksi seuraavassa
float paino, pituus;
int ika;
printf("Syötä paino, pituus ja ikäsi vuosina:\n");
scanf("%f%f%d", &paino, &pituus,&ika);
Ohjelman esimerkkitulostus on seuraava:
Kuva 5. Esimerkkituloste
Ratkaisu: http://users.metropolia.fi/~pasitr/opas/Wuo09/harj/02/ratkaisut/T01T04.cpp
Metropolia ammattikorkeakoulu
TI00AA43-3004: Ohjelmointi
opettaja: Pasi Ranne
15.01.2015
Tuntitehtävät 1
Tehtävä 5. (1 pistettä) Tuubiin palautetaan tiedosto T01T05.cpp.
Tee C-ohjelma T01T05.cpp, jolle voi syöttää yhden peruslaskutoimituksen (esim. 23*3).
Ohjelma lukee laskutoimituksen, tutkii if-lauseessa, mikä laskutoimitus oli kyseessä ja
antaa tuloksen. Koska emme ole vielä käsitelleet toistolauseita, voimme suorittaa vain
yhden laskutoimituksen kullakin ohjelman ajokerralla. Esimerkkitulostus on seuraava
Anna laskutoimitus (esim. 23+56): 22*4
22 * 4 = 88
Ratkaisu: http://users.metropolia.fi/~pasitr/opas/Wuo09/harj/02/ratkaisut/T01T05.cpp
Tehtävä 6. (1 pistettä) Tuubiin palautetaan tiedosto T01T06.cpp.
Tee C-ohjelma T01T06.cpp, jolle voi syöttää yhden peruslaskutoimituksen (esim. 23*3).
Ohjelma lukee laskutoimituksen, tutkii switch case-lauseessa, mikä laskutoimitus oli
kyseessä ja antaa tuloksen. Koska emme ole vielä käsitelleet toistolauseita, voimme
suorittaa vain yhden laskutoimituksen kullakin ohjelman ajokerralla. Esimerkkitulostus
on seuraava
Anna laskutoimitus (esim. 23+56): 22*4
22 * 4 = 88
Ratkaisu: http://users.metropolia.fi/~pasitr/opas/Wuo09/harj/02/ratkaisut/T01T06.cpp
Ylimääräisiä tehtäviä