Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen2:start [15.03.2021 16:57] – sbel | faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen2:start [05.10.2021 18:19] (aktuell) – sbel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
==== Arrays: Übungen 2 ==== | ==== Arrays: Übungen 2 ==== | ||
- | Gegeben ist die Klasse | + | Gegeben ist die Klasse |
- | === Aufgaben: | ||
- | * **(1)** Beschreibe, was die Methode " | + | * [[https://codeberg.org/qg-info-unterricht/arrays02_uebungen|BlueJ Projekt Arrays]] |
- | * **(2)** Beschreibe zunächst ohne ausprobieren, | + | |
- | * //wasMacheIch(33)// | + | |
- | * Teste deine Antworten | + | |
- | * **(3)** Erstelle je eine Methode, | ||
- | * a) die in das Element mit Index 4 den Gewichtswert 44.4444 eintraegt. | ||
- | * b1) die die Summe der Gewichte der Elmente an den Indizes 16,17,18 zurueckgibt. | ||
- | * b2) die die Summe der Gewichte der letzten 33 Elemente zurueckgibt. | ||
- | * c) die in ein Element, dessen Index man vorgeben kann, den Gewichtswert 55.55555 eintraegt. | ||
- | * d) die in ein Element, dessen Index man vorgeben kann, einen Gewichtswert eintraegt, den man vorgeben kann. | ||
- | | ||
- | | ||
- | * 4. Die Methode " | ||
- | | ||
- | | ||
- | | ||
- | */ | ||
- | |||
- | |||
- | / | ||
- | | ||
- | * | ||
- | * // ---Z ------ | ||
- | | ||
- | * 5. Erstellen Sie eine Methode, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * //---- Z* ------ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * //---- Z** ------ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * | ||
- | */ | ||
- | ++++ Ohne BlueJ | | ||
- | <code java App.java> | ||
- | /** Fachklasse: Messreihe | ||
- | | ||
- | | ||
- | */ | ||
- | public class Messreihe { | + | === Aufgaben: |
- | // Objektvariablen deklarieren | + | |
- | int anzahl | + | |
- | double[] gewicht | + | |
- | + | ||
- | /** Konstruktor fuer Objekte der Klasse Messreihe | + | |
- | | + | |
- | */ | + | |
- | public Messreihe() { | + | |
- | for (int i=0; i< | + | |
- | gewicht[i] | + | |
- | } | + | |
- | } | + | |
- | /** das Element der Reihung mit dem Index i zurueckgeben | + | **(1)** Beschreibe, was die Methode // |
- | | + | |
- | | + | |
- | | + | |
- | public double gibGewicht(int i) { | + | |
- | if (i<0 || i> | + | |
- | return -8.888; | + | |
- | } | + | |
- | else { | + | |
- | return gewicht[i]; | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | + | ||
- | /** Beschreiben Sie in Worten, was diese Methode | + | |
- | | + | |
- | public void wasDenn() | + | |
- | for (int i = 8; i<15; i++) { | + | |
- | gewicht[i] = 77.7; | + | |
- | } | + | |
- | + | ||
- | for (int i=20; i<27; i++) { | + | |
- | gewicht[i] | + | |
- | gewicht[i+1] = 4*i; | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | + | ||
- | | + | |
- | | + | |
- | public void wasMacheIch(int ab) | + | |
- | if (ab<40 && ab>30) { | + | |
- | for (int i=ab; i<=ab+5; i++) { | + | |
- | | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | | + | |
- | // ----------- Hilfsfunktionen | + | **(2)** Beschreibe zunächst ohne ausprobieren, was die folgenden Aufrufe machen: |
- | /** dient zum Anzeigen der Reihung am Bildschirm; | + | * // |
- | * kann durch INSPECT ersetzt werden */ | + | |
- | public void anzeigen() { | + | |
- | for (int i=0; i< anzahl; i++) { | + | |
- | System.out.println(formatiere(i)+" | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | //------ interne Hilfsfunktionen | + | |
- | /** interne Methode, um eine Zufallszahl im Bereich 200.0 - 799.999 | + | |
- | * mit 3 Nachkommastellen zu erzeugen; | + | |
- | * | + | |
- | private double erzeugeZZahl() { | + | |
- | double zufZahl = 200 + 600*Math.random(); | + | |
- | return Math.round((zufZahl*1000))/1000.0; | + | |
- | } | + | |
- | + | ||
- | | + | |
- | | + | |
- | private String formatiere(int i) { | + | |
- | String erg = " | + | |
- | if (i<10) { | + | |
- | erg = " | + | |
- | } | + | |
- | else { | + | |
- | erg = "Index " + i; // hier nur eines !! | + | |
- | } | + | |
- | return erg; | + | |
- | } | + | |
- | } | + | |
- | /* App Klasse. Steuerklasse für unser Programm | + | **(3)** Erstelle je eine Methode, |
- | public class App { | + | * a) die in das Element mit Index 4 den Gewichtswert 44.4444 einträgt. |
+ | | ||
+ | * b2) die die Summe der Gewichte der letzten 33 Elemente zurückgibt. | ||
+ | * c) die in ein Element, dessen Index man vorgeben kann, den Gewichtswert 55.55555 einträgt. | ||
+ | * d) die in ein Element, dessen Index man vorgeben kann, einen Gewichtswert einträgt, den man vorgeben kann. | ||
+ | * Teste deine Methoden jeweils | ||
+ | |||
+ | **(4)** Die Methode | ||
+ | * Welches Problem gibt es für die Fehlermeldung bei Fehleingaben? | ||
- | public static void main(String[] args) { | + | === Zusatzaufgaben: |
- | Messreihe reihe1 | + | |
- | reihe1.anzeigen(); | + | |
- | } | + | |
- | } | + | **(5)** Erstelle eine Methode, |
+ | * a) die in drei (17) aufeinanderfolgende Elemente, deren Startindex man vorgeben kann, Gewichtswerte eintraegt, die jeweils um 1.2 ansteigen. | ||
+ | * b) die die Gewichtswerte zweier Elemente miteinander vertauscht. | ||
+ | * c) die zwei benachbarte Elemente findet, die sich um nicht mehr als 3.3 unterscheiden. (Überlege, was du sinnvoll als Antwort zurueckmeldest). | ||
+ | * d) die die zwei benachbarten Elemente | ||
- | /* Aufgaben: | + | **(6)** Finde die vier benachbarten Elemente der Messreihe, die das größte Gesamtgewicht haben. Lasse die Elemente |
- | * 1. Beschreibe, was wasDenn() macht. | + | |
- | * | + | |
- | * | + | |
- | * 2. Beschreibe, was diese Aufrufe machen: | + | |
- | | + | |
- | | + | |
- | | + | |
- | * 3. Erstelle je eine Methode, | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | * 4. Die Methode " | + | |
- | | + | |
- | | + | |
- | * | + | |
- | */ | + | |
+ | **(7)** Finde die vier benachbarten Elemente der Messreihe, die sich untereinander am wenigsten unterscheiden. Welche Antwort sollte geliefert werden? | ||
- | / | ||
- | | ||
- | * | ||
- | * // ---Z ------ | ||
- | | ||
- | * 5. Erstellen Sie eine Methode, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * //---- Z* ------ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * //---- Z** ------ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * | ||
- | */ | ||
- | </ | ||
- | ++++ |