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

169

    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. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      85
      1758
    2. Perusmuotoiset TV-lähetykset loppu

      Nyt sanoo useiden HD-muotoistenkin kanavien kohdalla äly-TV, ettei kanava ole käytössä, haluatko poistaa sen? Kanavia
      Apua aloittelijalle
      120
      1174
    3. YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua

      Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä
      Äänekoski
      58
      1036
    4. No ei sun asunto eikä mikään

      muukaan sussa ole erikoista. 🤣 köyhä 🤣
      Ikävä
      62
      926
    5. Hyvin. Ikävää nainen,

      Että vainoat ja stalkkaat miestäni.onko tarkoituksesi ehkä saada meidät eroamaan?no,siinä et tule onnistumaan
      Ikävä
      74
      836
    6. Mitä mietit Honey?

      Kulta nainen ❤️❤️
      Ikävä
      57
      790
    7. Uskomaton tekninen vaaliliitto poimii rusinoita pullasta

      Korni näytösesitelmä menossa kaupunginvaltuustossa. Juhlia ei ole kokouksista tiedossa muilla, kuin monipuolue paikalli
      Pyhäjärvi
      78
      789
    8. Linnasuolla poliisi operaatio

      Kamalaa menoa taas meidän ihanassa kaupungissa. https://www.uutisvuoksi.fi/paikalliset/8646060
      Imatra
      29
      786
    9. Missä kaikessa olet erilainen

      Kuin kaivattusi? Voin itse aloittaa: en ole vegaani kuten hän. Enkä harrasta tietokonepelejä lainkaan.
      Ikävä
      39
      757
    10. Katsoin mies itseäni rehellisesti peiliin

      Ja pakko on myöntää, että rupsahtanut olen 😆. Niin se ikä saavuttaa meidät kaikki.
      Ikävä
      43
      756
    Aihe