Metropolia ammattikorkeakoulu 15.01.2015 TI00AA43
Transcription
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ä