Apua aloittelijalle ohjelmointitehtävään

Anonyymi

Help! Olen aivan aloittelija ohjelmoinnin saralla, ja nyt on tullut vastaan pari harjoitustehtävää jotka eivät vaan kerta kaikkiaan lähde. Voisiko joku auttaa? Ihan suora ratkaisu tehtäväänkin auttaa, sen läpi käymällä tajuaisin varmaankin missä olen itse mennyt metsään :)

Tehtävä:
Tee ohjelma, joka kysyy oppilaiden koearvosanoja (kokonaisluvut 4-10 käytössä) ja laskee syötettyjen arvosanojen keskiarvon. Ohjelman tulee ottaa vastaan arvosanoja, kunnes arvosanojen syöttö lopetetaan negatiivisella kokonaisluvulla. Lopuksi ohjelma tulostaa arvosanojen lukumäärän sekä lasketun keskiarvon. Vain luvut 4-10 huomioidaan keskiarvoon. Jos käyttäjä antaa jonkin muun luvun, kysytään uusi luku.

Vihje:
Voit laatia ohjelman joko while- tai do...while-lauseen avulla. Käytä arvosanojen ja keskiarvon tallentamiseen liukulukutyyppisiä muuttujia.

Ohjelma kirjoitetaan luokkaan, jonka nimi on ŽKeskiarvoŽ.

Esimerkkituloste:
Ohjelma laskee syötettyjen arvosanojen keskiarvon.
Lopetus negatiivisella kokonaisluvulla.
Anna arvosana (4-10):6
Anna arvosana (4-10):7
Anna arvosana (4-10):8
Anna arvosana (4-10):9
Anna arvosana (4-10):9
Anna arvosana (4-10):4
Anna arvosana (4-10):6
Anna arvosana (4-10):7
Anna arvosana (4-10):6
Anna arvosana (4-10):-1
Ohjelmaan syötetty 9 arvosanaa.
Arvosanojen keskiarvo: 6.888888888888889

Kiitos!

5

