Tehtäviä

Ratkaise seuraavat tehtävät rakentamalla avuksesi sopiva ohjelma.
  1. Tulosta 1000 ensimmäistä positiivista kokonaislukua.
  2. Tulosta edellisen tehtävän luvut käänteisessä järjestyksessä.
  3. Tulosta 1000 ensimmäistä paritonta positiivista kokonaislukua.
  4. Tulosta 50 ensimmäistä luvun 2 potenssia.
  5. Olkoot aritmeettisen lukujonon kaksi ensimmäistä jäsentä 3 ja 7. Tulosta lukujonon 100 ensimmäistä jäsentä.
  6. Olkoot geometrisen lukujonon kaksi ensimmäistä jäsentä 5 ja 6. Tulosta lukujonon 100 ensimmäistä jäsentä.
  7. Galaktiseen pankkiin on tilille talletettu 300 yksikköä galaktista valuuttaa 1 % vuosikorolla. Galaktisten pankkisäädösten mukaisesti korko liitetään kahteen desimaaliin pyöristettynä pääomaan aina vuoden lopussa, jonka jälkeen tililtä vähennetään tilinhoitopalkkio, joka on 2 yksikköä galaktista valuuttaa. Tulosta tilin saldo 1000 vuoden ajalta.
  8. Tulosta Fibonaccin lukujonon
    a1 = 1     a2 = 1  , n = 3, 4, 5, ...        an = an − 1 + an − 2
    50 ensimmäistä jäsentä.
  9. Tulosta Fibonaccin lukujonon 50 ensimmäisen jäsenen summa.
  10. Tulosta Fibonaccin lukujonon 50 ensimmäisen jäsenen käänteisluvut ja niiden summa.
  11. Toteuta ohjelma, joka kertoo, kuinka monta reaaliratkaisua toisen asteen yhtälöllä, ax2 + bx + c = 0,  on. Aseta muuttujat a, b ja c sopiviin alkuarvoihin ohjelmakoodin alussa. Ohjelman tulee toimia kaikilla mahdollisilla reaalisilla alkuarvoilla.
  12. Toteuta ohjelma, joka tulostaa toisen asteen yhtälön, ax2 + bx + c = 0,  reaaliratkaisut. Aseta muuttujat a, b ja c sopiviin alkuarvoihin ohjelmakoodin alussa. Ohjelman tulee toimia kaikilla mahdollisilla reaalisilla alkuarvoilla.
  13. Toteuta ohjelma, joka tulostaa toisen asteen epäyhtälön, ax2 + bx + c > 0,  ratkaisun. Aseta muuttujat a, b ja c sopiviin alkuarvoihin ohjelmakoodin alussa. Ohjelman tulee toimia kaikilla mahdollisilla reaalisilla alkuarvoilla.
  14. Tulosta 100 ensimmäistä, luvulla 11 jaollista, positiivista kokonaislukua.
  15. Tulosta 100 ensimmäistä, luvulla 3 tai luvulla 7 jaollista, positiivista kokonaislukua.
  16. Tulosta ne kolminumeroiset postiiviset kokonaisluvut, jotka eivät ole jaollisia luvulla 3 tai luvulla 7 sekä niiden summa.
  17. Etsi lukujen 23433 ja 54348 suurin yhteinen tekijä Eukleideen algoritmilla.
  18. Tee ohjelma, joka tulostaa kaikki alkuvuvut väliltä 1-1000 käyttämättä isPrime-komentoa.
  19. Tulosta Fibonaccin lukujonon 50 ensimmäisestä jäsenestä ne, jotka ovat alkulukuja.
  20. Tee ohjelma, joka kääntää 6-numeroisen luvun numerot päinvastaiseen järjestykseen. Eli asetettaessa ohjelman alussa muuttujassa luvuksi esimerkiksi 123456, ohjelman tulee tulostaa luku 654321.
  21. Toteuta ohjelma, joka tulostaa ei-kymmenjärjestelmän luvun kymmenjärjestelmässä. Aseta muunnettava luku ja järjestelmä sopiviin alkuarvoihin ohjelman alussa.
  22. Toteuta ohjelma, joka tulostaa kymmenjärjestelmän luvun ei-kymmenjärjestelmässä. Aseta muunnettava luku ja järjestelmä sopiviin alkuarvoihin ohjelman alussa.
  23. Tee ohjelma, joka tulostaa seuraavat 500 karkausvuotta.
  24. Simuloi kahden nopan heittoa. Muodosta tilastollinen todennäköisyys kuutosparille heitettäessä kahta noppaa 1000 kertaa. Vertaa lukua laskennalliseen todennäköisyyteen.
  25. Chevalier de Méré (1607-1684) havaitsi aikanaan, että kannattaa lyödä vetoa sen puolesta, että heitettäessä neljä kertaa noppaa, saadaan ainakin yhden kerran silmäluku 6. Simuloi neljän nopan heittoa ja laske tilastollinen todennäköisyys toistamalla tilanne 1000 kertaa. Vertaa lukua laskennalliseen todennäköisyyteen.
  26. Risk-lautapelissä taisteleminen hoidetaan sopuisasti tavallisia 6-sivuisia noppia heittelemällä. Tyypillisessä tilanteessa puolustajalla on käytössään kaksi noppaa ja hyökkääjällä kolme. Kun molemmat pelaajat ovat heittäneet noppiansa, verrataan korkeimpia silmälukuja ja toisiksi korkeimpia silmälukuja keskenään. Tasatilanteessa puolustajan noppa voittaa. Tutki simuloimalla seuraavia todennäköisyyksiä:
    1. Hyökkääjä voittaa molemmat vertailut,
    2. Puolustaja voittaa molemmat vertailut,
    3. Voitot menevät tasan.
  27. Neperin luvun e sarjakehitelmä on
    e = n = 0(1)/(n!).
    Tulosta luvulle e likiarvoja laskemalla summaa termi kerrallaan pidemmälle.
  28. Intialainen matemaatikko Madhava of Sangamagrama (1340-1425) kehitti luvun π laskemiseksi seuraavan sarjakehitelmän:
    π = (12)k = 0(( − 3) − k)/(2k + 1).
    Tulosta luvulle π likiarvoja laskemalla summaa termi kerrallaan pidemmälle.
  29. Kultaisen leikkauksen φ ketjumurtolukuesitys on
    φ = 1 + (1)/(1 + (1)/(1 + …)).
    Muodosta ketjumurtoluvusta rekursiivinen lukujono ja tulosta luvulle luvulle φ likiarvoja laskemalla ketjumurtolukua termi kerrallaan pidemmälle.
  30. Luvun (2) ketjumurtolukuesitys on
    (2) = 1 + (1)/(2 + (1)/(2 + …)).
    Muodosta ketjumurtoluvusta rekursiivinen lukujono ja tulosta luvulle luvulle (2) likiarvoja laskemalla ketjumurtolukua termi kerrallaan pidemmälle.
  31. Tiedetään, että funktiolla f(x) = 2x + x on täsmälleen yksi nollakohta välillä ] − 1, 1[. Etsi nollakohdan kuusidesimaalinen likiarvo
    1. Newtonin menetelmällä,
    2. sekanttimenetelmällä,
    3. puolitusmenetelmällä.
  32. Yhtälöllä 2cosx − 3x + 15 = 0 on täsmälleen yksi ratkaisu. Etsi ratkaisu viiden desimaalin tarkkuudella käyttämällä kiintopistemenetelmää.
  33. Laske käyrien y = (1 + x2), y = 0 ja x = ±2 rajaamalle alalle likiarvo neljälläkymmenellä osavälillä käyttäen
    1. suorakaidesääntöä,
    2. puolisuunnikassääntöä,
    3. Simpsonin sääntöä.