Anfängerkurs Programmieren JAVA - 21 Rekursive Methoden (+ Stackoverflow)

preview_player
Показать описание
Methoden dürfen sich tatsächlich selber aufrufen. Man nennt sie dann rekursive Methoden. Wenn man es richtig macht kann das sehr elegant und praktisch sein. Geht es schief gibt es sehr schnell einen gefürchteten StackOverflow error. In Lerneinheit dreht sich alles daher um das Thema Rekursion.

Dieses Video ist Teil eines Anfängerkurses Programmieren. Die verwendete Sprache ist JAVA aber der Kurs ist prinzipiell für alle gedacht die anfangen möchten das Programmieren zu lernen auch wenn sie später andere Programmiersprachen nutzen wollen.

Die Videos sind für die Vorlesung „Informatik im Maschinenbau“ am Karlsruher Institut für Technologie im Sommersemester des Corona-Pandemiejahres 2020 entstanden.

Playlist Objekt-Orientierte Programmierung:
Playlist Zusätzliche Infos:

Der hier genutzte Anfängereditor war eine kommerzielle Software namens Editing JAVA Easily. (Nicht mehr verfügbar)

Der ist jedoch nicht Nötig. Die OpenSource Umgebung BlueJ kann ebenso leicht genutzt werden auch wenn sie etwas anders aussieht:

Playlist alle Kapitel:
Es gibt 6 Kapitel:
Рекомендации по теме
Комментарии
Автор

Ich glaube, dass in der rekursiven Methode zur Potenzberechnung ein Fehler unterlaufen ist. So wie sie implementiert wurde, wäre das Resultat bei negativen Potenzen immer 1, was nicht korrekt ist. Ändert man jedoch den Code in:

else if(n < 0) {
return 1 / myPow(val, -n); //entspricht so die Potenzregel (n hoch -p) = 1/(n hoch p)
}
wird man das richtige Ergebnis erhalten.

Des Weiteren ist die rekursive Fibonacci-Methode ebenfalls fehlerhaft. Um das richtige Ergebnis für positive Längen ab null zu erzielen, sollte die Bedingung für 𝑛 = 0 null zurückgeben und nicht eins.

Der angepasste Code lautet:
if(n < 0 || n == 0) {
return 0;
}
Eine Kette der Länge 0 ergibt 0, außer man führt explizit ein anderes Zahlensystem bzw. eine Struktur wie Arrays ein.

Nichtdestotrotz habe ich durch das Video das Thema besser verstanden, vielen Dank!!

dafnearena
visit shbcf.ru