Campionato di ottimizzazione degli algoritmi. - pagina 2

 
Dmitry Fedoseev:

La classe dovrà essere collocata in una biblioteca per il campionato. Fate una funzione nella libreria, che sarà chiamata dall'esterno, questa funzione farà tutto: creare un'istanza della classe, impostare tutti i parametri passati alla funzione, ecc.

Il nome della funzione è standard per tutti. Ognuno ha i propri nomi di file della libreria.

Il controllore ha uno script. Checker cambia il nome della libreria importata, compila, esegue.

Dovrebbe essere ancora più semplice, senza classi nello script in esecuzione. Solo le funzioni importate con una chiamata dalla libreria *.ex5 con un nome standard, nella libreria, il partecipante scrive l'interfaccia di chiamata standard, ed è libero di fare quello che vuole all'interno. Questo rende più facile controllare sia le pedine che gli spettatori, basta cambiare il file di libreria e non è necessario ricompilare ogni volta.
 
Реter Konow:
Pensate di poter fare a meno di OOP nel risolvere il problema posto nel campionato? Sono abituato a risolvere tutto con il mio metodo. (Beh, non mi piace l'OOP). :)
Sono sicuro di sì, ma sarebbe interessante conoscere la tua opinione.
 
Реter Konow:
Pensate di poter fare a meno di OOP nel risolvere il problema posto al campionato? Sono abituato a risolvere tutto con il mio metodo. (Beh, non sono appassionato di OOP). :)

È possibile. Dovete fornire una libreria compilata con una funzione (con un certo nome). Qualunque altra cosa tu faccia e come la fai in quella libreria dipende da te (funzioni o OOP).

Tranne che la funzione investigata sarà in un oggetto, ma questo non dovrebbe essere un problema, è un minimo OOP. Anche se sembra che ora in mql ci siano i puntatori alle funzioni, ma non ci ho guardato dentro. Sta ad Andrei decidere.

 
Реter Konow:
Sono sicuro che si può, ma sarei interessato a conoscere la tua opinione.
È possibile. Ecco perché penso che sia necessario accontentarsi solo delle funzioni importate. Questo è il minimo necessario di abilità pratiche per la partecipazione. E nella libreria dell'algoritmo potete usare sia OOP che non-OOP, in qualsiasi modo vogliate e a chiunque sia più conveniente.
 
Dmitry Fedoseev:

È possibile. Dovete fornire una libreria compilata con una funzione (con un certo nome). Qualunque altra cosa tu faccia e come la fai in quella libreria dipende da te (funzioni o OOP).

Tranne che la funzione investigata sarà in un oggetto, ma questo non dovrebbe essere un problema, è un minimo OOP. Anche se sembra che ora in mql ci siano i puntatori alle funzioni, ma non ci ho guardato dentro. Sta ad Andrei decidere.

Puntatori a funzioni... Leggerò la documentazione. Tutto quello che devo sapere è l'essenza del compito da svolgere. Se OOP non è necessario, lo risolverò con il mio metodo. Grazie.
 
Dove nell'aiuto sui puntatori di funzione, chi lo sa?
 

Domani cercherò di mostrarvi un esempio. Non sono in grado di scrivere nulla nel codice oggi.

Suggerire per la discussione, alla fine è necessario arrivare a una soluzione semplice comune - collegare l'algoritmo di ottimizzazione non dovrebbe causare problemi a nessuno.

 
Andrey Dik:
Dovrebbe essere ancora più semplice, senza classi nello script di esecuzione. Solo le funzioni importate con una chiamata dalla libreria *.ex5 con un nome standard, nella libreria, l'utente scrive l'interfaccia di chiamata standard, ed è libero di fare quello che vuole all'interno. Questo rende più facile controllare sia le pedine che gli spettatori, basta cambiare il file di libreria e non è necessario ricompilare ogni volta.

Come si fa a dare una funzione a un membro? Allora forse deve importare la funzione da qualche libreria nella sua libreria. Per me, è più facile con una classe. Il membro ha un parametro nella funzione:

CFF * aff

Il suo utilizzo è il più semplice possibile:

aff.value(...)

È molto più facile da importare e non c'è bisogno di preoccuparsi di file inutili.

 
Andrey Dik:
È possibile. Ecco perché penso che sia necessario cavarsela solo con funzioni importate. Questo è il minimo necessario di abilità pratiche per la partecipazione. E nella libreria dell'algoritmo, potete usare sia OOP che non-OOP, nel modo che preferite e a chi è più conveniente.
Ho familiarità con l'importazione di funzioni. È familiare e chiaro. Ma non ho fatto nessuna libreria in mql. Solo il dll. Ma penso che probabilmente è più facile. Comunque, sto iniziando a prepararmi.
 
Dmitry Fedoseev:

Come si fa a dare una funzione a un membro? Allora forse deve importare la funzione da qualche libreria nella sua libreria. Per me, è più facile con una classe. Il membro ha un parametro nella funzione:

CFF * aff

Il suo utilizzo è il più semplice possibile:

aff.value(...)

È molto più facile da importare e non ci si preoccupa di file inutili.

La libreria *.ex del membro dovrebbe essere essenzialmente un modo unificato per riferirsi al suo algoritmo. L'algoritmo può essere ricamato nella libreria standard, o l'algoritmo può essere chiamato dalla libreria usando funzioni proprie.

E quale funzione dare al partecipante? Il partecipante glielo darà o gli passerà qualcosa? Gioco di parole, non ti capisco bene.

Motivazione: