faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [12.02.2020 11:44] sbelfaecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [07.10.2021 07:32] (aktuell) – [2)] sbel
Zeile 2: Zeile 2:
  
  
-Die App unten enthält eine Klasse ''Zahlenreihe'', die ein Array von int-Zahlen speichert und mit Zufallswerten füllt. Beim Anlegen von Zahlenreihe-Objekten musst du angeben, wie viele Elemente die Zahlenreihe enthalten soll. Eventuell muss man für einzelne Aufgaben den Parameter der Methode getZufallszahl(...) anpassen.+Das blueJ-Projekt enthält eine Klasse ''zufallsreihe'', die ein Array von int-Zahlen speichert und mit Zufallswerten füllt. Beim Anlegen von zufallsreihe-Objekten musst du angeben, wie viele Elemente die Zufallsreihe enthalten soll. Eventuell muss man für einzelne Aufgaben den Parameter der Methode getZufallszahl(...) anpassen oder den Quellcode geschickt ändern. 
 + 
 + 
 +  * [[https://codeberg.org/qg-info-unterricht/arrays02_uebungen|BlueJ Projekt Arrays]]
  
 ===== Aufgaben ===== ===== Aufgaben =====
Zeile 9: Zeile 12:
  
  
-Verschaffe dir einen Überblick über die Methoden der App.+Verschaffe dir einen Überblick über die gegebenen Methoden.
  
-  * Was bewirkt die Zeile ''this.anzahl = anzahl;'' im Onstruktor der Klasse Zahlenreihe?+  * Was bewirkt die Zeile ''this.anzahl = anzahl;'' im Konstruktor der Klasse Zahlenreihe?
   * Wie funktioniert die Methode ''getZufallszahl(max)''   * Wie funktioniert die Methode ''getZufallszahl(max)''
     * Welche Werte liefert ''getZufallszahl(100)'' zurück?      * Welche Werte liefert ''getZufallszahl(100)'' zurück? 
Zeile 19: Zeile 22:
 ==== 2) ==== ==== 2) ====
  
-Schreiben jeweils eine Methode, die... +Schreibe jeweils eine Methode, die...  Teste deine Methoden durch entsprechende Aufrufe in der main Methode.
- +
-    1. die Summe aller Werte im Array bestimmt und zurückgibt. +
-    2. die Anzahl der Nullen im Array bestimmt und zurückgibt. +
-    3. den Index bestimmt, an dem sich die letzte 0 des Arrays befindet und diesen zurückgibt. Falls keine 0 enthalten ist, soll -1 zurückgegeben werden. +
-    4. den Index bestimmt, an dem sich die erste 0 des Arrays befindet und diesen zurückgibt. Falls keine 0 enthalten ist, soll -1 zurückgegeben werden. +
-    5. prüft, ob das Array mindestens eine 1 enthält. +
-    6. prüft, ob das Array mindestens eine 2 und mindestens eine 5 enthält. +
-    7. prüft, ob das Array einen Fixpunkt enthält. Ein Fixpunkt ist ein Element, das gleich seinem Index ist, d.h. es muss daten[i] == i gelten. +
-    8. die Anzahl der Wiederholungen bestimmt und zurückgibt. Eine Wiederholung liegt vor, wenn zwei aufeinanderfolgende Elemente des Arrays den gleichen Wert haben. +
-    9. die Anzahl der Dreier-Wiederholungen bestimmt und zurückgibt. Hier müssen drei aufeinanderfolgende Elemente gleich groß sein. +
-    10. die Länge der längsten Serie des Arrays bestimmt und zurückgibt. Eine Serie sind mehrere direkt aufeinanderfolgende Elemente, die den gleichen Wert haben. +
-    11. die zweitgrößte Zahl des Arrays bestimmt und zurückgibt. +
- +
- +
-<code java App.java> +
-/** +
- * Erzeugt eine Zufallsreihe und ermöglicht Abfragen darüber. +
- *  +
- * @author Rainer Helfrich  +
- * @author Frank Schiebel +
- * @version 1.0 +
- */ +
-class Zufallsreihe +
-+
-    private int[] daten; +
-    int anzahl; +
-     +
-    public Zufallsreihe(int anzahl) +
-    { +
-        this.anzahl = anzahl; +
-        daten = new int[anzahl]; +
-        for (int i = 0; i < daten.length; i++) +
-        { +
-            // Für manche Aufgaben sollte man die 6 durch z.B1000 ersetzen +
-            daten[i] = getZufallszahl(6); +
-        } +
-    } +
-     +
-    public int aufgabe01Summe() +
-    { +
-        return 0; +
-    } +
-     +
-    public int aufgabe02ZaehleNullen() +
-    { +
-        return 0; +
-    } +
-     +
-    public int aufgabe03FindeLetzteNull() +
-    { +
-        return 0; +
-    } +
-     +
-    public int aufgabe04FindeErsteNull() +
-    { +
-        return 0; +
-    } +
-     +
-    public boolean aufgabe05Enthaelt1() +
-    { +
-        return false; +
-    } +
-     +
-    public boolean aufgabe06Enthaelt2Und5() +
-    { +
-        return false; +
-    } +
-     +
-    public boolean aufgabe07EnthaeltFixpunkt() +
-    { +
-        return false; +
-    } +
-     +
-    public int aufgabe08ZaehleWiederholungen() +
-    { +
-        return 0; +
-    } +
-     +
-    public int aufgabe09ZaehleDreierWiederholungen() +
-    { +
-        return 0; +
-    } +
-     +
-    public int aufgabe10LaengsteSerie() +
-    { +
-        return 0; +
-    } +
-     +
-    public int aufgabe11Zweitgroesste() +
-    { +
-        return 0; +
-    } +
-     +
-    public void aufgabe12Plus1() +
-    { +
-         +
-    } +
-     +
-    public void aufgabe13NullZuHundert() +
-    { +
-         +
-    } +
-     +
-    public void aufgabe14Rotation() +
-    { +
-         +
-    } +
-     +
-    public void aufgabe15Umdrehen() +
-    { +
-         +
-    }+
  
