Matroids Matheplanet Forum Index
Moderiert von viertel
Schulmathematik » Sonstiges » Rekursionsformel aufstellen für Addition zweier Zahlen n und m
Autor
Kein bestimmter Bereich J Rekursionsformel aufstellen für Addition zweier Zahlen n und m
aaron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 04.02.2005
Mitteilungen: 210
  Themenstart: 2008-12-29

Hallo Ich bearbeite gerade folgende Aufgabe: a) Stellen sie eine Rekursionsformel auf für die Addition zweier Zahlen n und m. b)Stellen Sie eine Rekursionsformel auf für das Minimum zweier Zahlen n und m. Also die b) habe ich durch tüfteln herausbekommen. min=cases(0,n=0 und m=0; min (n-1,m-1) +1,sonst) Bei der a) klemmts, aber ich habe mir ein paar Gedanken dazu gemacht: Man kann sagen: m+n=n+1+1+1+1+1+1........ also n+m-mal die 1, aber das ist ja in keinster Weise eine Rekursionsformel. Ich komm da irgendwie nicht weiter, wenn ihr mir dabei unter die Arme greifen könntet, würde ich mich sehr freuen. Gruss Aaron


   Profil
gaussmath
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 16.06.2007
Mitteilungen: 9044
Wohnort: Hannover
  Beitrag No.1, eingetragen 2008-12-29

Hallo, sind m und n natürliche Zahlen? Was wäre denn hier der Rekursionsanker und was passiert von n -> n-1? gaussmath


   Profil
aaron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 04.02.2005
Mitteilungen: 210
  Beitrag No.2, vom Themenstarter, eingetragen 2008-12-29

\quoteon(2008-12-29 16:16 - gaussmath in Beitrag No. 1) Hallo, sind m und n natürliche Zahlen? Was wäre denn hier der Rekursionsanker und was passiert von n -> n-1? gaussmath \quoteoff Hi Also m und n sind natürliche Zahlen und der Rekursionsanker müsste 1 sein wegen: n+m=(n+m) n+0=n Wenn ich nun n->n-1 gehe, geht das gegen 1, also den Rekursionsanker. Ich hoffe das stimmt einigermaßen, was ich mir überlegt habe. Gruss Aaron


   Profil
Tetris
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 28.08.2006
Mitteilungen: 7818
  Beitrag No.3, eingetragen 2008-12-29

Hi, versuche es mal so: add(n,m)=cases(\ n, falls m=0;\ add(?,?), falls m>0) Lg, T.


   Profil
viertel
Senior Letzter Besuch: im letzten Quartal
Dabei seit: 04.03.2003
Mitteilungen: 27787
Wohnort: Hessen
  Beitrag No.4, eingetragen 2008-12-29

Hi aaron, eine entscheidende Information ist nicht gegeben: was darf denn in der Rekursion überhaupt benutzt werden? Es liegt natürlich der Verdacht nahe, daß es auf die Addition von 1 zurück geführt werden soll. Warum sollte der Rekursionsanker der Fall n=1 sein? Was ist mit n=0? Wenn Du nur die Addition der 1 benutzen darfst, dann mach das doch auch: wenn n>0, addiere zu m eine 1 und den Rest von n Ich habe es extra etwas verdreht hingeschrieben, damit nicht gleich der fertige Rekursionsausdruck dasteht. Gruß vom 1/4 [Die Antwort wurde nach Beitrag No.2 begonnen.]


   Profil
aaron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 04.02.2005
Mitteilungen: 210
  Beitrag No.5, vom Themenstarter, eingetragen 2008-12-29

Hallo Vielen Dank für die Antworten. Ich habe jetzt die Lösung herausbekommen. Ich habe noch eine Frage, diese mag vielleicht etwas komisch klingen, aber speziell bei Rekursionen aufstellen tue ich mir sehr schwer und bekomme das meistens erst nach sehr langem überlegen bzw. tüfteln / ausprobieren heraus. Gibt es denn evtl. eine Systematik oder eine clevere Herangehensweise oder ist das vorwiegend nur eine Übungsfrage ? Wie geht ihr denn an solch eine Aufgabenstellung heran bzw. was sind denn eure ersten Überlegungen ? Ich hoffe ihr erachtet meine Frage jetzt nicht als überflüssig oder unnötig. Ich würde mich sehr über Antworten von Euch freuen. Grüssle Aaron  


   Profil
