Einloggen Suche | Aktive Themen
Rekursive Programmierung in MM-Talk Optionen
chuck
Geschrieben: Sunday, June 24, 2012 2:13:09 PM

Gruppen: Kunde

Beiträge: 167

market maker
An das market maker Team,

ich hatte in diesem Forum schon einmal das Thema rekursive Programmierung aufgegriffen (Rekursive Programmierung) und diese ist unstrittig bei Problemstellungen wie der Fakultätsberechnung, Fibonacci, usw., durch die „Reduktion auf Normalform“, kürzer und eleganter als andere Lösungsverfahren.

Meiner Meinung nach ist MM-Talk in die Gruppe der Funktionalen Programmiersprachen einzuordnen (Bitte einmal eine Stellungnahme der Entwicklung).

Da in solchen Sprachen Zuweisungen und Schleifenkonstrukte der Art „Do While, usw mit Abbruchbedingungen nicht vorkommen, ist die Rekursion das Programmelement das Schleifenkonstrukte dieser Art aus den imperativen Sprachen ersetzt, und sie gleich mächtig wie imperative Sprachen macht.

Zitat:
Die Mächtigkeit einer Programmiersprache ist definiert durch die Menge an Problemen, die in dieser Programmiersprache entscheidbar sind. Die theoretische Informatik hat gezeigt, dass eine reine funktionale Programmiersprache mit Rekursion gleich mächtig ist wie eine imperative Programmiersprache, die Schleifen und Zuweisungen erlaubt (Turing-Vollständigkeit).


Ich bitte sie deshalb rekursive Aufrufe von Funktionen in MM-Talk einzubinden.

Zur Erläuterung für andere User, die diesen Beitrag lesen folgender Ausdruck in MM-Talk:

Code:
$Gd:=Close.GD[$Zeitraum; $GD_Methode; $GD_XVersatz; $GD_YVersatz];


In imperativen Programmiersprachen ist $GD eine Variable, der man unterschiedliche Werte zuweisen kann. Der Wert von $GD ist abhängig von der Stelle im Programm / Prozedur an der die Variable vorkommt.

In Funktionalen Programmiersprachen ist $GD keine Variable, sondern ein Synonym für die Funktion rechts des Gleichheitszeichens.

Gebt einmal folgendes im Formeleditor ein, wenn „Fehler anzeigen“ aktiv ist (Icon „F“).

Code:
$GD=2*5;
$Z:=$GD/4;

{  weitere Programmzeilen  }

$GD:=15;

{  Weitere Programmzeilen  }



Wenn $GD eine Variable wäre, könnte $GD einmal der Wer t 10 (2*5) und später der Wert 15 zugewiesen werden. Dies führt in MM-Talk jedoch zu einem Fehlerhinweis (erstes $GD ist gelb hinterlegt). Somit ist, denke ich nachgewiesen, dass $GD Platzhalter für eine Funktion ist, und daraus leite ich ab, dass MM-Talk zu der Gruppe der Funktionalen Programmiersprachen gehört.

Mit freundlichen Grüßen
Benutzer die diese Diskussion aktuell lesen
Guest

Powered by Yet Another Forum.net version 1.9.1.8 (NET v4.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.

Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz finden Sie hier