Un risultato davvero sorprendente!!! - pagina 3

 
nen >> :
C'è uno standard e deve essere rispettato. E se gli sviluppatori producono un loro standard che contraddice quello generalmente accettato, allora... lo sporco è... spazzatura.

Vi è stato dato uno strumento con cui lavorare. Dovreste ringraziare gli sviluppatori. Se non ti piace, non usarlo! Scrivere in C.

 
In MQL4 l'operazione è
bool r1 = a>=s && a<=f && s<=f || (a>=s || a<=f) && s>f;

succede così:



bool r1 = a>=s && a<=f && (s<=f || (a>=s || a<=f)) && s>f;

e lo standard è questo:



bool r1 = (a>=s && a<=f && s<=f) || ((a>=s || a<=f) && s>f);
 
Dedka писал(а) >>

Vi è stato dato uno strumento con cui lavorare. Dovreste ringraziare gli sviluppatori. Se non ti piace, non usarlo! Scrivere in C.

Non è necessario reinventare la ruota. Bisogna attenersi agli standard che vengono insegnati a tutti a scuola.

Se ogni persona vuole fare quello che vuole, sarà un casino...

E uso lo strumento fornito dagli sviluppatori. Non ci sono lamentele sui risultati degli sviluppi...

 

Sì, naturalmente la pigrizia naturale è il motore del progresso. Capisco l'argomento: dai uno strumento e usalo.


Ma una cosa.


Lo strumento è annunciato come un linguaggio con sintassi simile al C.


È un peccato che la somiglianza sia così impercettibilmente sostituita nel cuore delle operazioni logiche.


Metto certamente delle parentesi, ma le metto in Java e C e prendo quelle parentesi come sono scritte in Fortran e come mi è stato insegnato all'università.

 
Mettiamo le parentesi, naturalmente, ma quando la moltiplicazione è inferiore all'addizione.
Vorrei augurarvi "Un ulteriore successo nella lotta contro i peculatori!".
 
sol >> :

Sì, naturalmente la pigrizia naturale è il motore del progresso. Capisco l'argomento: dai uno strumento e usalo.


Ma una cosa.


Lo strumento è annunciato come un linguaggio con sintassi simile al C.


È un peccato che la somiglianza sia così impercettibilmente sostituita nel cuore delle operazioni logiche.


Metto certamente delle parentesi, ma le metto in Java e C e prendo quelle parentesi come sono scritte in Fortran e come mi è stato insegnato all'università.


In effetti, anche le varie implementazioni di C++ hanno diversi standard incompatibili. E anche se Java ha un unico standard per tutte le implementazioni, è incompatibile con la maggior parte delle implementazioni C++ per alcuni aspetti.



Per esempio:


int a = 3;

int b = 5;


b += a += b += 7;


Java darà b = 20;

C++ darà b = 27 nella maggior parte delle implementazioni;


Quindi, non trangugiate, signori - non ci sono standard comuni, ma ci sono libri di riferimento sui linguaggi di programmazione e parentesi.

 
Dedka писал(а) >>

Vi è stato dato uno strumento con cui lavorare. Dovreste ringraziare gli sviluppatori. Se non ti piace, non usarlo! Scrivere in C.

Ma non versate qui il vostro veleno.

Mostra quanto sia impreciso lo strumento. Questo aiuta gli sviluppatori a rendere il prodotto ancora migliore, ad eliminare bug, glitch, ecc. Naturalmente, se lo trovano necessario e possibile. Grazie a post come questi, MQL diventa migliore di costruzione in costruzione.

S.Y. Alcuni bug sono stati rilevati anche in C. Se scendete lungo la catena, il vostro prossimo consiglio dovrebbe essere quello di scriverli direttamente in codici macchina - lì tutto funzionerà sicuramente ))))

 
Rosh >> :

Ad essere onesti, non ho mai imparato le priorità delle operazioni logiche e bitwise. A causa di una pigrizia innata, ho appena messo le parentesi in tutti i posti giusti.

"C'è molto, amico Horace...."

Sono abbastanza d'accordo!

---

Odio le costruzioni in cui bisogna guadare come una foresta di conifere.

Preferisco scrivere un codice più chiaro - è più facile per me dopo

---

per esempio:

Ho sempre preferito creare una query SQL di fantasia

3 semplici, tra l'altro, come dimostra la pratica, tendono a funzionare più velocemente

a condizione che la prima query elimini il più possibile

Inoltre, il codice diventa più chiaro

---

in C e MQL4 in modo simile! Cerco di scrivere costruzioni più semplici

e preferisco mettere le parentesi da solo.

 

Basta! Cosa c'entra questo con gli standard o le convenzioni? Si tratta di un'area di errore totalmente diversa che capovolge tutta la matematica.

La base matematica dell'elettronica e del calcolo digitale è l'algebra della logica (o algebra booleana), in cui sicuramente (assiomaticamente)

L'addizione logica di "o" (disgiunzione ) e la moltiplicazione logica di "e"(congiunzione).

Come allora tutti i KNF e DNF che abbiamo studiato all'università? Penso che dobbiamo risolvere urgentemente questo problema e non metterci in imbarazzo.

 
Galaxy писал(а) >>

E tutti i QNF e DNF che abbiamo studiato all'università?

Ha studiato la logica per la programmazione più di 30 anni fa. Decifra le abbreviazioni di KNF e DNF.