6.2 Laskuri ja laskukaavat

Yhteenveto

Tehdään ohjelma, joka laskee neliön pinta-aloja, kun x saa arvoja 1, 2, 3, 4.... Lisätään ohjelmaan if-lause, joka tulostaa x:n ja A:n arvot, jos x on pienempi tai yhtä suuri kuin 10. Jos x on suurempi kuin 10, niin siinä tapauksessa tulostetaan summa-muuttujan arvo. Summa-muuttujan arvossa on summattu kaikkien pinta-alojen summa.



Ohjelman koodi on seuraava:

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja x ja anna sille alkuarvo 1.
  2. Määrittele globaali kokonaislukumuuttuja summa ja anna sille alkuarvo 0.
  3. Aseta ikkunan kooksi 300 px vaakaan ja 300 px pystyyn.
  4. Aseta ikkunan taustaväriksi valkoinen.
  5. Aseta täyttöväriksi musta.
  6. Aseta tekstin kooksi 20.
  7. Määrittele paikallinen kokonaislukumuuttuja A ja laske muuttujan x avulla laskutoimitus x*x ja sijoita sen arvo muuttujalle A (Laske neliön pinta-ala).
  8. Jos muuttuja x on pienempi tai yhtä suuri kuin 10, niin silloin
    1. Lisää summa-muuttujalle muuttujan A:n arvo.
    2. Tulosta muuttujan x arvo ja tulosta muuttujan A arvo paikkaan (10, x*20). Kun muuttuja x saa suurempia arvoja (x = 1, 2, 3,...), niin samalla y-koordinaatti kasvaa (20, 40, 60, 80,...).
  9. Muutoin (Jos x on suurempi kuin 10) tulosta: summa-muuttujan arvo paikkaan (10, 260).
  10. Kasvata laskuria x yhdellä.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int x = 1; // Laskurin alkuarvo
int summa = 0; // Summan alkuarvo
void setup () {
size(300,300); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Tekstin väri musta
textSize(20); // Tekstin koko 20
}
void draw () {
int A = x*x; // Laske pinta-ala
if (x <= 10) { // Jos x on pienempi tai yhtäsuuri kuin 10
summa = summa+A; // Summaa pinta-ala
text("x = "+x+" m, Pinta-ala: A = "+A+" m\u00B2",10,x*20);
} else {
text("Pinta-alojen summa on "+summa+" m\u00b2",10,260);
}
x++; // Kasvata laskuria
}

Esimerkki: Laskuri ja laskukaavat

Olkoon laskuri x = x + 2. Neliön piiri lasketaan kaavalla p = 4∙x, missä x on neliön sivun pituus. Laske laskurin avulla piirille kuusi ensimmäistä arvoa, kun laskurin alkuarvo on 0.

Lasketaan ensin taulukoimalla piirille arvot, kun x saa arvoja: 0, 2, 4, 6, 8, 10.

1. arvo: Laskuri: x = 0 Piiri: p = 4∙0 = 0
2. arvo: Laskuri: x = 0 + 2 = 2 Piiri: p = 4∙2 = 8
3. arvo: Laskuri: x = 2 + 2 = 4 Piiri: p = 4∙4 = 16
4: arvo: Laskuri: x = 4 + 2 = 6 Piiri: p = 4∙6 = 24
5. arvo: Laskuri: x = 6 + 2 = 8 Piiri: p = 4∙8 = 32
6. arvo: Laskuri; x = 8 + 2 = 10 Piiri: p = 4∙10 = 40

