Trace-Aufgabe (Konstruktion eines Funktionsgraphen) - Seite 3

 
MetaDriver:

Der Trailer ist ein "conceptual work in progress", also ein Beispiel für die Umsetzung.

Die schlechte Nachricht: Ich habe den Traum des Themenstarters von einer einzigen Trace-Funktion nicht gespeichert. Tut mir leid, Sergejew. :)


Vladimir, ich danke dir für deine harte Arbeit... aber... gibt es hier nur eine Sache zu tun. Sonst lässt mich der Themenstarter nicht einschlafen, und ich bin schon sehr gespannt :)
 
alsu:
Und woher kommt eine solch seltsame Aufgabe? Lohnt sich der Aufwand für zweifelhafte Forschung, wenn man einfach zwei Funktionen - Input und Output - machen kann und sich nicht die Mühe macht?
Außerdem ist das Problem mit einer einzigen Funktion nicht zu lösen. Sie benötigen besondere Klammern - Input und Output. Sonst bekommt man einen Nippel. :))
 
alsu:
Und wie kam es zu dieser seltsamen Aufgabe? Lohnt es sich, Mühe in zweifelhafte Forschung zu investieren, wenn man zwei Funktionen - Input und Output - erledigen kann und sich nicht die Mühe macht?

Eine Aufgabe als Aufgabe. In diesem Forum gibt es sogar noch seltsamere Aufgaben.

Sie können es nicht für die Ausgabe verwenden... Sie müssen mit jedem Return arbeiten und überall { } Klammern hinzufügen.

 
MetaDriver:
Darüber hinaus ist das Problem mit einer einzigen Funktion nicht zu lösen. Sie brauchen eine Art Klammer - Eingang und Ausgang. Sonst bekommt man einen Nippel... :))

Wie wäre es mit der Speicherung von Zwischenvariablen, die sich merken, woher sie kommen?
 
MetaDriver:

3. Am Anfang des Programms werden zwei Defines geschrieben

cool!

hatte nicht einmal eine solche Verwendung von #define erwartet - eigentlich eine Precompiler-Direktive, aber nach dem Buch, wie gelehrt: #define abc 100 verwendet wird, und dann hatte ich keine Ahnung, wie weit man #define verwenden kann

besonderen Dank!!!

 
IgorM:

fantastisch!

ich hatte diese Verwendung von #define nicht erwartet - eigentlich eine Precompiler-Direktive, aber nach dem Buch, wie gelehrt: #define abc 100 wird verwendet, und außerdem hatte ich keine Ahnung, wie breit #define verwendet werden kann

besonderen Dank!!!

Nun, es funktioniert nicht in 4))
 
alsu:
Nun, das funktioniert zum Beispiel nicht in vier))

verbieten mir, nicht auf MT5 zu programmieren, bis die Leute nach dem nächsten Build von MT5 nicht aufhören, sich über neue Bugs und unkorrigierte alte zu beschweren - Verschwendung meiner Zeit!
 
alsu:
Nun, das funktioniert zum Beispiel nicht in 4))

:)

aus der mql4-Dokumentation(MQL4-Referenz - Grundlagen der Sprache - Präprozessor - Deklaration einer Konstante):

Mit dem #define-Konstrukt können Sie am Anfang des Programms einen symbolischen Namen oder eine symbolische Konstante definieren, die eine bestimmte Zeichenkette sein wird. Anschließend ersetzt der Compiler alle nicht in Anführungszeichen gesetzten Vorkommen dieses Namens durch die entsprechende Zeichenkette. Dieser Name kann nämlich durch einen beliebigen Text ersetzt werden, der nicht unbedingt aus Zahlen bestehen muss

Aber die Tatsache, dass das Makro __FUNCTION__ in 4 undefiniert ist (und es kein Analogon gibt), ist wahr. Dies macht die Aufgabe des Code-Pre-Parsing noch mühsamer und weniger vielseitig.

 
sergeev:

Wie wäre es mit der Speicherung von Zwischenvariablen, die sich merken, woher sie kommen?
Was aber, wenn im Programm eine Rekursion vorkommt?
 
MetaDriver:
Was aber, wenn im Programm eine Rekursion vorkommt?

Die Rekursion kann nicht dazu führen, dass sich ein Zweig verlängert (neue und neue Knoten erscheinen).
Zumindest kann man das sofort vorhersehen. Aber normalerweise werden Rekursionen nicht so oft verwendet, dass man sie nicht kennt.

Grund der Beschwerde: