Tehtävä 1. Kirjoita, tallenna, käännä ja suorita alla esitelty ohjelma, joka tervehtii käyttäjäänsä. #include <stdio.h> /* mm. I/O-funktiot */ #include <stdlib.h> /* mm. EXIT_SUCCESS */ /*main-funktio, josta ohjelman suoritus alkaa.*/ int main( void ) { /* Lause, jolla tulostetaan tekstiä näytölle.*/ printf("terve ohjelmoija! Olet suorittanut hello.c -ohjelman.\n"); return( EXIT_SUCCESS ); } /* main-funktio päättyy */ Tehtävä 2. Suunnittele ja toteuta ohjelma, jossa lasketaan työntekijälle maksettava palkka tehtyjen tuntien ja tuntipalkkan perusteella. Tehtyjen tuntien määrä ja tuntipalkka kysytään käyttäjältä, ohjelmassa käytetään kokonaislukuja (int).
Tehtävä 3. Lisää tehtävän 2 ohjelmaan toiminto, joka laskee palkasta perittävän veron määrän, veroprosentti kysytään käyttäjältä. Ohjelma tulostaa työntekijän ja verottajan osuudet, käytä reaalilukuja (double). Tehtävä 4. Muokkaa tehtävä kolmea siten että 40 tuntia ylittäviltä tunneista maksetaan palkkaa 1.5 kertaisena Tehtävä 5. Tee ohjelma, joka lukee käyttäjältä lainasumman, lainapäivien määrän ja lainakoron, ohjelma laskee paljonko asiakas joutuu maksamaan korkoa lainaajalta. Kaava: kokonaiskorko = laina * korko * lainapaivat/365 Tehtävä 6. Suunnittele ja toteuta ohjelma, joka lukee kaksi kokonaislukkua. Ohjelma tutkii onko ensiksi syötetty luku on toiseksi syötetyn luvun monikerta. Ohjelma ilmoittaa käyttäjälle lopputuloksen. Tehtävä 7. Suunnittele ja toteuta ohjelma, lukee käyttäjältä viisinumeroisen kokonaisluvun. Ohjelma tulostaa luvun numerot välilyönneillä erotettuna. Esim. luku 42769 tulostuisi 4 2 7 6 9.
Tehtävä 8. Suunnittele ja toteuta ohjelma, joka lukee autoilijan tankkaamia bensiinimääriä ja ajokilometrit ko. tankkaukseen. Ohjelma laskee paljonko bensiiniä kului per 100 kilometriä. Ohjelma lukee lukemia ja laskee tuloksia, kunnes käyttäjä syötää bensiinin määräksi luvun -1. Lopuksi ohjelma laskee ja tulostaa kaikkien tankkausten ja ajettujen kilometrien perusteella keskikulutuksen. Tehtävä 9. Suunnittele ja toteuta ohjelma, joka kysyy kokeesta saadun pistemäärän ja tulostaa vastaavan arvosanan. Käytä hyväksesi if- valintarakennetta. Arvosanat määräytyvät seuraavasti: 0-11 hylätty 12-13 1 14-16 2 17-19 3 20-22 4 23-24 5 muut: virheellinen pistemäärä Tehtävä 10. Totetuta tehtävä 8:n ohjelma switch-rakenteen avulla.
Tehtävä 11. Suunnittele ja toteuta ohjelma, joka lukee 10 kokonaislukua (int) ja ilmoittaa lopuksi mikä syötetyistä luvuista oli suurin. Tehtävä 12. Suunnittele ja toteuta ohjelma, joka tulostaa alla olevan taulukon. N 10*N 100*N 1000*N 1 10 100 1000 2 20 200 2000 3 30 300 3000... 10 100 1000 10000 Tehtävä 13. Palindromi on luku tai teksti, joka on sama, luettiin se etuperin tai takaperin. Tee ohjelma, joka tutkii onko käyttäjän syöttämä viisinumeroinen positiivinen kokonaisluku palindromi.
Tehtävä 14. Tee ohjelma, joka tulostaa Celsius -asteet ja vastaavat Fahrenheit -asteet väliltä -100C... 100C kymmenen asteen välein seuraavan esimerkin mukaisesti: Celsius Fahrenheit -100-148.00-90 -130.00-80 112.00...... 100 212.00 Laske ja tulosta Fahrenheit -asteiden arvo kaavan perusteella: fahrenheit = 1.8 * celsius + 32. Toteuta ohjelmasta kaksi versiota; for- ja whilerakenteen avulla. Tehtävä 15. Tee ohjelma, joka tulostaa seuraavanlaisen kuvion a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa
Tehtävä 16. Tee ohjelma, joka tulostaa seuraavanlaisen kuvion a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa Tehtävä 17. Tee ohjelma, joka tulostaa seuraavanlaisen pyramidin toistorakententeiden avulla. 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 6 7 8 9 0 1 0 9 8 7 6 7 8 9 0 1 2 3 2 1 0 9 8 7 8 9 0 1 2 3 4 5 4 3 2 1 0 9 8 9 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 9 0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0
Tehtävä 18. Tee ohjelma, joka laskee yhteen käyttäjän syöttämiä positiivisia reaalilukuja (double), kunnes käytäjä syöttää negatiivisen luvun. Ohjelma laskee syötettyjen positiivisten lukujen keskiarvon ja tulostaa keskiarvon kahden desimaalin tarkkuudella. Kokeile myös miten ohjelma käyttäytyy kun unohdat tietojen lukemisessa &-merkin muuttujan nimen edestä. Toteuta ohjelma while-rakenteella. Tehtävä 19. Toteuta ohjelma 18. do-while rakenteella Tehtävä 20. Toteuta ohjelma 18. for-rakenteella. Tehtävä 21. Muokkaa tehtävän 18 toimintaa siten, että ohjelmassa tarkastetaan syöttääkö käyttäjä tietoja, jotka voidaan tulkita numeeriseksi. Jos käyttäjä syöttää virheellistä tietoa, pyytää ohjelma lukua uudelleen. Jos käyttäjä antaa kolme kertaa virheellisen syötteen, ohjelma ilmoittaa käyttäjälle, että tämä on toivoton tapaus ja ohjelman suoritus lopetetaan.
Tehtävä 22. Binääriluku sisältää merkkejä 1 ja 0. Binääriluku muutetaan kymmenjärjstelmän luvuksi seuraavasti. binääriluvusta 1011 saadaan luku 13 laskemalla 1*2 3 + 0* 2 2 + 1* 2 1 + 1* 2 0, jossa 2 3 = 8 2 2 = 4 2 1 = 2 2 0 = 1 Suunnittele ja toteuta ohjelma, joka lukee viisinumeroisen binääriluvun ja muuttaa sen kymmenjärjestelmän luvuksi ja tulostaa tuloksen kuvaruudulle. Tehtävä 23. Suunnittele ja toteuta ohjelma, joka laskee matemaattisen vakion e arvon käyttäen kaavaa: e = 1 + 1/1! + 1/2! + 1/3! + 1/4! +... laske luku kymmenen termin tarkkuudella.