AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Thema durchsuchen
Ansicht
Themen-Optionen

Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

Ein Thema von DesWeeedert · begonnen am 16. Mai 2017 · letzter Beitrag vom 22. Mai 2017
Antwort Antwort
Seite 2 von 3     12 3      
DesWeeedert

Registriert seit: 16. Mai 2017
7 Beiträge
 
#11

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 17. Mai 2017, 18:03
Hallo!

Ich habs tatsächlich auch selber geschafft, glaube ich:

Code:
function ZeigListMax (inRefAnfang : tRefListe) : tRefListe;
  { bestimmt rekursiv einen Zeiger auf das Listenelement mit
    der groessten Zahl }
   
   begin
      if inRefAnfang = nil then
         ZeigListMax := nil
      else
         if inRefAnfang^.next = nil then
            ZeigListMax := inRefAnfang
         else
         begin
            if inRefAnfang^.info < (ZeigListMax(inRefAnfang^.next)^.info) then
               ZeigListMax := ZeigListMax(inRefAnfang^.next)
            else
               ZeigListMax := inRefAnfang;
         end;      
   end;
Ist ein bisschen anders als die Lösung von Jasocul, aber sollte auch funktionieren.

Nochmal vielen Dank euch allen für die Hilfe =)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
721 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 17. Mai 2017, 18:42
Komplett absurde Aufgabe. Wer solche Aufgaben stellt sollte selbst noch einmal die Schule besuchen .
Das ist etwa gleich, wie wenn eine klare Brühe serviert wird und du die Gabel zum Essen verwenden sollst.
Michael Gasser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.134 Beiträge
 
Delphi 12 Athens
 
#13

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 17. Mai 2017, 18:48
Lernen?
Querdenken und was auch mal mit unpassenderen Mitteln lösen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
721 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 17. Mai 2017, 21:59
Zitat:
Lernen?
Querdenken und was auch mal mit unpassenderen Mitteln lösen.
Wenn ein Lehrer andere lehrt falsche Mittel zur Lösung einer Aufgabe einzusetzen, dann ist der Lerneffekt irgendwo bei -1000.

Ich nutze für mathematische Probleme (Knotentheorie, Spieltheorie u.s.w.) sehr oft eine Rekursion. Aber für eine Suche nach Listenelementen, welche via Zeiger(!) miteinander verbunden sind ist die Verwendung einer Rekursion absoluter Nonsens [keine Angst: ich schreib nicht nochmal hier rein ]. Querdenken immer - aber verquer...

https://de.wikipedia.org/wiki/Rekursion
Michael Gasser
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 18. Mai 2017, 05:20
Lernen?
Querdenken und was auch mal mit unpassenderen Mitteln lösen.
Ja, dann kommen Programme auf den Markt, bei der ein einfacher Terminkalender 3 GB Hauptspeicher und min. ein I7 benötigt wird.

Sorry, aber bevor man das Querdenken erlernt, sollte man erstmal die richtigen Lösungsansätze erlernen. Erst, wenn man damit nicht weiterkommt, kann man Querdenken.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#16

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 18. Mai 2017, 10:23
Mit einem Hammer kann man einen Nagel einschlagen, aber auch eine Schraube. Ein Schraubendreher eignet sich ausschlielich für die Verwendung mit Schrauben.
Manchmal darf man auch etwas neben der Spur lernen, arbeiten, experimentieren, um das beste Vorgehen wirklich im wahrsten Sinne des Wortes zu begreifen.
Das ist nicht so sehr eine Frage der Lernmethode oder vermittelten Möglichkeiten, sondern m.E. eher eine Frage des individuellen Lernverhaltens.
Am Ende lernt man vielleicht sogar noch, dass es nicht nur auf das richtige Werkzeug und passendes Material ankommt, sondern dass auch das Material verschiedene Wirkungen liefert und damit verschiedene Einsatzzwecke hat.
Die Praxis ist selten schwarz/weiß, wenn die Theorie da etwas mitgeht, finde ich das vollkommen ok.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.134 Beiträge
 