Kun rakennamme tästä ohjelman, niin lukujen on tulostuttava allekkain. Se onnistuu, kun laitamme tulostuslauseen y-koordinaatin paikalle lausekkeen: 20+x*20. Kun a saa arvoja: 0, 1, 2, 3, 4, 5 ja 6, y-koordinaatti saa arvoa: 20, 40, 60, 80, 100, 120. Tällöin jokainen uusi teksti tulee 20 px alemmas kuin edellinen teksti. Jos haluamme tulostaa vain kuusi ensimmäistä arvoa, niin tällöin käytämme if-lauseketta. Tulostus tapahtuu niin kauan kuin ehto (x on pienempi tai yhtä suuri kuin 10) on voimassa. Kokonainen ohjelma, joka laskee kuusi ensimmäistä piirin arvoa, on seuraavanlainen.

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja x ja anna sille alkuarvo 0.
  2. Aseta ikkunan kooksi 400 px vaakaan ja 400 px pystyyn.
  3. Aseta ikkunan taustaväriksi valkoinen.
  4. Aseta täyttöväriksi musta.
  5. Aseta tekstin kooksi 20.
  6. Määrittele paikallinen kokonaislukumuuttuja p ja sijoita siihen laskutoimituksen 4*x vastaus. Koska x-muuttuja kasvaa void draw ()-lohkon päivittyessä, niin samalla myös p-muuttuja kasvaa.
  7. Jos muuttuja x on pienempi tai yhtä suuri kuin 10, niin silloin
    tulosta muuttujan x ja p arvot paikkaan (20,20+x*20). Koska muuttuja x on tulostuslauseessa, niin x:n kasvaessa (x = 0, 1, 2, 3,...) kasvaa myös y-koordinaatti (20, 40, 60, 80,...).
  8. Kasvata laskuri-muuttujaa 2:lla.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int x = 0;
void setup () {
size(400,400); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Täyttöväri musta
textSize(20); // Tekstin koko
}
void draw () {
int p = 4*x; // Laske piiri
if (x <= 10) { // Jos x on pienempi tai yhtä suuri kuin 10, niin
text("Laskuri: x = "+x+", Piiri: p = "+p,20,20+x*20);
// Tulosta piiri
}
x = x + 2; // Kasvata laskuria kahdella
}


Katsotaan tulostuslausetta tarkemmin:



Ohjelman suoritus näyttää tältä:


Esimerkki: Viiden kertotaulu

Haluamme tehdä ohjelman, joka tulostaa viiden kertotaulun.

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja a ja anna sille alkuarvo 0.
  2. Aseta ikkunan kooksi 400 px vaakaan ja 400 px pystyyn.
  3. Aseta ikkunan taustaväriksi valkoinen.
  4. Aseta täyttöväriksi musta.
  5. Aseta tekstin kooksi 20.
  6. Muuttujan a arvo kasvaa yhdellä.
  7. Tulosta: "5 ∙"+a+" = "+5*a paikkaan (20,20+20*a). Kun muuttuja a kasvaa (1, 2, 3, 4,..), niin samalla tulostuslauseen y-koordinaatti kasvaa (40, 60, 80, 100,..) ja kertolaskun tulos.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int a = 0; // Laskurin alkuarvo

void setup () {
size(400,400); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Täyttöväri musta
textSize(20); // Tekstin koko 20
}

void draw () {
a++; // Laskuri kasvaa yhdellä
text("5\u00B7"+a+" = "+5*a,20,20+20*a); // Tulosta
}


Kun yllä oleva koodi suoritetaan, niin tulostuu seuraavaa.




Tässä laskuri a kasvaa yhdellä ja samalla tehdään viiden kertolaskuja alaspäin. Tulostuslause vaatii hieman tarkempaa tutkimusta.


Laskuri mahdollistaa useita laskuja allekkain. Tässä laskuri kasvaa jatkuvasti. Entä jos haluaisimme tulostaa vain 10 ensimmäistä kertolaskua? Tällöin tarvitsemme if-lausetta. Meidän pitäisi tehdä ehto: jos laskuri on pienempi tai yhtä suuri kuin 10, niin silloin tulosta laskurin arvo ja tee kertolasku. Muutetaan koodia seuraavasti:

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja a ja anna sille alkuarvo 0.
  2. Aseta ikkunan kooksi 400 px vaakaan ja 400 px pystyyn.
  3. Aseta ikkunan taustaväriksi valkoinen.
  4. Aseta täyttöväriksi musta.
  5. Aseta tekstin kooksi 20.
  6. Muuttujan a arvo kasvaa yhdellä.
  7. Jos muuttujan a arvo on pienempi tai yhtä suuri kuin 10, niin
    Tulosta: "5 ∙"+a+" = "+5*a paikkaan (20, 20+20*a). Kun muuttuja a kasvaa (1, 2, 3, 4,..), niin samalla tulostuslauseen y-koordinaatti kasvaa (40, 60, 80, 100,..) ja kertolaskun tulos.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int a = 0; // Laskurin alkuarvo

