Wahrscheinlichkeit

Lukases2

Aktives Mitglied
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:
Java:
public void wahrscheinlichkeitBerechnen(int p, int u){
wahrscheinlichkeit = (double)(binom(anzahlStudenten-p,u)*binom(p,0))/ (double)binom(anzahlStudenten,u);
}
2. Nutzen Sie dabei die rekursive Implementierung des Binomialkoeffizienten:
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);
}
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:
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:
  1. Darstellung mit Wrapperklassen
  2. Ausgabe der Wahrscheinlichkeit. Die ist doch schon berechnet, oder? Wie gebe ich die dann aus?
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Bildschirmausgaben werden mit System.out.print***(); gemacht.
Das dürfte eigentlich kein Problem sein.


Wrapperklassen sind sowas, wie Math. Dort werden Methoden, wie zum Beispiel round angeboten, um aus deiner Zahl eine Prozentangabe zu machen.
 

Gucky

Top Contributor
Ahhhhhhhhhh Mist. Ich hab Wrapper und Util Klassen verwechselt. :D

Aber es ist auch die Rede von Standartklassen. Und da kann man Math wieder verwenden.
 

Neue Themen


Oben