Championnat d'optimisation des algorithmes. - page 2

 
Dmitry Fedoseev:

Pour le championnat, la classe devra être placée dans une bibliothèque. Créez une fonction dans la bibliothèque, qui sera appelée de l'extérieur, cette fonction fera tout : créer une instance de la classe, définir tous les paramètres passés à la fonction, etc.

Le nom de la fonction est standard pour tous. Chacun a son propre nom de fichier de bibliothèque.

Le vérificateur a un script. Checker change le nom de la bibliothèque importée, compile, exécute.

Cela devrait être encore plus simple, sans classes dans le script d'exécution. Seules les fonctions importées avec un appel de la bibliothèque *.ex5 avec un nom standard, dans la bibliothèque, le participant écrit l'interface d'appel standard, et est libre de faire ce qu'il veut à l'intérieur. Cela facilite le contrôle des pions et des spectateurs, il suffit de modifier le fichier de la bibliothèque et il n'est pas nécessaire de recompiler à chaque fois.
 
Реter Konow:
Pensez-vous que vous pouvez vous passer de la POO pour résoudre le problème posé dans le championnat ? J'ai l'habitude de tout résoudre en utilisant ma propre méthode. (Eh bien, je n'aime pas la POO). :)
Je suis sûr que vous le pouvez, mais il serait intéressant de connaître votre opinion.
 
Реter Konow:
Pensez-vous que vous pouvez vous passer de la POO pour résoudre le problème posé lors du championnat ? J'ai l'habitude de tout résoudre par ma propre méthode. (Eh bien, je ne suis pas dans l'OOP.) :)

Vous pouvez. Vous devez fournir une bibliothèque compilée avec une fonction (avec un nom donné). Ce que vous faites d'autre et comment vous le faites dans cette bibliothèque vous appartient (fonctions ou OOP).

Sauf que la fonction investiguée sera dans un objet, mais cela ne devrait pas être un problème, c'est un minimum de POO. Bien qu'il semble que maintenant dans mql il y ait des pointeurs vers les fonctions, mais je n'ai pas regardé dedans. C'est à Andrei de décider.

 
Реter Konow:
Je suis sûr que vous pouvez, mais je serais intéressé de connaître votre opinion.
Vous pouvez. C'est pourquoi je pense qu'il est nécessaire de se contenter des fonctions importées. Il s'agit du minimum nécessaire de compétences pratiques pour participer. Et dans la bibliothèque de l'algorithme, vous pouvez utiliser à la fois OOP et OOP-free, en général, comme vous le voulez et à qui cela convient le mieux.
 
Dmitry Fedoseev:

Vous pouvez. Vous devez fournir une bibliothèque compilée avec une fonction (avec un nom donné). Ce que vous faites d'autre et comment vous le faites dans cette bibliothèque vous appartient (fonctions ou OOP).

Sauf que la fonction investiguée sera dans un objet, mais cela ne devrait pas être un problème, c'est un minimum de POO. Bien qu'il semble que maintenant dans mql il y ait des pointeurs vers les fonctions, mais je n'ai pas regardé dedans. C'est à Andrei de décider.

Des pointeurs vers des fonctions... Je vais lire la documentation. Tout ce que j'ai besoin de savoir, c'est l'essence de la tâche à accomplir. Si la POO n'est pas nécessaire, je la résoudrai avec ma propre méthode. Merci.
 
Où dans l'aide sur les pointeurs de fonction, qui sait ?
 

J'essaierai de vous montrer un exemple demain. Je ne suis pas en mesure d'écrire quoi que ce soit dans le code aujourd'hui.

Suggérer pour la discussion, en fin de compte il est nécessaire d'arriver à une solution commune simple - la connexion de l'algorithme d'optimisation ne devrait pas causer de problèmes à personne.

 
Andrey Dik:
Il devrait être encore plus simple, sans classes dans le script d'exécution. Seules les fonctions importées avec un appel de la bibliothèque *.ex5 avec un nom standard, dans la bibliothèque, l'utilisateur écrit l'interface d'appel standard, et est libre de faire ce qu'il veut à l'intérieur. Cela facilite le contrôle des pions et des spectateurs, il suffit de modifier le fichier de la bibliothèque et il n'est pas nécessaire de recompiler à chaque fois.

Comment donner une fonction à un membre ? Il doit alors peut-être importer la fonction d'une bibliothèque dans sa bibliothèque. Pour moi, c'est plus facile avec une classe. Le membre a un paramètre dans la fonction :

CFF * aff

Son utilisation est aussi simple que possible :

aff.value(...)

L'importation est beaucoup plus facile et il n'est pas nécessaire de s'encombrer de fichiers inutiles.

 
Andrey Dik:
Vous pouvez. C'est pourquoi je pense qu'il est nécessaire de se contenter des fonctions importées. Il s'agit du minimum nécessaire de compétences pratiques pour participer. Et dans la bibliothèque de l'algorithme, vous pouvez utiliser à la fois OOP et non-OOP, de la manière qui vous convient le mieux et qui vous convient le mieux.
Je suis familier avec les fonctions d'importation. Il est familier et clair. Mais je n'ai fait aucune bibliothèque dans mql. Seulement le dll. Mais je pense que c'est probablement plus facile. Bref, je commence à me préparer.
 
Dmitry Fedoseev:

Comment donner une fonction à un membre ? Il doit alors peut-être importer la fonction d'une bibliothèque dans sa bibliothèque. Pour moi, c'est plus facile avec une classe. Le membre a un paramètre dans la fonction :

CFF * aff

Son utilisation est aussi simple que possible :

aff.value(...)

Il est beaucoup plus facile d'importer et de ne pas s'embêter avec des fichiers inutiles.

La bibliothèque *.ex du membre devrait être essentiellement un moyen unifié de se référer à son algorithme. L'algorithme peut être soit brodé dans la bibliothèque standard, soit appelé depuis la bibliothèque à l'aide de fonctions propres.

Et quelle fonction donner au participant ? Le participant lui donnera ou lui passera quelque chose ? Jeu de mots, je ne te comprends pas bien.