-     +  - die Summe aller Werte im Array bestimmt und zurückgibt. 
-     /** dient zum Anzeigen der Reihung am Bildschirm; +  - die Anzahl der Nullen im Array bestimmt und zurückgibt. 
-     * kann durch INSPECT ersetzt werden */ +  - den Index bestimmt, an dem sich die letzte 0 des Arrays befindet und diesen zurückgibt. Falls keine 0 enthalten ist, soll -1 zurückgegeben werden. 
-    public void anzeigen() { +  - den Index bestimmt, an dem sich die erste des Arrays befindet und diesen zurückgibt. Falls keine 0 enthalten ist, soll -1 zurückgegeben werden. 
-        for (int i=0; i< anzahl; i++) { +  - prüft, ob das Array mindestens eine 1 enthält. 
-             System.out.println( i + " :  " + daten[i]);  +  - prüft, ob das Array mindestens eine 2 und mindestens eine 5 enthält. 
-        } +  - prüft, ob das Array einen Fixpunkt enthält. Ein Fixpunkt ist ein Element, das gleich seinem Index ist, d.h. es muss ''daten[i] == i'' gelten. 
-        +  - die Anzahl der Wiederholungen bestimmt und zurückgibt. Eine Wiederholung liegt vor, wenn zwei aufeinanderfolgende Elemente des Arrays den gleichen Wert haben. 
-     +  - die Anzahl der Dreier-Wiederholungen bestimmt und zurückgibt. Hier müssen drei aufeinanderfolgende Elemente gleich groß sein. 
-    /** +  - die Länge der längsten Serie des Arrays bestimmt und zurückgibt. Eine Serie sind mehrere direkt aufeinanderfolgende Elemente, die den gleichen Wert haben. 
-     * Gibt eine Zufallszahl zwischen 0 und grenze-1 zurück+  - die zweitgrößte Zahl des Arrays bestimmt und zurückgibt. 
-     */ +  Jedes Element des Arrays soll um erhöht werden
-    private int getZufallszahl(int grenze) +  - Jede 0 im Array soll durch eine 100 ersetzt werden. 
-    { +  - Jedes Element des Arrays soll um eine Stelle nach vorne gerückt werden. Das erste Element soll an die letzte Stelle gesetzt werden. Diese Operation nennt man "Rotation"
-        return (int)(grenze*Math.random()+1); +  - Das Array soll umgedreht werden.
-    } +
-     +
-}+
  
 +----
  
-/* App Klasse. Steuerklasse für unser Programm */ +[[.lsg:start|Lösungsvorschläge Übungen 3]]
-public class App { +
-  +
-    public static void main(String[] args) { +
-        Zufallsreihe reihe1 = new Zufallsreihe(100); +
-        reihe1.anzeigen();    +
-    } +
-  +
-+
- +
  
-</code> 
  • faecher/informatik/oberstufe/java/algorithmen/arrays/uebungen3/start.1581507869.txt.gz
  • Zuletzt geändert: 12.02.2020 11:44
  • von sbel