die-informatiker.net Logo   2526 registrierte Benutzer.
Insgesamt 97274 Beiträge.
Suche
• erweiterte Suche
Login
Benutzername:
Passwort:
• Registrieren

Ein Projekt des

Abstiegsfunktion

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.
Foren-Übersicht / Programmierung und Modellierung (SS09)
Autor Nachricht
Micotom
Observer
Observer


Beiträge: 54

Private Nachricht senden
 

Beitrag Verfasst am: Fr 24.07.09, 9:28       Titel: Abstiegsfunktion Nach oben

Etwas sehr kurzfristig meine Frage, aber vielleicht mach sich ja nochmal jemand die Mühe …

Das Prinzip der Abstiegsfunktion ist mir klar. Nur folgendes Beispiel aus dem Skript will sich mir nicht erschließen:

Funktion:

Zitat:
fun keineTeiler(n,k): bool =
if k >= n-1 then true
else not((n mod k) = 0) andalso keineTeiler(n, k+1);


Die Abstiegsfunktion wird auf

Zitat:
m(n, k) = if k = n then 0 else n-k


gesetzt.

Wie kommt man auf den zweiten teil “n-k”?

Antworten mit Zitat
Johannes Hafner
Builder
Builder
Johannes Hafner

Beiträge: 831

Private Nachricht senden
 

Beitrag Verfasst am: Fr 24.07.09, 10:18       Titel: Nach oben

die frage iost eher, woher der erste teil kommt (und wieso)…

der zweite teil ist eigentlcih ganz logisch: schau dir mal an, was kleiner wird bei jedem rekursiven aufruf (denn sowas brauchst du ja). das ist der abstand zwischen n und k, denn n bleibt und k wächst. also ist das eine geeignete abstiegsfunktion.

die bedingung wenn n=k dann 0 ist hingegen überflüssig, denn wenn n=k, dann ist n-k sowieso 0.

als abstiegsfunktion wäre also LaTeX volkommen ausreichend.

nebenbei bemerkt: auch die funktion zur berechnung sewlbst ist etwas ineffektiv,

fun keineTeiler (n,k) =
    if real(k) > Math.sqrt(real(n)) then true
    else not((n mod k) = 0) andalso keineTeiler (n,k+1);

wäre besser (wiel weniger durchläufe nötig), in dem fall bräuchte man dann in der abstiegsfunktion auch tatsächlcih eine bedingung damit sie zum ende 0 wird.

_________________

"Es gibt zwei Dinge, die unendlich sind: die menschliche Dummheit und das Universum.
Beim Universum bin ich mir allerdings nicht ganz sicher." (Albert Einstein)

Zuletzt bearbeitet von Johannes Hafner am Fr 24.07.09, 10:27, insgesamt 2-mal bearbeitet
Antworten mit Zitat
Micotom
Observer
Observer


Beiträge: 54

Private Nachricht senden
 

Beitrag Verfasst am: Fr 24.07.09, 10:26       Titel: Nach oben

wow, vielen dank - das stichwort “abstand” hat mir gefehlt! so macht’s sinn! :)

Antworten mit Zitat
Foren-Übersicht / Programmierung und Modellierung (SS09)

Alle Zeiten sind GMT + 1 Stunde
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


die-informatiker.net
Das Forum der Informatik an der LMU (Uni München)
Ein Projekt des LMU Alumni Informatik e.V.
News
Wer kennt diesjährige Absolventen?
Mi 01.09.10, 17:36

News Archiv
alle Termine
Foren Info
Wichtige Links:
• Algebra I
• Informatik I
• Analysis I
• Informatik III
• Analysis II
• Programmierpraktikum
• Lineare Algebra I
• Analysis II
• Analysis II Übungen
• Bioinformatik-Portal
• Digitale Medien
• Diskrete Strukturen :: Übungsblätter
• Diskrete Strukturen
• Informatik II
• Informatik I



Impressum
© 2007 die-informatiker.net
Powered by phpBB 2.0.23 © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de und die-informatiker.net.