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

234

    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. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      67
      2415
    2. Tiedän satavarmasti ettet tule koskaan

      Uskaltamaan mitään. Ei me tulla edes näkemään koskaan.
      Ikävä
      66
      1397
    3. Kyläkauppias ajoi kännissä töistä kotiin

      Ei edes kallis auto estä humalassa ajamista, vaikka luulisi alkolukko olevan sellaisessa jo vakiovarusteena. https://ww
      Maailman menoa
      76
      1220
    4. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      5
      1149
    5. Miks me oikein

      Rakastuttiin vaikka kaikki on mahdotonta?
      Ikävä
      79
      865
    6. Kiitos upeasta palvelusta kukkamyyjä

      Kiitos sinulle upea kaunis kukkamyyjä Kuhmon torilla 🌹 Upea iloinen asenteesi ja kaunis hymysi pelasti päiväni ❤️ Jäi
      Kuhmo
      19
      860
    7. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      44
      713
    8. Ratikka Turkuun

      Ei hyvä. Ja syy on siinä , kukaan ei osaa suunnitella oikeaa reittiä. Pitää huomioide, kiskoja sijaintia ei voi muutta
      Turku
      83
      682
    9. Miehet trikoissaan

      On se kauhian näkköistä, kun miehet tiukossa trikkoissa juoksentelloo ja mulukku paestaa trikkoijjen läpi. Kahtokkee pe
      Suomussalmi
      26
      668
    10. Rakastan sinua

      Yhä.
      Ikävä
      30
      656
    Aihe