Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
Entraide

Problème avec un programme ? Tu sais pas comment transférer un programme ? Tu es bloqué avec ton projet ?

Planète-Casio est une communauté d'entraide regroupant de fins connaisseurs sur les Casio qui seront ravis de te dépanner !

Allez sur le Forum partie Problèmes pour exposer votre souci et obtenir de l'aide.

Si vous cherchez à perfectionner votre niveau en programmation, visitez la section Astuces du forum et les Articles de qualité.

Défi
Retour liste des défis
Optimisation et implementation de condition
Difficulté : Difficile
Défi ajouté par : Thebigbadboy le 21-05-2021 23:03
ThebigbadboyHors ligneMembrePoints: 214 Défis: 7 Message
Question ou texte du défi :
Contexte :
Nous sommes actuellement en train d'étudier numériquement une fonction.
Tout d'abord, on recherche le maximum effectué par cette fonction dans l'intervalle [T, 2T] (où T∈R+) en utilisant la méthode FMax(). L'abscisse et l'image retournées par la méthode seront stockées respectivement dans U, V.
Nous recherchons ensuite le minimum de la fonction dans l'intervalle [U, 3T], où U est l'abscisse du point précédant, en utilisant la méthode FMin(). L'abscisse et l'image retournées par cette dernière méthode seront stockées respectivement dans X, Y.
Rien qu'avec ces informations-ci, nous ne pouvons pas dire grand chose de la fonction étudiée, mis à part que si le minimum et le maximum sont égaux (V = Y) et que leurs abscisses sont différentes (U != X), alors on peut considérer la fonction comme constante. Il est dès lors inutile de continuer à étudier cette fonction (sinon, on aimerait faire encore quelques "tests" dessus).

Objectif :
Il faut donc implémenter une condition (juste une condition : pas de If, ⇒, etc). Cette condition sera utilisée dans ce contexte : "Si <condition>, alors on continue l'étude de fonction".
/!\ la condition ne peut pas contenir le caractère ⇒ : elle doit pouvoir être correctement placée dans une condition If. Gardez le même ordre que celui expliqué dans le contexte ! SI votre condition compare V et Y, mettez-les dans ce sens-là uniquement !
Il est bien évidemment nécessaire de lire le contexte, car la-dedans vous trouverez plusieurs informations utiles pour pouvoir réduire la taille de la condition : en effet, il vous est non seulement demandé d'implémenter cette condition, mais aussi de la raccourcir aux max (le moins d'octets possible) !

Liste de caractères dont vous aurez peut-être besoin : ≠ ≥ ≤ = () Not And Xor Or.
Veuillez respecter la syntaxe Basic Casio : And possède un espace avant et après par exemple !

C'est mon premier défi, on va voir comment vont s'en sortir les personnes qui vont le tester

Je vous laisse donc des indices, j'espère que vous les utiliserez à bon escient !
Indice 1 : Implémentation de la condition non-optimisée
Cliquer pour enrouler
La condition à pendre en compte est bien
Not (V=Y And U≠X

Indice 2 : Taille (poids) nécessaire du code à valider
Cliquer pour enrouler
Une fois optimisée, la condition ne doit pas peser plus que 7 octets !

Indice 3 : Manque d'inspiration ?
Cliquer pour enrouler
Vous ne trouvez toujours pas comment mieux optimiser ce bout de code ?
Lisez attentivement le contexte et l'ordre dans lequel les choses sont faites.


Genre de condition attendue :

Votre réponse au défi :

Þ ã Ý à á â


Commentaires :

LephenixnoirHors ligneAdministrateurPoints: 20112 Défis: 143 Message
Posté le 21-05-2021 à 23:25 | #
8 c'est trivial mais alors 7... il faudra que j'y retourne. Faire deux tests ça semble pas passer parce que ça prend 6 et il reste qu'un octet pour les combiner. Une seule parenthèse ne semble pas pouvoir contourner la priorité opératoire... subtil x)
ThebigbadboyHors ligneMembrePoints: 214 Défis: 7 Message
Posté le 22-05-2021 à 09:34 | #
Je reconnais que c'est plutôt difficile oui
Il m'a fallu pas mal de temps pour trouver, mais en étant persuadé que c'était possible j'ai finalement réussi

Aussi, si jamais tu n'arrives toujours pas à descendre à 7 octets, l'indice le plus important est le n°3 (il y a peut-être une subtilité à y comprendre, qui sait).

Je ne sais pas s'il est utile de mettre un 4e indice, on verra plus tard

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 57 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd