e2:einfuehrung_felder_und_arrays

/* 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?   
 
    */
  }   
}
  • /var/www/infowiki/data/pages/e2/einfuehrung_felder_und_arrays.txt
  • Zuletzt geändert: 2022/08/19 07:17
  • von admin03