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:uebungen2:start [05.10.2021 19:44] – sbel | faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen2:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ==== Arrays: Übungen 2 ==== | ||
- | Gegeben ist die Klasse **messreihe2** mit einigen Methoden. Bei der Erzeugung einer Instanz des Typs Messreihe wird ein Array mit zufällig generierten " | ||
- | |||
- | |||
- | * [[https:// | ||
- | |||
- | |||
- | |||
- | === Aufgaben: | ||
- | |||
- | **(1)** Beschreibe, was die Methode // | ||
- | |||
- | **(2)** Beschreibe zunächst ohne ausprobieren, | ||
- | * // | ||
- | * Teste deine Antworten | ||
- | |||
- | **(3)** Erstelle je eine Methode, | ||
- | * a) die in das Element mit Index 4 den Gewichtswert 44.4444 einträgt. | ||
- | * b1) die die Summe der Gewichte der Elemente an den Indizes 16,17,18 zurückgibt. | ||
- | * 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? | ||
- | |||
- | === Zusatzaufgaben: | ||
- | |||
- | **(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 | ||
- | |||
- | **(6)** Finde die vier benachbarten Elemente der Messreihe, die das größte Gesamtgewicht haben. Lasse die Elemente sowie das Gesamtgewicht ausgeben. | ||
- | |||
- | **(7)** Finde die vier benachbarten Elemente der Messreihe, die sich untereinander am wenigsten unterscheiden. Welche Antwort sollte geliefert werden? | ||
- | |||
- | ++++ Ohne BlueJ | | ||
- | <code java App.java> | ||
- | /** Fachklasse: Messreihe | ||
- | | ||
- | | ||
- | */ | ||
- | |||
- | public class Messreihe { | ||
- | // Objektvariablen deklarieren | ||
- | int anzahl = 45; | ||
- | double[] gewicht = new double[anzahl]; | ||
- | |||
- | /** Konstruktor fuer Objekte der Klasse Messreihe | ||
- | | ||
- | */ | ||
- | public Messreihe() { | ||
- | for (int i=0; i< | ||
- | gewicht[i] = erzeugeZZahl(); | ||
- | } | ||
- | } | ||
- | |||
- | /** das Element der Reihung mit dem Index i zurueckgeben | ||
- | | ||
- | | ||
- | | ||
- | 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; | ||
- | } | ||
- | } | ||
- | | ||
- | | ||
- | /** Beschreibe in Worten, was diese Methode | ||
- | | ||
- | public void wasMacheIch(int ab) | ||
- | if (ab<40 && ab>30) { | ||
- | for (int i=ab; i<=ab+5; i++) { | ||
- | | ||
- | } | ||
- | } | ||
- | } | ||
- | | ||
- | |||
- | // ----------- Hilfsfunktionen | ||
- | /** 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 | ||
- | | ||
- | | ||
- | private double erzeugeZZahl() | ||
- | double zufZahl = 200 + 600*Math.random(); | ||
- | return Math.round((zufZahl*1000))/ | ||
- | } | ||
- | | ||
- | /** interne Hilfsfunktion zum stellenrichtigen | ||
- | | ||
- | 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 */ | ||
- | public class App { | ||
- | |||
- | public static void main(String[] args) { | ||
- | Messreihe reihe1 = new Messreihe(); | ||
- | reihe1.anzeigen(); | ||
- | } | ||
- | |||
- | } | ||
- | |||
- | /* Aufgaben: | ||
- | * 1. Beschreibe, was wasDenn() macht. | ||
- | | ||
- | | ||
- | * 2. Beschreibe, was diese Aufrufe machen: | ||
- | | ||
- | | ||
- | | ||
- | * 3. Erstelle je eine Methode, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * 4. Die Methode " | ||
- | | ||
- | | ||
- | | ||
- | */ | ||
- | |||
- | |||
- | / | ||
- | | ||
- | * | ||
- | * // ---Z ------ | ||
- | | ||
- | * 5. Erstellen Sie eine Methode, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * //---- Z* ------ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * //---- Z** ------ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | * | ||
- | */ | ||
- | </ | ||
- | ++++ |