void setup () {
size(400,400); // Ikkunan koko
background(255); // Taustaväri valkea
fill(0); // Täyttöväri musta
textSize(20); // Tekstin koko
}

void draw () {
a++; // Laskuri kasvaa yhdellä
if (a <= 10) { // Jos a on peienmpi tai yhtäsuuri kuin 10, niin
text("5\u00B7"+a+" = "+5*a,20,20+20*a); // Tulosta
}
}


Jolloin tulostuu seuraavaa.


Ohjelman suoritusta voi myös havainnollistaa taulukoimalla laskurin a arvoja.

a++ (a <= 10) text("5\u00B7"+a+" = "+5*a,20,20+10*a);
1 1 <= 10, tosi text("5\u00B7"+1+" = "+5,20,30);
2 2 <= 10, tosi text("5\u00B7"+2+" = "+10,20,40);
3 3 <= 10, tosi text("5\u00B7"+3+" = "+15,20,50);
4 4 <= 10, tosi text("5\u00B7"+4+" = "+20,20,60);
5 5 <= 10, tosi text("5\u00B7"+5+" = "+25,20,70);
6 6 <= 10, tosi text("5\u00B7"+6+" = "+30,20,80);
7 7 <= 10, tosi text("5\u00B7"+7+" = "+35,20,90);
8 8 <= 10, tosi text("5\u00B7"+8+" = "+40,20,100);
9 9 <= 10, tosi text("5\u00B7"+9+" = "+45,20,110);
10 10 <= 10, tosi text("5\u00B7"+10+" = "+50,20,120);
11 11 <= 10, epätosi -

Esimerkki: Funktion arvot

Haluamme tehdä ohjelman, joka tulostaa funktion f(x) = 2x - 3 arvot kun x saa arvoja -10:sta 10:een. Teemme siis ohjelman, jossa laskurimuuttujan x alkuarvo on -10 ja laskuri on muotoa x++. If-lauseen avulla voimme lopettaa tulostuksen, kun laskuri kasvaa yli kymmenen. Lisäksi tarvitsemme toisen muuttujan y, johon lasketaan funktion arvot. Lopuksi lisätään tulostuslause. Tehdään seuraavanlainen ohjelma:

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja x ja anna sille alkuarvo -10.
  2. Aseta ikkunan kooksi 400 px vaakaan ja 500 px pystyyn.
  3. Aseta ikkunan taustaväriksi valkoinen.
  4. Aseta täyttöväriksi musta.
  5. Aseta tekstin kooksi 20.
  6. Määrittele paikallinen kokonaislukumuuttuja y ja sijoita siihen laskutoimituksen 2*x-3 tulos. Kun muuttujan x arvo kasvaa, niin samalla muuttujan y arvo muuttuu.
  7. Jos muuttujan x arvo on pienempi tai yhtä suuri kuin 10, niin silloin
    Tulosta muuttujien x ja y arvot paikkaan (10, 220+20*x). Kun muuttujan x arvo kasvaa (x = -10, -9, -7,..), niin samalla tekstin y-koordinaatti kasvaa (20, 40, 60, 80,...).
  8. Kasvata muuttujaa x yhdellä.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int x = -10; // Laskurin alkuarvo

void setup () {
size(400,500); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Täyttöväri musta
textSize(20); // Tekstin koko 20
}

void draw () {
int y = 2*x -3; // Laske y:n arvo
if (x <= 10) {
text("f("+x+") = 2\u00B7("+x+") -3 = "+y,10,220+20*x);
}
x++; // Laskuri kasvaa yhdellä
}



