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

189

    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. Päivän Sanna: Nvidia sijoittaa miljardi dollaria Nokian osakkeisiin

      Nvidia merkitsee osakkeet 6,01 Yhdysvaltain dollarin osakekohtaisella merkintähinnalla tavanomaisten toteutumisehtojen t
      Maailman menoa
      51
      5408
    2. Palkansaajilta kupattiin 27,5 mrd euroa työeläkkeisiin

      Jo pelkän himmelin toimintakulut olivat 400 miljoonaa euroa, jolla olisi mukavasti tuottanut myös sote-palveluja hyvinvo
      Maailman menoa
      91
      3321
    3. Suomessa Pohjoismaiden tyhmimmät demarit......aijaijai..

      Lasse Lehtinen sanoo suoraan, että Ruotsissa on fiksummat demarit kuin Suomessa. Ja Tampereella fiksummat demut kuin Hel
      Maailman menoa
      39
      3186
    4. HS: persujen v. 2015 turvapaikanhakijoista alle puolet töissä

      Aikuisina Suomeen tulleista ja myönteisen päätöksen saaneista vain 42 prosenttia oli vuonna 2023 töissä, vaikka he ovat
      Maailman menoa
      150
      2975
    5. Lehtinen: "Oli demareidenkin onni, että valkoiset voittivat sodan 1918"

      Lasse Lehtisen mukaan vasemmalla on radiohiljaisuus hänen uutuuskirjastaan, "Läheltä piti. Kansakunnan hurjat hetket" L
      Maailman menoa
      60
      2321
    6. SDP:n valtuutettu valehtelee koulutuksensa

      SDP:n helsinkiläinen kaupunginvaltuutettu Mahad Ahmed käyttää maisterin titteliä suoritettuaan 60 opintopisteen epäviral
      Maailman menoa
      49
      2260
    7. Nepotismi jytkyttää porvaristossa

      Taas uutisoidaan, että useampi perussuomalainen kansanedustaja on palkannut oman perheenjäsenensä eduskunta-avustajaksi
      Maailman menoa
      70
      1827
    8. Martina Aitolehti podcastissa: Ero

      Martina Aitolehti podcastissa: Ero Martina Aitolehti kertoi BFF-podcastin https://www.iltalehti.fi/viihdeuutiset/a/696
      Kotimaiset julkkisjuorut
      227
      1746
    9. Persut muuten hyväksyvät 2 + 8 mrd. euron maatalous- ja yritystuet

      Vaikka molemmat tukimuodot tiedetään haitallisiksi, koska ovat käytännössä pelkkää säilyttävää tukea, eivätkä kannusta k
      Maailman menoa
      92
      1636
    10. Persut palkkaavat verorahoilla

      avustajikseen lapsiaan ja naisystäviään. Juuso on palkannut avustajakseen oman poikansa. Hänen koulutustaustastaan ei
      Maailman menoa
      273
      1502
    Aihe