Tetris
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 28.08.2006
Mitteilungen: 7818
  Beitrag No.6, eingetragen 2008-12-29

\quoteon(2008-12-29 22:36 - aaron in Beitrag No. 5) ... Ich habe jetzt die Lösung herausbekommen ... \quoteoff Welche Lösung hast Du denn gefunden? \quoteon(2008-12-29 22:36 - aaron in Beitrag No. 5) Ich habe noch eine Frage, diese mag vielleicht etwas komisch klingen, aber speziell bei Rekursionen aufstellen tue ich mir sehr schwer und bekomme das meistens erst nach sehr langem überlegen bzw. tüfteln / ausprobieren heraus. Gibt es denn evtl. eine Systematik oder eine clevere Herangehensweise oder ist das vorwiegend nur eine Übungsfrage ? Wie geht ihr denn an solch eine Aufgabenstellung heran bzw. was sind denn eure ersten Überlegungen ? Ich hoffe ihr erachtet meine Frage jetzt nicht als überflüssig oder unnötig. \quoteoff Das ist eine gute Frage, auf die ich unmittelbar auch keine Antwort habe. Im Übrigen sind Überlegen, Tüfteln und Ausprobieren sicher nicht die schlechtesten Methoden! Andererseits halte ich Deine Lösung zu b) für falsch. :-( Lg, T.


   Profil
Hartmut
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 22.12.2004
Mitteilungen: 1201
Wohnort: Karlsruhe
  Beitrag No.7, eingetragen 2008-12-30

Hallo! Vielleicht hilft das: Man will eine Funktion f(n,m) berechnen. Stattdessen berechnet man f(n-1,m). Was muss man tun, um daraus f(n,m) zu bekommen? Oder anders: Welcher Rechenausdruck bleibt bei Anwendung der Rekursion invariant? Also zB Produkt f(n,m) = n*m f(n-1,m) = (n-1)*m f(n-1,m) + m = f(n.m) f(0,m)=0 oder f(1,m) = 1 Es geht auch ohne m mit Fakultät von n: f(n) = n! f(n-1) = (n-1)! f(n)=n*f(n-1) f(1) = 1 Schöne Grüße und einen guten Rutsch! Hartmut [ Nachricht wurde editiert von Hartmut am 30.12.2008 09:52:51 ]


   Profil
aaron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 04.02.2005
Mitteilungen: 210
  Beitrag No.8, vom Themenstarter, eingetragen 2008-12-30

\quoteon(2008-12-29 23:56 - Tetris in Beitrag No. 6) \quoteon(2008-12-29 22:36 - aaron in Beitrag No. 5) ... Ich habe jetzt die Lösung herausbekommen ... \quoteoff Welche Lösung hast Du denn gefunden? \quoteon(2008-12-29 22:36 - aaron in Beitrag No. 5) Ich habe noch eine Frage, diese mag vielleicht etwas komisch klingen, aber speziell bei Rekursionen aufstellen tue ich mir sehr schwer und bekomme das meistens erst nach sehr langem überlegen bzw. tüfteln / ausprobieren heraus. Gibt es denn evtl. eine Systematik oder eine clevere Herangehensweise oder ist das vorwiegend nur eine Übungsfrage ? Wie geht ihr denn an solch eine Aufgabenstellung heran bzw. was sind denn eure ersten Überlegungen ? Ich hoffe ihr erachtet meine Frage jetzt nicht als überflüssig oder unnötig. \quoteoff Das ist eine gute Frage, auf die ich unmittelbar auch keine Antwort habe. Im Übrigen sind Überlegen, Tüfteln und Ausprobieren sicher nicht die schlechtesten Methoden! Andererseits halte ich Deine Lösung zu b) für falsch. :-( Lg, T. \quoteoff Hallo Tetris Also zur a) habe ich folgendes gefunden: add(n,m)=cases(n,falls m=0;add(n-1,m+1),falls m>0) Bei der b) habe ich folgendes ( wie oben schon erwähnt ): min (n,m) =cases(0,falls n=0 und m=0;min((n-1,m-1)+1),sonst) Also ich denke die b) stimmt, wenn ich als Beispiel nehme: min (7,5) und ich wende die Rekursion an, dann komme ich auf 5 und das ist ja das Minimum von min (7,5) Wo liegt deiner Ansicht nach mein Fehler bei der b) ? Gruss Aaron [ Nachricht wurde editiert von aaron am 30.12.2008 00:49:49 ]


   Profil