Ohjelma toimii muuten hyvin, mutta voisiko tulostusta sieventää? Kun x on nolla tai suurempi, niin ohjelma tulostaa sulut vaikka siihen ei ole tarvetta. Ohjelmassa on toinenkin heikkous. Entä jos haluamme tulostaa funktion f(x) = 2x + 3. Joudumme tekemään heti korjauksia tulostuslauseeseen. Olisi parempi määritellä myös omat muuttujat luvuille 2 ja -3, jolloin näitä voisi tarvittaessa vaihtaa. Eräs ongelma on se, että plusmerkki ei tulostu, jos -3 vaihdetaan +3:ksi. Tarvitsemme vielä lisätä kaksi kertaa kaksi sisäkkäistä if-lausetta, ennen kuin kaikki eri variaatiot on huomioitu.

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja x ja anna sille alkuarvo -10.
  2. Aseta ikkunan kooksi 400 px vaakaan ja 500 px pystyyn.
  3. Aseta ikkunan taustaväriksi valkoinen.
  4. Aseta täyttöväriksi musta.
  5. Aseta tekstin kooksi 20.
  6. Määrittele paikallinen kokonaislukumuuttuja k ja sijoita siihen arvo 2.
  7. Määrittele paikallinen kokonaislukumuuttuja b ja sijoita siihen arvo -3.
  8. Määrittele paikallinen kokonaislukumuuttuja y ja sijoita siihen laskutoimituksen k*x+b tulos. Kun muuttujan x arvo kasvaa, niin samalla muuttujan y arvo muuttuu.
  9. Jos muuttujan x arvo on pienempi tai yhtä suuri kuin 10, niin silloin
  10. Jos muuttujan x arvo on pienempi kuin nolla, niin silloin
    1. Jos muuttujan b arvo on suurempi kuin nolla, niin silloin
      tulosta muuttujien k, x, b ja y arvot paikkaan (10, 220+20*x). Tulosta muuttujan x ympärille sulut ja tulosta muuttujan b eteen plus-merkki.
    2. Muutoin (Jos muuttujan b arvo on pienempi tai yhtä suuri kuin nolla), niin silloin
      tulosta muuttujien k, x, b ja y arvot paikkaan (10, 220+20*x). Tulosta muuttujan x ympärille sulut ja älä tulosta muuttujan b eteen plus-merkkiä.
  11. Muutoin (jos x on suurempi tai yhtä suuri kuin nolla)
    1. Jos muuttujan b arvo on suurempi kuin nolla, niin silloin
      tulosta muuttujien k, x, b ja y arvot paikkaan (10, 220+20*x). Älä tulosta muuttujan x ympärille sulkuja ja tulosta muuttujan b eteen plus-merkki.
    2. Muutoin (Jos muuttujan b arvo on pienempi tai yhtäsuuri kuin nolla), niin silloin
      tulosta muuttujien k, x, b ja y arvot paikkaan (10, 220+20*x). Älä tulosta muuttujan x ympärille sulkuja ja älä tulosta muuttujan b eteen plus-merkkiä.
  12. Kasvata muuttujaa x yhdellä.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int x = -10; // Laskurin alkuarvo

void setup () {
size(400,500); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Taustaväri musta
textSize(20); // Tekstin koko 20
}
void draw () {
int k = 2;
int b = -3;
int y = k*x + b;
if (x <= 10) {
if ( x < 0) {
if (b > 0) {
text("f("+x+") = "+k+"\u00B7("+x+") +"+b+" = "+y,10,220+20*x);
} else {
text("f("+x+") = "+k+"\u00B7("+x+")"+b+" = "+y,10,220+20*x);
}
} else {
if (b > 0) {
text("f("+x+") = "+k+"\u00B7"+x+" +"+b+" = "+y,10,220+20*x);
} else {
text("f("+x+") = "+k+"\u00B7"+x+""+b+" = "+y,10,220+20*x);
}
}
}
x++; // Laskuri kasvaa yhdellä
}


Kokeile vaihtaa muuttujille k ja b uudet arvot. Huomaat, että laskuri toimii halutulla tavalla.

Esimerkki: Lukujen 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 summa