Delphi 12 Athens
 
#17

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 18. Mai 2017, 11:24
Vieles, was in der Schule gelehrt wird, hat mit der Realität selten was gemeinsam.
Klar, wäre es toll, wenn das anders sein würde, aber es kann hier auch nicht verkehrt sein, wenn man das selbe Ergebnis zu Lernzwecken mit verschiedenen Ansätzen löst.
So kann man selber sehn, was wo besser gelöst werden kann.

Möglich ist Beides, auch wenn die Rekursion hier nicht wirklich optimal ist, vorallem bei längeren Listen.
Delphi-Quellcode:
procedure Machen(VerketteteListe);
begin
  while Assigned(VerketteteListe) do begin
    MachWas(VerketteteListe);
    VerketteteListe := VerketteteListe.Nächster;
  end;
end;

procedure Machen(VerketteteListe);
begin
  if Assigned(VerketteteListe) then begin
    MachWas(VerketteteListe);
    Machen(VerketteteListe.Nächster);
  end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
DesWeeedert

Registriert seit: 16. Mai 2017
7 Beiträge
 
#18

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 20. Mai 2017, 20:43
Zitat:
Lernen?
Querdenken und was auch mal mit unpassenderen Mitteln lösen.
Wenn ein Lehrer andere lehrt falsche Mittel zur Lösung einer Aufgabe einzusetzen, dann ist der Lerneffekt irgendwo bei -1000.

https://de.wikipedia.org/wiki/Rekursion

Ich hätte vielleicht erwähnen sollen, dass ein zweiter Teil der Aufgabe die Frage war, ob denn die Rekursion hier sinnvoll angewendet wird.

Also ich fand die Aufgabe ganz gut, um das Prinzip der Rekursion zumindest ein erstes Mal kennenzulernen.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#19

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 21. Mai 2017, 09:06
Zitat:
Lernen?
Querdenken und was auch mal mit unpassenderen Mitteln lösen.
Wenn ein Lehrer andere lehrt falsche Mittel zur Lösung einer Aufgabe einzusetzen, dann ist der Lerneffekt irgendwo bei -1000.

https://de.wikipedia.org/wiki/Rekursion

Also ich fand die Aufgabe ganz gut, um das Prinzip der Rekursion zumindest ein erstes Mal kennenzulernen.
Tadda! Der Lerneffekt stellt sich individuell nicht aufgrund einer(!) einzig richtigen Darstellung von Methoden und Sachverhalten ein, sondern vollzieht sich gemäß individueller Präferenzen, Neigungen und Fertigkeiten.
Dafür gibt es seit langem das Konzept, den gleichen Sachverhalt in unterschiedlichen Formen zu bearbeiten.

Softwareentwicklung ist m.E. ein besonders schillerndes Gebiet, wo auch "gestandene" Fachleute kaum auf Dauer mit dem Spruch "das hab ich so gelernt" durchkommen. Wo gibt es mehr Grundsatzdiskussionen als in der Softwareentwicklung? Was heute hip oder wirklich State of the Art ist, landet morgen bei "so yesterday" und übermorgen im Papierkorb. (ob zu Recht, ist offensichtlich ein anderes Thema).

Eine Ausbildung, die auch solche Probleme spiegelt, kommt mir genau richtig vor.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.134 Beiträge
 
Delphi 12 Athens
 
#20

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 21. Mai 2017, 09:54
Was heute hip oder wirklich State of the Art ist, landet morgen bei "so yesterday" und übermorgen im Papierkorb.
Dank Internet und der schnellen Kommunikation ... da hab ich vor Kurzem ein nettes neumodisches Designmuster kennengelernt.
Bei Google suchenHype Driven Development (Fefe)

Jemand behauptet etwas Cooles zu haben, alle müssen es sofort bei sich verwenden, egal ob es wirklich zu ihrem Problem passt ... es ist Neu/Cool/Genial, also muß es immer und für Alles gut sein.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Mai 2017 um 09:56 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz