Aufgabe: Auswahl von Studenten
Sie betrachten folgendes Szenario:
In einer Übungsgruppe befinden sich 30 Studenten, doch nur 10 von ihnen können wirklich sicher programmieren. Von nun an soll zu jeder Übungsaufgabe eine Lösung von einem zufällig ausgewählten Studenten der Gruppe präsentiert werden.
Frage: Wie wahrscheinlich ist es das ein nicht so guter Programmierer vortragen muss?
Implementieren Sie die benötigten Attribute, Konstruktoren und Methoden in einer Klasse Uebungsgruppe. Beachten Sie hierbei folgende 5 Hinweise:
1. Folgende Methode berechnet Ihnen die Wahrscheinlichkeit dafür, dass ein Student ausgewählt wird, der nicht gut programmieren kann. Voraussetzung hierfür ist: p aus anzahlStudenten Studenten können programmieren und es gibt in der Stunde u Übungsaufgaben:
2. Nutzen Sie dabei die rekursive Implementierung des Binomialkoeffizienten:
3. Passen Sie ihre Klasse Uebungsgruppe soweit an, dass ein Konstruktor die nicht-öffentlichen Attribute anzahlStudenten und wahrscheinlichkeit initialisiert.
4. Überladen Sie diesen Konstruktor, indem Sie eine Methode anwesenheit() schreiben und verwenden um dem Attribut anzahlStudenten eine Zufallszahl zwischen 25 und 30 zuzuordnen.
5. Entwerfen Sie außerdem mithilfe von Standard- und Wrapperklassen eine Methode zur anschauliche Bildschirmausgabe der Lösung:
z.B. Wahrscheinlichkeit: 0,365085 => Ausgabe: 36,51%
Testen Sie schließlich ihre Implementierung in einer Klasse UebungMain und beantworten Sie die Frage.
Folgendes habe ich dazu geschrieben:
Probleme habe ich bei:
Sie betrachten folgendes Szenario:
In einer Übungsgruppe befinden sich 30 Studenten, doch nur 10 von ihnen können wirklich sicher programmieren. Von nun an soll zu jeder Übungsaufgabe eine Lösung von einem zufällig ausgewählten Studenten der Gruppe präsentiert werden.
Frage: Wie wahrscheinlich ist es das ein nicht so guter Programmierer vortragen muss?
Implementieren Sie die benötigten Attribute, Konstruktoren und Methoden in einer Klasse Uebungsgruppe. Beachten Sie hierbei folgende 5 Hinweise:
1. Folgende Methode berechnet Ihnen die Wahrscheinlichkeit dafür, dass ein Student ausgewählt wird, der nicht gut programmieren kann. Voraussetzung hierfür ist: p aus anzahlStudenten Studenten können programmieren und es gibt in der Stunde u Übungsaufgaben:
Java:
public void wahrscheinlichkeitBerechnen(int p, int u){
wahrscheinlichkeit = (double)(binom(anzahlStudenten-p,u)*binom(p,0))/ (double)binom(anzahlStudenten,u);
}
Java:
public int binom(int n, int k){
if (k==0||k==n) return 1;
else return binom(n-1,k) + binom(n-1,k-1);
}
4. Überladen Sie diesen Konstruktor, indem Sie eine Methode anwesenheit() schreiben und verwenden um dem Attribut anzahlStudenten eine Zufallszahl zwischen 25 und 30 zuzuordnen.
5. Entwerfen Sie außerdem mithilfe von Standard- und Wrapperklassen eine Methode zur anschauliche Bildschirmausgabe der Lösung:
z.B. Wahrscheinlichkeit: 0,365085 => Ausgabe: 36,51%
Testen Sie schließlich ihre Implementierung in einer Klasse UebungMain und beantworten Sie die Frage.
Folgendes habe ich dazu geschrieben:
Java:
package bpack;
public class Uebungsgruppe {
double wahrscheinlichkeit;
int anzahlStudenten = 30;
int p;
int u;
// Kriterium 1
public void wahrscheinlichkeitBerechnen(int p, int u){
wahrscheinlichkeit = (double)(binom(anzahlStudenten-p,u)*binom(p,0))/ (double)binom(anzahlStudenten,u);
}
//Kriterium 2
public int binom(int n, int k){
if (k==0||k==n) return 1;
else return binom(n-1,k) + binom(n-1,k-1);
}
// Kriterium 3
public Uebungsgruppe(double a /*anzahlStudenten*/, double w /*wahrscheinlichkeit*/){
a = anzahlStudenten;
w = wahrscheinlichkeit;
}
// Kriterium 4
public static double anwesenheit(){
return (int) (30 - Math.random()*5);
}
//Kriterium 5
// fehlt noch ...
}
Probleme habe ich bei:
- Darstellung mit Wrapperklassen
- Ausgabe der Wahrscheinlichkeit. Die ist doch schon berechnet, oder? Wie gebe ich die dann aus?
Zuletzt bearbeitet: