/* Interaktives Arbeitsblatt zu Feldern. (C) Konle und Zerr
Beachte die Arbeitsaufträge in den Kommentaren,
bitte notiert eure Ansätze/Lösungen/ Ideen ebenfalls innerhalb der
Kommentarumgebung */
public class FelderInJava {
// Zunächst möchten wir einige Felder initieren
// Zunächst der Notenspiegel für eine wirklich benotete Englischklausur
static int[] notenspiegel = {0,1,4,3,0,5,8,4,1,3,3,2,1,2,3,0};
static int[] notenspiegelMathe = new int[16]; // Mathe: 16 Felder alle auf Null;
static int[] notenspiegelInfo = new int[16]; // Info: 16 Felder alle auf Null;
static int anzahlsus = 20; // Die Anzahl der Schülerinnen und Schüler im Kurs.
/* 1) Ordne die Bestandteile der obigen Variablenzuweisungen
den Modellbegriffen: Brett, Becher, Inhalt zu.
Wenn man sich gut mit Feldern auskennt, kann man natürlich schneller
große Zahlenmengen manipulieren. Die Lehrer Zerr (Mathe) und Konle (Info)
würfeln beispielsweise mit Javaprogrammen ihre Noten so aus, dass
es der Schulleitung nicht auffällt. Für ihre Programme brauchen sie
zunächst beiden die folgenden Methoden:
*/
static int zufallsWürfel() {
return (int) (Math.random()*6 + 1);
}
static int zufallsNote() {
return (int) (Math.random()*16);
}
/*
Folgende Methoden dienen erstmal
nur der Ausgabe in der Konsole, bitte zunächst ignorieren. In der Main
geht es weiter
*/
static void notenspiegeldruck() {
System.out.println("Notenspiegel Englischleherer |(Punkte Note)|");
for(int i=0; i < notenspiegel.length; i++) {
System.out.print(i+" "+notenspiegel[i]+"|");
}
System.out.println("");
System.out.println("Notenspiegel Informatikleherer |(Punkte Note)|");
for(int i=0; i < notenspiegelInfo.length; i++) {
System.out.print(i+" "+notenspiegelInfo[i]+"|");
}
System.out.println("");
System.out.println("Notenspiegel Matheleherer |(Punkte Note)|");
for(int i=0; i < notenspiegelMathe.length; i++) {
System.out.print(i+" "+notenspiegelMathe[i]+"|");}
}
public static void main(String args[]) {
/* ... hier gehts weiter */
System.out.println(notenspiegel[4]);
/*
3) Prüfe, welche Zahl ausgegeben wird. Gib die Zahl an,
die sich hinter notenspiegel[7] verbirgt.
4) Erkläre, warum notenspiegelMathe[7] den Wert 0 hat.
*/
System.out.println(notenspiegel.length);
/*
Jedes Feld, hat ein Attribut vom Typ INT mit dem Namen length.
5) Untersuche was notenspiegel.length bedeutet.
Was kann man tun, damit dieser Wert 6 ist.
*/
for(int i=0; i < 10; i++) {
System.out.print(i+" "+notenspiegel[i]);
}
/*
Obige Schleife soll alle Noten in die Konsole schreiben, was leider nicht
richtig funktioniert.
6) Berichtige die for Schleife, sodass alle Noten ausgegben werden
*/
/*
Nun geht es darum herauszufinden, ob die gewürfelten Noten von Herrn Konle
oder von Herrn Zerr der Schulleitung weniger auffällig sind.
7) Erkläre in eigenen Worten, welche Werte die Methoden
zufallsWürfel() und zufallNote() zurückgeben.
*/
System.out.println(); // Zeilenumbruch
// Das ist das Notenwürfelprogramm von Herrn Konle
for(int i=0; i < anzahlsus; i++) {
int note = zufallsWürfel() + zufallsWürfel()+zufallsWürfel() - 3;
notenspiegelInfo[note]++;
}
// Das ist das Notenwürfelprogramm von Herrn Zerr
for(int i=0; i < anzahlsus; i++) {
int note = zufallsNote();
notenspiegelMathe[note]++;
}
/*
8) Beschreibe die Betrügerein in eigenen Worten.
TIPP: Teste die Programme: Bitte lösche // vor dem Methodenaufruf
von notenspiegeldruck(); Dann werden Dir die Notenspiegel Englisch/
Mathe und Info angezeigt. Begründe welcher Lehrer am besten betrogen hat,
sodass die Schulleitung nichts merkt.
*/
// notenspiegeldruck();
/*
Zusatz:
9) Bestimme den Notenschnitt
10) Wie lassen sich Nachschreibener hinzufügen?
*/
}
}