JOENSUUN YLIOPISTO
Tietojenkäsittelytieteen laitos

Ohjelmoinnin alkeet 173104

Harjoitus 2


  1. Kirjoita alla oleva ohjelma, käännä ja suorita se joillakin arvoilla. Suorita ohjelma toisen kerran askel kerrallaan siten, että ennen seuraavaa askelta ennustat, mitä askeleessa tapahtuu.
    program summa (input, output);
    var luku, sum: integer;
    begin
        write('Anna ensimmäinen luku: '); readln(luku);
        sum := luku;
        write('Anna toinen luku: '); readln(luku);
        sum := sum + luku;
        write('Anna kolmas luku: '); readln(luku);
        sum := sum + luku;
        writeln('Lukujen summa on ', sum)
    end.
    
  2. Kirjoita Pascal-ohjelma, joka kysyy käyttäjältä kolme positiivista tai negatiivista kokonaislukua, A, B ja C sekä tulostaa annetut arvot ja lukujen itseisarvot allekkain allaolevan mallin mukaan. Itseisarvot saat käyttämällä Pascalin funktiota abs(luku), missä luku on jokin kokonaisluku tai reaaliluku. Kokeile ohjelmaa erilaisilla syötteillä.

    A = arvo, itseisarvo = arvo
    B = arvo, itseisarvo = arvo
    C = arvo, itseisarvo = arvo

  3. Muuta edellistä ohjelmaa siten, että tulostat alla olevan mallin mukaisesti lukujen lisäksi summan, tulon ja alla esitetyn laskutoimituksen tuloksen. Mallitulostuksessa siis arvo:n paikalle tulostuu ko. muuttujan/lausekkeen arvo.

    Luvut A (arvo), B (arvo) ja C (arvo)
    Summa = arvo
    Tulo = arvo
    Laskukaavalla C - |A/(C * A)| + B*B saatu tulos = arvo

    Merkintä |kaava| tarkoittaa itseisarvoa. Kokeile ohjelmasi toimintaa itse keksimilläsi syöttötiedoilla. Entä mitä tulostuu ja miksi, kun ajat ohjelmaasi seuraavilla syötteillä:

    A = -5, B = -1 ja C = 0

    A = 2, B = -1.0 ja C = -0

    A = 2, B = -7 ja C = -0.7

  4. Tee seuraava Pascal-kielinen ohjelma: Ohjelma kysyy käyttäjältä positiivisen kokonaisluvun i ja tulostaa tämän jälkeen näytölle allekkain luvut 1,2,..., i yhden luvun aina rivilleen. Muuta seuraavaksi ohjelmaasi siten, että numerot i, i-1,...,1 tulostetaan allekkain. (Vihje: FOR-silmukka)