Seite 1 von 1

Richtlinien zur Klausur bei Java Implementation

Verfasst: 18. Sep 2017 13:13
von nozyde
Hallo Zusammen,

ich habe nur eine kleine Frage was den Formalismus der Aufgaben betrifft. Unabhängig davon, ob die unten stehenden Lösungen effizient sind, wären sie dem Regelwerk für Programmieraufgaben entsprechend formell richtig gelöst?
Jede der zu implementierenden Methoden hat zwei Parameter. Der erste Parameter ist eine lineare Sequenz mit generischem Parameter T. Der zweite Parameter ist vom Typ T. Der Rückgabetyp hängt von der jeweiligen Aufgabe ab:
1. Rückgabetyp von Methode find ist boolean, und die Rückgabe ist genau dann true, wenn der zweite Parameter einer der Schlüsselwerte im ersten Parameter ist.

Code: Alles auswählen

// array iterative
public boolean findIterative(T[] list, T key) {
	boolean find = false;
	for (int i = 0; i < list.length; i++) {
		if (list[i] == key) {
			find = true;
		}
	}
	return find;
}

// array recursive
public boolean findRecursive(T[] list, T key) {
	return findRecursiveValue(list, key, 0);
}

public boolean findRecursiveValue(T[] list, T key, int pos) {
	if (list[pos] == key) {
		return true;
	}
	if (pos == list.length - 1)
		return false;
	}
	pos++;
	return findRecursiveValue(list, key, pos);
}
Konkret gehts mir eigentlich darum, ob wir bei rekursiven Geschichten die Verarbeitung der Rekursion in eine eigene Methode auslagern dürfen.

Danke!

Re: Richtlinien zur Klausur bei Java Implementation

Verfasst: 19. Sep 2017 10:35
von Hans123
Seite 1 des Blattes:
rekursiv, das heißt, keine Schleifen erlaubt. In der Regel wird es unumgänglich sein, die eigentliche Rekursion in eine Hilfsmethode auszulagern, die zusätzliche Parameter hat, mit denen die Rekursion gesteuert wird.

Re: Richtlinien zur Klausur bei Java Implementation

Verfasst: 19. Sep 2017 14:14
von nozyde
Danke, freudscher Verleser ...