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!
Apua aloittelijalle ohjelmointitehtävään
5
262
Vastaukset 5
- 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
Ampuminen kylpylässä
Onko vornasen timbe käynyt hiukan kylpemässä vai mikä tämä ampumatapaus on kylpylässä? Tuntuu aika villi meno olevan naa872059Kemijärvellä vesionnettomuus
Pitkänsillan ja taiteilijanniemen välillä nähty henkilön painuvan veden alle. Mitä on tapahtunut? Onko vesihiisi taas as391333Hei, voitko kuunnella
Voisitko auttaa minua selvittämään asioita? En halua ajaa sinua hulluuteen kanssani, en sitoa sinua, en esittää vaatimu1361003Joku porukka lähtenyt täältä
Ihmeen hiljainen on palsta nyt. Yleensä tänne tulvii aloituksia yms, mutta nyt on kyllä erikoisen hiljaista.215938- 81827
- 95813
Olipa yllätys
Kuten hyvin moni tiesi/arvasi että valetta alusta loppuun toi *olemme ystäviä* satu. Instassaan käsi kädessä kuva kertoo215724Se kun olit pitkästä aikaa silmieni edessä
Oli kyllä sykähdyttävää. Tiedätkö, mikä laittaa minut ikävöimään sinua? Kun palautan mieleeni valtavan ihanan olemuksen,52695- 73691
On todella ikävää
Todella ikävää, että asiat ovat menneet tällaisiksi. Tämä ei ollut missään vaiheessa tarkoitukseni. Olen tehnyt virheit79638- 69621
- 35601
- 43571
- 55517
Oletteko koskaan torjuneet kaivattuanne?
Minä olen, kun en silloin tajunnut vielä ihastuneeni. Yritin paikata tapahtunutta, mutta ei onnistunut enää.25467Hämmentävä hetki: TTK:sta pudonnut Johanna Puhakka lataa pettyneenä: "Sitä ei voi kieltää"
Johanna Puhakka ja Jurijs Jurza Trosenko tippuivat Tanssii Tähtien Kanssa -kisasta. Suositussa viihdeohjelmassa nähtiin13459- 35454
Kai sä mies ymmärrät..
..ettet jättänyt vaihtoahtoa. Tottakai toivon vielä, että pystyisit toimimaan niin että asiat korjaantuisivat. Vahvast28452- 33433
- 40427