Helsingin yliopisto / Tietojenkäsittelytieteen laitos / 581325-0 Ohjelmoinnin perusteet
Copyright © 2007 Arto Wikla. Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.

1. harjoitukset 3.-7.9.2007

Aiheita: algoritmi ja algoritmin tila, ensimmäisen Java-ohjelman kirjoitus, kääntäminen ja suorittaminen

Huom: Ensimmäisellä harjoituskerralla muodostetaan ensin opintopiirit. Nämä ensimmäiset harjoitukset tehdään poikkeuksellisesti vasta harjoitusryhmän kokoontuessa. Toki jo etukäteenkin saa miettiä ja ratkoa tehtäviä. Ensimmäisen harjoituskerran päätteeksi halukkaita opastetaan laitoksen Java-välineiden käyttössä. Ryhmän ohjaaja neuvoo paikan.

  1. Esitä seuraavan algoritmin tila jokaisen rivin jälkeen. Algoritmille annetaan syötteet 2, 1 ja 5.
       a = 1; b = 2; c = 3;
       lue(d);
       a = (b - d) * a;
       b = a * (b + c) - (d + a) * b;
       lue(a); lue(c);
       kirjoita(a-c);
       c = c+c*c;
    
  2. Mitä seuraava algoritmi tulostaa? Perustele.
       lkm = 0;
       edellinen = 1; seuraava = 1;
       while (lkm < 5) {
         kirjoita(edellinen);
         apu = seuraava;
         seuraava = edellinen + seuraava;
         edellinen = apu;
         lkm = lkm + 1;
       }
    
  3. Minkä "reaalimaailman" ongelman seuraava algoritmi ratkaisee?
       a = 0;
       kirjoita("töttöröö");
       lue(b);
       c = b;
       while (c>0) {
         lue(d);
         a = a + d;
         c = c - 1;
       }
       if (b=0)
         kirjoita("heissulivei");
       else
         kirjoita(a/b);
    
    Kirjoita algoritmi uudelleen siten, että muuttujilla on nimet, joiden avulla algoritmin tehtävän voi ymmärtää helpommin! Täydennä algoritmia myös tulostusoperaatioin, jotka kertovat, mistä on kysymys. Ketä ensimmäinen parannus palvelee? Entä toinen?

    1. Laadi algoritmi, joka lukee 10 lukua ja tulostaa niiden summan.
    2. Laadi algoritmi, joka lukee ensin luvun n, sitten lukee n kappaletta lukuja ja tulostaa niiden summan.



Takaisin harjoitussivulle.


Visitor Counter by
Digits
(by WebCounter)