Algorithmus-Optimierung Meisterschaft. - Seite 2

 
Dmitry Fedoseev:

Die Klasse muss für die Meisterschaft in einer Bibliothek untergebracht werden. Erstellen Sie eine Funktion in der Bibliothek, die von außen aufgerufen wird. Diese Funktion wird alles tun: eine Instanz der Klasse erstellen, alle Parameter setzen, die an die Funktion übergeben werden, usw.

Der Funktionsname ist für alle einheitlich. Jeder hat seine eigenen Bibliotheksdateinamen.

Der Checker verfügt über ein Skript. Der Checker ändert den Namen der importierten Bibliothek, kompiliert und führt sie aus.

Sollte noch einfacher sein, keine Klassen im ausführenden Skript. Nur importierte Funktionen mit einem Aufruf aus der *.ex5-Bibliothek mit einem Standardnamen, in der Bibliothek, schreibt der Teilnehmer die Standardaufrufschnittstelle und kann darin tun, was er will. Das macht es einfacher, sowohl die Prüfer als auch die Betrachter zu überprüfen, da man nur die Bibliotheksdatei ändern muss und nicht jedes Mal neu kompilieren muss.
 
Реter Konow:
Glauben Sie, dass Sie bei der Lösung des in der Meisterschaft gestellten Problems ohne OOP auskommen können? Ich bin es gewohnt, alles nach meiner eigenen Methode zu lösen. (Nun, ich mag OOP nicht.) :)
Ich bin sicher, dass Sie das können, aber es wäre interessant, Ihre Meinung zu erfahren.
 
Реter Konow:
Glauben Sie, dass Sie bei der Lösung des Problems, das bei der Meisterschaft gestellt wurde, ohne OOP auskommen können? Ich bin es gewohnt, alles mit meiner eigenen Methode zu lösen. (Nun, ich stehe nicht auf OOP.) :)

Sie können. Sie müssen eine kompilierte Bibliothek mit einer Funktion (mit einem bestimmten Namen) bereitstellen. Was Sie sonst noch tun und wie Sie es in dieser Bibliothek tun, bleibt Ihnen überlassen (Funktionen oder OOP).

Die untersuchte Funktion befindet sich allerdings in einem Objekt, aber das sollte kein Problem sein, es ist ein OOP-Minimum. Obwohl, es scheint, dass jetzt in mql gibt es Zeiger auf Funktionen, aber ich habe nicht in sie schauen. Die Entscheidung liegt bei Andrei.

 
Реter Konow:
Ich bin sicher, dass Sie das können, aber mich würde Ihre Meinung interessieren.
Sie können. Deshalb halte ich es für notwendig, sich mit importierten Funktionen zu begnügen. Dies ist das notwendige Minimum an praktischen Fähigkeiten für die Teilnahme. Und in der Bibliothek des Algorithmus können Sie sowohl OOP als auch Nicht-OOP verwenden, je nachdem, wie Sie es wünschen und für wen es am bequemsten ist.
 
Dmitry Fedoseev:

Sie können. Sie müssen eine kompilierte Bibliothek mit einer Funktion (mit einem bestimmten Namen) bereitstellen. Was Sie sonst noch tun und wie Sie es in dieser Bibliothek tun, bleibt Ihnen überlassen (Funktionen oder OOP).

Die untersuchte Funktion befindet sich allerdings in einem Objekt, aber das sollte kein Problem sein, es ist ein OOP-Minimum. Obwohl, es scheint, dass jetzt in mql gibt es Zeiger auf Funktionen, aber ich habe nicht in sie schauen. Die Entscheidung liegt bei Andrei.

Zeiger auf Funktionen... Ich werde die Dokumentation lesen. Alles, was ich wissen muss, ist das Wesentliche der Aufgabe, um die es geht. Wenn OOP nicht notwendig ist, werde ich das Problem mit meiner eigenen Methode lösen. Ich danke Ihnen.
 
Wo in der Hilfe über Funktionszeiger, wer weiß?
 

Ich werde morgen versuchen, Ihnen ein Beispiel zu zeigen. Ich bin heute nicht in der Lage, etwas in den Code zu schreiben.

Schlagen Sie zur Diskussion vor, am Ende muss man zu einer gemeinsamen einfachen Lösung kommen - die Verbindung des Optimierungsalgorithmus sollte niemandem Probleme bereiten.

 
Andrey Dik:
Es sollte noch einfacher sein, ohne Klassen im ausführenden Skript. Nur importierte Funktionen mit einem Aufruf aus der *.ex5-Bibliothek mit einem Standardnamen, in der Bibliothek, schreibt der Benutzer die Standardaufrufschnittstelle und kann darin tun, was er/sie will. Das macht es einfacher, sowohl die Prüfer als auch die Zuschauer zu überprüfen, da man nur die Bibliotheksdatei ändern muss und nicht jedes Mal neu kompilieren muss.

Wie kann man einem Mitglied eine Funktion geben? Dann muss er vielleicht die Funktion aus einer Bibliothek in seine Bibliothek importieren. Für mich ist es einfacher mit einer Klasse. Das Mitglied hat einen Parameter in der Funktion:

CFF * aff

Die Nutzung ist so einfach wie möglich:

aff.wert(...)

Es ist viel einfacher zu importieren und man muss sich nicht mit unnötigen Dateien herumschlagen.

 
Andrey Dik:
Sie können. Deshalb halte ich es für notwendig, nur mit importierten Funktionen auszukommen. Dies ist das notwendige Minimum an praktischen Fähigkeiten für die Teilnahme. Und in der Bibliothek des Algorithmus können Sie sowohl OOP als auch Nicht-OOP verwenden, je nachdem, wie es Ihnen gefällt und für wen es am besten passt.
Ich bin mit dem Import von Funktionen vertraut. Sie ist vertraut und klar. Aber ich habe keine Bibliotheken in mql erstellt. Nur die DLL. Aber ich denke, es ist wahrscheinlich einfacher. Wie auch immer, ich fange an, mich vorzubereiten.
 
Dmitry Fedoseev:

Wie kann man einem Mitglied eine Funktion geben? Dann muss er vielleicht die Funktion aus einer Bibliothek in seine Bibliothek importieren. Für mich ist es einfacher mit einer Klasse. Das Mitglied hat einen Parameter in der Funktion:

CFF * aff

Die Nutzung ist so einfach wie möglich:

aff.wert(...)

Es ist viel einfacher zu importieren, und Sie müssen sich nicht mit unnötigen Dateien herumschlagen.

Die *.ex-Bibliothek des Mitglieds sollte im Wesentlichen eine einheitliche Art sein, auf seinen Algorithmus zu verweisen. Der Algorithmus kann entweder in die Standardbibliothek integriert werden, oder der Algorithmus kann über eigene Funktionen aus der Bibliothek aufgerufen werden.

Und welche Funktion soll der Teilnehmer erhalten? Der Teilnehmer wird es ihm geben oder etwas weitergeben? Das ist ein Wortspiel, das ich nicht ganz verstehe.

Grund der Beschwerde: