Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [07.10.2021 08:53] – [2)] sbel | faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Array-Operationen ====== | ||
- | |||
- | Das blueJ-Projekt enthält eine Klasse '' | ||
- | |||
- | |||
- | * [[https:// | ||
- | |||
- | ===== Aufgaben ===== | ||
- | |||
- | ==== 1) ==== | ||
- | |||
- | |||
- | Verschaffe dir einen Überblick über die gegebenen Methoden. | ||
- | |||
- | * Was bewirkt die Zeile '' | ||
- | * Wie funktioniert die Methode '' | ||
- | * Welche Werte liefert '' | ||
- | * Wie muss der Aufruf lauten, um Zufallszahlen zwischen 1 und 50 zu erhalten? | ||
- | * Wie kann man Vorgehen, um auch den Wert 0 in der Zufallsreihe zu erhalten? | ||
- | |||
- | ==== 2) ==== | ||
- | |||
- | Schreibe jeweils eine Methode, die... | ||
- | |||
- | - die Summe aller Werte im Array bestimmt und zurückgibt. | ||
- | - die Anzahl der Nullen im Array bestimmt und zurückgibt. | ||
- | - 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. | ||
- | - 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. | ||
- | - prüft, ob das Array mindestens eine 1 enthält. | ||
- | - 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 '' | ||
- | - 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. | ||
- | - die zweitgrößte Zahl des Arrays bestimmt und zurückgibt. | ||
- | - Jedes Element des Arrays soll um 1 erhöht werden. | ||
- | - 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 " | ||
- | - Das Array soll umgedreht werden. | ||
- | |||
- | ++++ Lösungsvorschläge Aufgaben 1-7 | | ||
- | |||
- | <code java> | ||
- | /** | ||
- | * aufaufgabe01Summe() berechnet die Summe aller Arrayelemente | ||
- | | ||
- | * @return Summe aller Arrayelemente | ||
- | */ | ||
- | public int aufgabe01Summe() | ||
- | { | ||
- | int summe = -1; | ||
- | for (int i=0; i< | ||
- | summe = summe + daten[i]; | ||
- | } | ||
- | return summe; | ||
- | } | ||
- | |||
- | /** | ||
- | * aufgaufgabe02ZaehleNullen() Gibt die Zahl den Nullen im Array zurück | ||
- | | ||
- | * @return Zahl der Nullen | ||
- | */ | ||
- | public int aufgabe02ZaehleNullen() | ||
- | { | ||
- | int numNull = 0; | ||
- | for (int i=0; i< | ||
- | if ( daten[i] == 0 ) { | ||
- | numNull++; | ||
- | } | ||
- | } | ||
- | return numNull; | ||
- | } | ||
- | |||
- | /** | ||
- | * aufgabe03FindeLetzteNull() Gibt den Index des Elements mit der letzten Null zurück | ||
- | | ||
- | * @return Index des Elements mit der letzten Null | ||
- | */ | ||
- | public int aufgabe03FindeLetzteNull() | ||
- | { | ||
- | int letzteNullIndex = -1; | ||
- | for(int i=0; i< | ||
- | if ( daten[i] == 0 ){ | ||
- | letzteNullIndex = i; | ||
- | } | ||
- | } | ||
- | return letzteNullIndex; | ||
- | } | ||
- | | ||
- | /** | ||
- | | ||
- | | ||
- | * @return Index des Elements mit der ersten Null | ||
- | */ | ||
- | public int aufgabe04FindeErsteNull() | ||
- | { | ||
- | | ||
- | for(int i=0; i< | ||
- | if ( daten[i] == 0 ){ | ||
- | return i; | ||
- | } | ||
- | } | ||
- | return -1; | ||
- | } | ||
- | | ||
- | /** | ||
- | | ||
- | | ||
- | * @return Wahr, | ||
- | */ | ||
- | public boolean aufgabe05Enthaelt1() | ||
- | { | ||
- | | ||
- | if ( daten[i] == 1 ){ | ||
- | return true; | ||
- | } | ||
- | } | ||
- | return false; | ||
- | } | ||
- | |||
- | /** | ||
- | | ||
- | | ||
- | | ||
- | * @return Wahr, | ||
- | */ | ||
- | public boolean aufgabe06Enthaelt2Und5() | ||
- | { | ||
- | boolean enthaelt2 = false; | ||
- | boolean enthaelt5 = false; | ||
- | | ||
- | | ||
- | if ( daten[i] == 2 ) { | ||
- | enthaelt2 = true; | ||
- | } | ||
- | | ||
- | if ( daten[i] == 5 ) { | ||
- | enthaelt5 = true; | ||
- | } | ||
- | } | ||
- | | ||
- | return (enthaelt2 && enthaelt5); | ||
- | | ||
- | } | ||
- | | ||
- | /** | ||
- | | ||
- | | ||
- | | ||
- | * @return Wahr, | ||
- | | ||
- | public boolean aufgabe07EnthaeltFixpunkt() | ||
- | { | ||
- | for(int i=0; i< | ||
- | if ( daten[i] == i ){ | ||
- | return true; | ||
- | } | ||
- | } | ||
- | return false; | ||
- | | ||
- | } | ||
- | </ | ||
- | ++++ | ||
- | |||
- | |||
- | ++++ Lösungsvorschlag Aufgabe 8 | | ||
- | |||
- | <code java> | ||
- | /** | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * @return | ||
- | | ||
- | public int aufgabe08ZaehleWiederholungen() | ||
- | { | ||
- | int numWdh = 0; | ||
- | for(int i=0; i< | ||
- | if (daten[i] == daten[i+1]) { | ||
- | numWdh++; | ||
- | } | ||
- | } | ||
- | return numWdh; | ||
- | } | ||
- | |||
- | </ | ||
- | |||
- | ++++ |