119

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      module keskarijuttu;
      import std.stdio;

      class KeskariClassi {
      static float arvosanat () {
      int[] arvosanat;

      do {
      write("Syötä arvosana: ");

      int arvosana;

      readf("%d", &arvosana);

      if (arvosana >= 4 && arvosana <=10) {
      arvosanat~= arvosana;
      }
      else {
      writeln("Väärä arvosana!");
      }
      } while (arvosana >= 0)

      float keskari;

      foreach (a; arvosanat) {
      keskari = cast(float) a;
      }

      keskari = cast(float) arvosanat.length / keskari;

      return keskari;
      }
      }

    • Anonyymi

      // T: Tee ohjelma, joka kysyy oppilaiden koearvosanoja (kokonaisluvut 4-10 käytössä) ja laskee syötettyjen arvosanojen keskiarvon. Ohjelman tulee ottaa vastaan arvosanoja, kunnes arvosanojen syöttö lopetetaan negatiivisella kokonaisluvulla. Lopuksi ohjelma tulostaa arvosanojen lukumäärän sekä lasketun keskiarvon. Vain luvut 4-10 huomioidaan keskiarvoon. Jos käyttäjä antaa jonkin muun luvun, kysytään uusi luku.

      import java.io.*;

      public class Keskiarvo {

      public static void main(String[] args) {

      int lukujenLkm = 0;

      double luku,
      lukujenSumma = 0,
      lukujenKarvo;


      System.out.println("Ohjelma laskee syötettyjen arvosanojen keskiarvon.\n"
      "Lopetus negatiivisella kokonaisluvulla.\n");


      // Lukujen summan laskenta:
      System.out.println("Anna arvosana (4-10):");
      luku = Double.valueOf(luku);
      while (luku > 4 || luku < 10) {
      lukujenSumma = luku;
      lukujenLkm;
      luku = Double.valueOf(luku);; // seuraava luku tai loppumerkki
      }

      // Keskiarvon tulostus (estetään 0:lla jakaminen):

      if (lukujenLkm == 0)
      System.out.println("\nEi lukuja, ei keskiarvoa.\n");
      else {
      lukujenKarvo = lukujenSumma/lukujenLkm;
      System.out.println("Ohjelmaan syötetty" lukujenSumma "arvosanaa.\nArvosanojen keskiarvo:" lukujenKarvo);
      }
      }
      }

    • Anonyymi

      no siitä ei ole kokemusta että en tarkkaan osaa sanoa mutta suurinpiirtein se menis niin että nimeät taulukkomuuttujan johon ne arvotsanat syötetään esim

      int arvosanat[] = new int[100];
      int i = 0;
      (tämä on javaa, kaiketi c suunnilleen sama periaate)

      looppin sisään tulee arvosanan määrittäminen muuttujaan ja i:n arvon kasvattaminen yhdellä

      do{
      lause jolla arvosana kysytään
      arvosanat = jotainmitälie;
      i
      }
      while (i >= 0);

      edit: unohtu se keskiarvon laskeminen

      eli muuttujat:

      double summa = 0;
      int a = 0;

      do
      {
      summa = summa arvosana
      i
      }
      while(a < i)

      double keskiarvo = summa / i
      lause jolla tulostetaan muuttuja "keskiarvo"

      toivottavasti tästä nyt saa jotain selkoa, googlesta löytyy varmaan parempiaki ohjeita jos jaksaa ettiä

    • Anonyymi

      Millä ohjelmointikielellä? Tässä oma versioni C :lla.

      #include <iostream>
      #include <limits>

      int main() {
      std::cout << "Keskiarvolaskuri laskee arvosanain keskiarvon." << std::endl;
      std::cout << "Negatiivinen arvo lopettaa ohjelman." << std::endl;
      int arvosana, summa = 0, lkm = 0;
      std::cout << "Syötä arvosana (4-10): ";
      std::cin >> arvosana;
      while (!(arvosana < 0)) {
      if (std::cin.good() && 4 <= arvosana && arvosana <= 10) {
      summa = arvosana;
      lkm = 1;
      std::cout << "Arvosanoja annettu " << lkm << ", keskiarvo on nyt " << ((float)summa / lkm) << std::endl;
      } else {
      std::cout << "Virheellinen arvo!" << std::endl;
      if (!std::cin.good()) {
      std::cin.clear();
      std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
      }
      }
      std::cout << "Anna seuraava arvosana: ";
      std::cin >> arvosana;
      }
      if (lkm) {
      std::cout << "Arvosanoja annettiin yhteensä " << lkm << ", niiden keskiarvo on " << ((float)summa / lkm) << std::endl;
      } else {
      std::cout << "Yhtään arvosanaa ei syötetty." << std::endl;
      }
      }

    • Anonyymi

      Koodi:
      ###########
      #include

      int main()
      {
      int i = 0;
      int luku, ka, summa, maara;

      printf("Ohjelma laskee syötettyjen arvosanojen keskiarvon.\nLopetus negatiivisella kokonaisluvulla.\n");
      while(luku >= 0) {
      printf("Anna arvosana (4-10):");
      scanf("%d",&luku);
      summa = luku;
      i ;

      }
      maara = i - 1;
      ka = summa / maara;
      printf("Ohjelmaan syötetty %d arvosanaa.\n", maara);
      printf("Arvosanojen keskiarvo: %.2d", ka);

      return 0;
      }

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nurmossa kuoli 2 Lasta..

      Autokolarissa. Näin kertovat iltapäivälehdet juuri nyt. 22.11. Ja aina ennen Joulua näitä tulee. . .
      Seinäjoki
      98
      4781
    2. Maisa on SALAKUVATTU huumepoliisinsa kanssa!

      https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663
      Kotimaiset julkkisjuorut
      140
      3203
    3. Vanhalle ukon rähjälle

      Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen
      Ikävä
      50
      3145
    4. Mikko Koivu yrittää pestä mustan valkoiseksi

      Ilmeisesti huomannut, että Helenan tukijoukot kasvaa kasvamistaan. Riistakamera paljasti hiljattain kylmän totuuden Mi
      Kotimaiset julkkisjuorut
      413
      2264
    5. Purra hermostui A-studiossa

      Purra huusi ja tärisi A-studiossa 21.11.-24. Ei kykene asialliseen keskusteluun.
      Perussuomalaiset
      236
      1392
    6. Ensitreffit Hai rehellisenä - Tämä intiimiyden muoto puuttui suhteesta Annan kanssa: "Meillä ei..."

      Hai ja Anna eivät jatkaneet avioliittoaan Ensitreffit-sarjassa. Olisiko mielestäsi tällä parilla ollut mahdollisuus aito
      Ensitreffit alttarilla
      11
      1233
    7. Mitä sanoisit

      Ihastukselle, jos näkisitte?
      Tunteet
      76
      1207
    8. Miten meinasit

      Suhtautua minuun kun taas kohdataan?
      Ikävä
      71
      1151
    9. Joel Harkimo seuraa Martina Aitolehden jalanjälkiä!

      Oho, aikamoinen yllätys, että Joel Jolle Harkimo on lähtenyt Iholla-ohjelmaan. Tässähän hän seuraa mm. Martina Aitolehde
      Suomalaiset julkkikset
      31
      1118
    10. Miksi pankkitunnuksilla kaikkialle

      Miksi rahaliikenteen palveluiden tunnukset vaaditaan miltei kaikkeen yleiseen asiointiin Suomessa? Kenen etu on se, että
      Maailman menoa
      118
      1028
    Aihe