mittlelwert ohne umwege erechnen möglich?
-
bsp. mit faktor ein drittel:
summe = 2 + 3 + 4*1/3
bemerkung: entspricht 1/3 einer klausur also 4/3 ein test
summe = 19/3demnach beträgt die anzahl 5 1/3 (5 ganze ein drittel)
dann quotient von summe durch anzahl ermitteln ergibt:
mittelwert = 3,8
so ist das nicht implementierbar (bezogen auf meine skills).
was ich aber benötige ist eine formel, die durch die anzahl den faktor in dem fall 1/3 überflüssig macht. dann könnte ich ein programm entwickeln dass erst die eingabe also die zensur der klausur der reihe nach ermittelt und sie dann entsprechend durch die anzahl dividiert. die benötigte anzahl sollte sich rasch ermitteln lassen können.
z.b:
gegeben:
klausuren: A = 2 und B = 3 (Klausuren zählen zu 100%)
tests: A = 2 und B = 4 (Tests entsprechen 1/3 oder 1/2 einer klausur je nach dem)gesucht: mittelwert
R.:
mittelwert = summe / anzahl die die faktoren beinhaltet so wird die oben gerechnete rechnung überflüssig und das programm wird dadurch leichter implementierbar
ich hoffe ich konnte mich verständlich genug ausdrücken
edit: oder egal wie hauptsache ich muss keine zusätliche abfrage (faktor) einbauen wäre außerdem zu umständlich
-
ähm, was? Wenn der Faktor eine Konstante ist, brauchts keine Abfrage, wenn doch, dann doch.
-
cj_cratch schrieb:
bsp. mit faktor ein drittel:
summe = 2 + 3 + 4*1/3
bemerkung: entspricht 1/3 einer klausur also 4/3 ein test
summe = 19/3demnach beträgt die anzahl 5 1/3 (5 ganze ein drittel)
Die gewichtete Summe beträgt 6 1/3 die Summe der Gewichte wäre 2 1/3, wie Du auf 5 1/3 kommst ist mir unklar.
cj_cratch schrieb:
dann quotient von summe durch anzahl ermitteln ergibt:
mittelwert = 3,8
..
macht gar keinen Sinn, welche zwei Zahlen hast Du hier durch einander geteilt?
Ich vermute mal, dass Du einen gewichteten Mittelwert suchst. Die Formel dafür ist
m = Summe( w_i * a_i ) / Summe( w_i )
wobei a_i der Wert eines Elements i und w_i die zugehörige Gewichtung ist.
cj_cratch schrieb:
gegeben:
klausuren: A = 2 und B = 3 (Klausuren zählen zu 100%)
tests: A = 2 und B = 4 (Tests entsprechen 1/3 oder 1/2 einer klausur je nach dem)gesucht: mittelwert
Nach obiger Formel wäre dies (Tests sollen 1/3 zählen):
m = (1* 2 + 1* 3 + 1/3* 2 + 1/3* 4) / ( 1 + 1 + 1/3 + 1/3 ) = (21/3) / (8/3) = 21/8 = 2 5/8 = 2,625
nur so zum Vergleich: würden Tests und Klausuren das gleiche zählen, so wäre der Mittelwert m = (2+3+2+4)/4 = 11/4 = 2,75 - da die Tests weniger zählen, zieht der Test mit 4 den Mittelwert nicht so weit runter, also ist der gewichtete Mittelwert in diesem Fall etwas niedriger.
cj_cratch schrieb:
ich hoffe ich konnte mich verständlich genug ausdrücken
Äh - nein.
Gruß
Werner
-
Thracian schrieb:
ähm, was? Wenn der Faktor eine Konstante ist, brauchts keine Abfrage, wenn doch, dann doch.
nö, keine konstante (wäre meiner meinung nach zu unkonfortable)!
wie Du auf 5 1/3 kommst ist mir unklar.
jap, war ein dummer leichtsinnsfehler! zwei ein drittel!
m = Summe( w_i * a_i ) / Summe( w_i )
kann mann diese faktoren bzw. brüche nicht irgendwie umgehen? es wäre ja blöd beim programm ständig eine zusätzliche eingabe zu machen. nenner ermitteln auch bei ganzen zahlen hmmm... darum geht es eigentlich ! die brüche irgendwie zu umgehen und stattdessen andere konfortablere tricks anzuwenden...
-
cj_cratch schrieb:
nenner ermitteln auch bei ganzen zahlen hmmm... darum geht es eigentlich ! die brüche irgendwie zu umgehen und stattdessen andere konfortablere tricks anzuwenden...
äh. also ist nur 1+1+1/3 = 7/3 das problem?
normalerweise baut man programme, die da einfach fließkommazahlen, zum beispiel vom typ double, verwenden. die ausgabe wäre dann nicht 2 5/8 sondern 2,625. wenn ein paar dumme gewichte mitspielen, haste eh ruck zuck große nenner und statt 2 5/6 will man ja lieber 2,833333 lesen.
-
volkard schrieb:
cj_cratch schrieb:
nenner ermitteln auch bei ganzen zahlen hmmm... darum geht es eigentlich ! die brüche irgendwie zu umgehen und stattdessen andere konfortablere tricks anzuwenden...
äh. also ist nur 1+1+1/3 = 7/3 das problem?
normalerweise baut man programme, die da einfach fließkommazahlen, zum beispiel vom typ double, verwenden. die ausgabe wäre dann nicht 2 5/8 sondern 2,625. wenn ein paar dumme gewichte mitspielen, haste eh ruck zuck große nenner und statt 2 5/6 will man ja lieber 2,833333 lesen.
nein eben auch keine fließkommazahlen bitte! ich suche nach einem geschickten mathematischen und konfortabelen trick der es ermöglicht die eingabe ohne brüche und ohne aufwändige fließkommazahlen zu ermöglichen.
warum es unkonfortabel wäre brüche bzw. fließkommazahlen zu arbeiten der user muss bei jedem test der 1/3 zählt 5 * 1/3 bsp. rechnen was meiner meinung nach zu unpraktisch wäre.
**
ich möchte deshalb diese brüche (fließkommazahlen in bezug auch die faktoren) umgehen falls das möglich ist**mfg
aXYZn
-
Aufwendige Fließkommazahlen? Oo
Warum muss der User überhaupt was rechnen? Btw, deine Problemerörterung im ersten Posting ist schon arg unter aller Sau, imho... Wer soll denn da auf einen Blick verstehen, was du willst?
-
C Programm:
//benötigte header main() { double zensur, anzahl, akt_summe; anzahl = 0; do { scanf("%lf",&zensur); akt_summe += zensur [b]anzahl++;[/b] printf("%lf",akt_summe/anzahl); } while(getch() != 27); // Esc }
also wie mann sieht macht der user nur 1ne eingabe und falls er dann doch tests dazuzählen muss, muss er dies leider sepperat machen z.b mithilfe eines tr's oder im kopf. was ich nun brauche ist ein konfortabler mathematischer trick der es erlaubt ganz leicht statt 5 x 1/3 einfach 5 + 3 (3 wegen dem nenner) dass eben der user weiß falls es sich um ein test handelt muss ich so und so viel dazu zählen. demnach fallen brüche und unpraktische rechnungen weg (falls es möglich sein sollte)!
dass oben erwähnte diente nur zur verdeutlichung!
edit: oder kurz ausgedrückt suche formel mit der es möglich ist ohne brüche und co zu rechnen stattdessen mit konfortablen tricks (im bezug auf das vorgegebene programm)
-
WTF? Wie kann man sich an der Programmierung versuchen, wenn es schon an der Formulierung des Problems scheitert?
-
was verstehst du denn nicht an meiner formulierung?
wie gesagt ich suche eine mathematische formel mit der es möglich ist praktische rechnungen durchzuführen.
mit praktisch ist gemeint statt beispielsweise mit brüchen mit einem mathematischen trick.bsp.:
mittelwert oder durchschnitt = summe/anzahl
nehmen wir mal an xy hat in einem test eine note 4 bekommen und in einer klausur eine 1 nun ist ihm bekannt das ein test 1/3 einer klausur entspricht das bedeutet dass er ingsgesamt 1 1/3 = 4/3 klausuren geschrieben hat die summe beträge dementsprechend 1 + 4/3 = 7/3.
=> durchschnitt = 7/3 / 4/3 = 1,75
eben dass ist ja das problem DIE 7/3 und die 4/3 und um dieses problem zu lösen brauch ich eine entsprechende formel.
-
Ich verstehe es leider auch nicht...
Was soll denn dieser 'mathematische Trick' machen?
In deinem Beispiel soll er 1,75 ausgeben, aber ohne Brüche zu verwenden oder wie?Ein Bruch kannst du dir sparen, indem du Test statt mit 1/3 mit 1 wertest und Klausur dann entsprechend mit 3, also
MW = (1 * 3 + 4 * 1) / 4
-
1,75 ausgeben, aber ohne Brüche zu verwenden oder wie?
exakt!
Ein Bruch kannst du dir sparen, indem du Test statt mit 1/3 mit 1 wertest und Klausur dann entsprechend mit 3, also
MW = (1 * 3 + 4 * 1) / 4
ah... das sieht schon mal nach etwas aus, dankeschön!
mfg
-
Aber wen kümmern denn Brüche, wenn er sie eh nie zu gesicht bekommt?
-
MW = (1 * 3 + 4 * 1) / 4
-was ich halt noch nicht verstehe ist der nenner 4 ist es die note 4 im test?
-kann mann damit auch NUR klausuren berechnen wenn ja wie?edit: eine verallgemeinerung deiner formel wäre nicht schlecht!
mfg
aXYZn
-
Allgemein:
(KlausurNote1_1 * K-Wertung(hier 3) + KlausurNote1_2 * K-Wertung(hier 3) + ... + TestNote1_1 * T-Wertung(hier 1) ...) / AnzahlKlausuren * K-Wertung + AnzahlTests * T-Wertung
Zwei Klausuren mit den Noten 2 und 4 wäre dann z.B.:
(2 * 3 + 4 * 3)/(2 * 3) = 18 / 6 = 3
-
Oder schöner:
( K-Wertung *( K-Note1 + KNote2 +...) + T-Wertung *(T-Note1 + T-Note2 +...)) / (AnzK * K-Wertung + AnzT * T-Wertung)
-
cj_cratch schrieb:
1,75 ausgeben, aber ohne Brüche zu verwenden oder wie?
exakt!
Lol!
Denk mal nochmal genau über diese Aussage nach...
-
Bruchrechnung, Hauptnenner, Erweitern ... sind hoffentlich keine Fremdworte.
-
die hier vorgeschlagene variante, bereits vorher mit dem hauptnenner zu multiplizieren, geht nur, wenn schon vorher alle moeglichen wichtungen bekannt sind. denn wenn du klasuren 3 und tests 1 wertest und es dann auch sagen wir "schwere tests" die eigentlich 1/2 wert waeren gibt, bist du wieder bei 1.5..
ich muss aber sagen, ich habe das problem auch noch nicht erfasst.
was spricht dagegen, die faktoren mit eingeben zu lassen?
oder wenn es sehr viele noten sind, ein sonderzeichen einfuehren, welches angibt, dass nun ein faktor eingegeben wird, der fuer alle folgenden noten gelten soll.