Haluamme laskea laskutoimituksen 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 10. Tällöin käytämme summa-laskuria.

SANALLINEN ALGORITMI
  1. Määrittele globaali kokonaislukumuuttuja a ja anna sille alkuarvo 0.
  2. Määrittele globaali kokonaislukumuuttuja summa ja anna sille alkuarvo 0.
  3. Aseta ikkunan kooksi 400 px vaakaan ja 400 px pystyyn.
  4. Aseta ikkunan taustaväriksi valkoinen.
  5. Aseta täyttöväriksi musta.
  6. Aseta tekstin väriksi musta.
  7. Aseta tekstin kooksi 20.
  8. Muuttujan a arvo kasvaa yhdellä.
  9. Muuttuja summa arvo kasvaa muuttujan a arvolla.
  10. Jos muuttuja a on pienempi tai yhtä suuri kuin 10, niin silloin
    tulosta muuttujien a ja summa arvot paikkaan (20, 10+20*a). Kun muuttuja a kasvaa (a = 1, 2, 3, 4,..), niin samalla tulostuslauseen y-koordinaatti kasvaa (30, 50, 70, 90,...).

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
int a = 0; // Laskurin alkuarvo int summa = 0; // Summa-laskurin alkuarvo void setup () { size(400,400); // Ikkunan koko background(255); // Taustaväri valkoinen fill(0); // Tekstin väri musta textSize(20); // Tekstin koko 20 } void draw () { a++; // Laskuri kasvaa yhdellä summa = summa + a; // Summa-laskuri laskee lukujen summan if (a <= 10) { // Jos a on pienempi tai yhtäsuuri kuin 10, niin text("Kun a = "+a+", niin summa = "+summa,20,10+20*a);
// Tulosta laskuri a ja summa } }


Kuten huomasit, tarvitsemme nyt kaksi laskuria. Laskuri a käy luvut järjestyksessä yhdestä kymmeneen. Summa-laskuriin summaamme nämä luvut yksi kerrallaan. Kun ajamme ohjelman, niin tulostus näyttää tältä.


Esimerkki: Syötettyjen lukujen summaaminen

Yksittäinen merkki näppäimistöltä syötetään key-komennolla. Kun luomme String-tyyppisen muuttujan: kirjoita, niin laskurilla: kirjoita = kirjoita + key; voimme lisätä merkkejä tähän laskuriin, jolloin saamme merkkijonon. Konversiolla int(); voimme tämän merkkijonon taas muuttaa kokonaisluvuksi, joka voidaan helposti taas summata omaan summa laskuriin. Tehdään ohjelma, joka summaa näppäimistöltä syötettyjä lukuja yhteen. Huomaa, että tämä esimerkki toimii vain PC-koneilla.

SANALLINEN ALGORITMI
  1. Määrittele globaali merkkijonomuuttuja: kirjoita ja sijoita siihen arvo "" (tyhjä).
  2. Määrittele globaali merkkijonomuuttuja: kirjoitettu ja sijoita siihen arvo "" (tyhjä).
  3. Määrittele globaali kokonaislukumuuttuja summa ja sijoita siihen alkuarvo 0.
  4. Määrittele globaali kokonaislukumuuttuja laskuri ja anna sille alkuarvo 1.
  5. Aseta ikkunan kooksi 600 px vaakaan ja 200 px pystyyn.
  6. Aseta täyttöväriksi musta.
  7. Aseta tekstin kooksi 30.
  8. Tyhjennä tausta ja väritä se valkoiseksi.
  9. Tulosta teksti: "Anna "+laskuri+". luku" paikkaan (50,50).
  10. Tulosta kirjoita-muuttujan nykyinen arvo paikkaan (60+edellisen tekstin leveys,50).
  11. Tulosta summa-muuttujan nykyinen arvo paikkaan (50,100).
  12. Kun näppäintä on painettu, niin aloita uusi lohko (void keyPressed).
  13. Jos painetaan Enter, niin
    1. Sijoita muuttujalle: kirjoitettu muuttujan: kirjoita sisältö.
    2. Tyhjennä muuttujan: kirjoita sisältö.
    3. Lisää summa muuttujalle syötettyjen lukujen summa. Syötetyt luvut ovat muuttujassa: kirjoitettu, joka voidaan muuttaa konversiolla int() kokonaisluvuksi.
    4. Kasvata muuttujaa: laskuri yhdellä.
  14. Muutoin (jos ei paineta Enteriä), niin
    Lisää näppäimen painallus merkkijonomuuttujalle: kirjoita.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
