Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:binaere_suche:binsuchprogramm:start [19.04.2021 18:52] – [A2] sbel | faecher:informatik:oberstufe:algorithmen:binaere_suche:binsuchprogramm:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Ein Programm zum Zahlenraten ====== | ||
- | |||
- | |||
- | Arbeite mit dem folgenden BlueJ Projekt: {{ : | ||
- | |||
- | |||
- | |||
- | ===== Aufgaben: ===== | ||
- | |||
- | ==== A1 ==== | ||
- | |||
- | * Beschreibe die Funktion der privaten Methode '' | ||
- | * Implementiere die Methode '' | ||
- | ==== A2 ==== | ||
- | |||
- | Implementiere eine Methode '' | ||
- | |||
- | === (1) Programmablaufplan === | ||
- | |||
- | Erstelle ein Flussdiagramm anhand der folgenden Beschreibung. | ||
- | |||
- | <code java> | ||
- | // in der main Methode der App Klasse | ||
- | int gesucht=22; | ||
- | int treffer = liste.binaereSuche(gesucht); | ||
- | System.out.println(" | ||
- | </ | ||
- | |||
- | * Die Methode '' | ||
- | * Du führst Buch welcher Teil des Arrays zu durchsuchen ist und welcher Teil des Arrays nicht mehr in Frage kommt. wenn deine Methode startet, musst du das gesamte Array betrachten (kleinster Index '' | ||
- | |||
- | {{ : | ||
- | |||
- | * Jetzt musst du den Index des mittleren Elements finden, und prüfen, ob der Inhalt größer, kleiner oder gleich dem gesuchten Wert ist. | ||
- | |||
- | |||
- | <code java> | ||
- | int mitte = (oben+unten)/ | ||
- | </ | ||
- | |||
- | * Ist der Wert des Arrayelements **gleich** dem gesuchten Wert, wird der Indexwert mit '' | ||
- | * Wenn der gesuchte Wert **kleiner** ist als der Inhalt von '' | ||
- | <code java> | ||
- | if ( gesucht < daten[mitte]) { | ||
- | oben = mitte-1; | ||
- | } | ||
- | </ | ||
- | |||
- | {{ : | ||
- | |||
- | |||
- | * Sollte der gesuchte Wert **größer** sein als '' | ||
- | |||
- | <code java> | ||
- | if ( gesucht > daten[mitte]) { | ||
- | unten = mitte+1; | ||
- | } | ||
- | </ | ||
- | |||
- | * Das ganze muss wiederholt werden, solange der Suchbereich '' | ||
- | |||
- | === Implementiere die Methode im Programmgerüst und teste sie === | ||
- | |||
- | Hilfestellungen | ||
- | |||
- | |||
- | {{ : | ||