Tetris
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 28.08.2006
Mitteilungen: 7818
  Beitrag No.9, eingetragen 2008-12-30

Hi, bei a) darfst Du m nicht vergrößern, wenn Du die Fallunterscheidung m=0 bzw. m>0 machst, denn wie willst Du damit zum Ende kommen, wenn m anfänglich größer als Null ist? Bei b) tritt der Fall n=0 und m=0 möglicherweise (so in Deinem Beispiel) gar nicht ein. Lg, T.


   Profil
viertel
Senior Letzter Besuch: im letzten Quartal
Dabei seit: 04.03.2003
Mitteilungen: 27787
Wohnort: Hessen
  Beitrag No.10, eingetragen 2008-12-30

Die beiden Lösungen stimmen … leider nur fast. Bei a) bist Du nicht sorgsam genug mit m und n gewesen. Sie sind an manchen Stellen vertauscht. Bei b) stimmt die Abbruchbedingung nicht. Prüfe noch mal an einem kleinen Beispiel. Beachte die Bedeutung des logischen und und oder. Ansonsten muß man bei solchen Rekursionsproblemen überhaupt erst mal sehen, daß es eines ist. Damit ist dann schon mal einiges gewonnen. Schau Dir z.B. mal Schachbrett Weg an, des Rätsels Lösung liefert Beitrag 7. Schade nur, daß der Fragesteller die Lösung zwar zur Kenntnis genommen, sich aber nicht mehr dazu geäußert hat frown Rekursion tritt auch häufiger auf, als Du denkst. • Was passiert denn z.B., wenn Du eine Kamera auf einen Fernseher richtest, der das Bild der Kamera wiedergibt? • Oder Du im Spiegelkabinett zwischen zwei parallelen Spiegeln stehst. • Oder das alte Kinderlied vom Hund in der Küche, siehe hier: www.labbe.de/liederbaum/index.asp?themaid=58&titelid=345 Manchmal versucht man auch, etwas rekursiv zu lösen, wo es gar nicht nötig ist. Ein schönes Anti-Beispiel ist die Faktultät, die man so schön rekursiv definieren kann: fak(n):=cases(1,n=0;n*fak(n-1),sonst) Das dann auch rekursiv zu programmieren grenzt fast an eine Straftat, denn ein iterativer Algorithmus ist deutlich schneller und vor allem weniger speicherfressend (Stack). Ansonsten dürfte Dir die Forumsuche mit dem Suchwort "rekursi" einiges liefern. [Die Antwort wurde nach Beitrag No.8 begonnen.]


   Profil
aaron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 04.02.2005
Mitteilungen: 210
  Beitrag No.11, vom Themenstarter, eingetragen 2008-12-30

Hallo Hier sind jetzt die überarbeiteten Rekursionen: a) add(n,m)=cases(n,falls m=0;add(n+1,m-1),falls m>0) b): min (n,m) =cases(0,falls n=0 oder m=0;min((n-1,m-1)+1),sonst) Gruss Aaron  


   Profil
Tetris
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 28.08.2006
Mitteilungen: 7818
  Beitrag No.12, eingetragen 2008-12-30

Hi, das sieht doch gut aus! Lg, T.


   Profil
gaussmath
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 16.06.2007
Mitteilungen: 9044
Wohnort: Hannover
  Beitrag No.13, eingetragen 2008-12-30

Hi aaron, ich finde, Du hast schnell Fortschritte gemacht. Schön!  smile Viele Grüße gaussmath


   Profil
aaron hat die Antworten auf ihre/seine Frage gesehen.
aaron hat selbst das Ok-Häkchen gesetzt.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]