String kirjoita =""; // Uusi teksti
String kirjoitettu=""; // Vanha teksti
int summa = 0; // Lukujen summa
int laskuri = 1; // Syötettyjen lukujen määrä

void setup () {
size(600,200); // ikkunan koko
fill(0); // Musta täyttöväri
textSize(30); // Tekstin koko 30
}

void draw () {
background(255); // Tyhjennä tausta
text("Anna "+laskuri+". luku:",50,50); // Kysy luku
text(kirjoita,60+textWidth("Anna"+laskuri+". luku:"),50);
// Tulosta nykyinen luku
text("Lukujen summa on: "+summa,50,100);
// Tulosta lukujen summa
}

void keyPressed() {
if (key == '\n') { // Jos painetaan Enter
kirjoitettu = kirjoita;
// Siirrä nykyinen merkkijono vanhaan merkkijonoon
kirjoita =""; // Nollaa nykyinen merkkijono
summa = summa+int(kirjoitettu);
// Laske syötettyjen lukujen summa.
// int()-komento muuttaa merkit luvuksi.
laskuri = laskuri + 1; // Kasvata laskuria yhdellä
} else { // Muutoin kasvata merkkijonoa
kirjoita = kirjoita+key;
// Lisää yksittäinen syötetty merkki merkkijonoon
}
}


Aluksi ohjelma kysyy lukua. Napsauta aluksi hiirellä ikkunaa ja sitten syötä haluamasi luku. Esimerkiksi tässä luvuksi on syötetty viisi.



Kun painat Enteriä, niin syötetty luku siirtyy summa muuttujalle. Voit nyt syöttää toisen luvun. Laskuri-muuttujasta näet sen, että monennenko luvun olet nyt syöttämässä. Anna toinen luku. Esimerkiksi tässä toinen luku on seitsemän.



Kun painat Enteriä, niin summa muuttuja kasvaa viidellä ja laskuri muuttuja yhdellä. Voit jatkaa lukujen syöttämistä. Kokeile myös syöttää isompia lukuja.




Tehdään sama ohjelma vertailun vuoksi käyttäen Javan syöttökenttiä.


// Ohjelman tehnyt e-Oppi Oy
// 1.1.2018
import static javax.swing.JOptionPane.*;
int summa = 0; // Lukujen summa
int laskuri = 1; // Syötettyjen lukujen määrä

void setup () {
size(600,200); // ikkunan koko
fill(0); // Musta täyttöväri
textSize(30); // Tekstin koko 30
background(255); // Tyhjennä tausta
}
void draw () {
int luku; // Määritellään luku muuttuja
String vastaus1 = showInputDialog(null,"Anna "+laskuri+" luku"); // Kysy luku
if (vastaus1 != null) { // null=cancel
luku= int(vastaus1); // Konversio vain jos painettu OK (ei null)
summa = summa+luku; // Summaa luvut
}
int vastaus2= showConfirmDialog(null, "Lopeta lukujen syöttäminen?"); // 0=yes, 1=no, 2=cancel
if (vastaus2 == 0) { // Jos vastaus on yes eli 0, niin
text("Olet syöttänyt: "+laskuri+" kpl lukuja",50,50);
text("Lukujen summa on: "+summa,50,100);
noLoop(); // Lopeta void draw ()-lohkon toisto
} else { // Kaikissa muissa tapauksissa
laskuri++; // kasvata laskuria
}
}


Tähän on lisätty kysymys, että syötetäänkö lisää lukuja. Kun lukuja ei enää syötetä, niin tulostetaan syötettyjen lukujen määrä ja summa.