Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
L'espace membre

Pas encore membre de Planète-Casio ?

Vous voulez mettre à jour vos programmes, et cela en temps réel et sans restrictions ? Être informé(e) des derniers commentaires postés sur vos programmes ? Faire partie d'une communauté active basée sur l'échange et le partage ?

Inscrivez-vous !
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 ligneMaître du PuzzlePoints: 455 Défis: 16 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 :

LephenixnoirEn ligneAdministrateurPoints: 24574 Défis: 170 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 ligneMaître du PuzzlePoints: 455 Défis: 16 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
ThebigbadboyHors ligneMaître du PuzzlePoints: 455 Défis: 16 Message
Posté le 24-08-2021 à 23:58 | #
Oups je savais pas que je pouvais moi-même réussir le défi

Et quoi, toujours personne ?
Difficile n'est pas infaisable

En plus c'est pas comme si c'était inutile, car j'utilise assez souvent ce genre "d'optimisation" même si, je m'en doute, c'est peut-être pas vraiment rentable de perdre autant de temps pour 1 octet
LephenixnoirEn ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 14-01-2022 à 10:55 | #
Ok, j'ai trouvé. Note qu'il y a plusieurs solutions puisque pour "le" opérateur de comparaison il y a plusieurs choix équivalents.

Visiblement je suis le seul ha ha
ThebigbadboyHors ligneMaître du PuzzlePoints: 455 Défis: 16 Message
Posté le 14-01-2022 à 11:00 | #
Malheureusement je ne pense pas que tu aies trouvé la solution, dans la liste des défis on voit que celui-ci a été réussi 1 fois (par moi ).

Peut-être aurais-je manqué une solution possible ? Hésite pas à m'envoyer un mp - que je checkerai cette fois-ci haha.
LephenixnoirEn ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 14-01-2022 à 11:49 | #
Je suis certain d'avoir trouvé vu que j'ai été renvoyé à la liste des défis. Je t'ai envoyé un MP dans tous les cas.
ThebigbadboyHors ligneMaître du PuzzlePoints: 455 Défis: 16 Message
Posté le 14-01-2022 à 12:10 | #
En effet oui, tu as complètement raison, j'ai fait une erreur lors de l'encodage de la réponse (la réponse mise était exactement l'inverse de celle demandée...)

Tu peux donc retenter ta solution

Et pour le 2e opérateur de comparaison il y a plusieurs choix, même avec l'erreur de typo que j'avais faite. Désolé...
BrickcitiesHors ligneMembrePoints: 91 Défis: 9 Message
Posté le 14-01-2022 à 12:28 | #
Est-ce que la solution doit fonctionner peu importe les valeurs de Y et V ? (Donc fonctionner même si l'un des deux est nul ou négatif) ?
LephenixnoirEn ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 14-01-2022 à 13:09 | #
Exact Thebigbadboy, je ne sais pas pourquoi j'ai été renvoyé au menu à l'origine. En tous cas je l'ai validé du coup, le total est passé à 2 et j'ai récupéré les points. Merci
ThebigbadboyHors ligneMaître du PuzzlePoints: 455 Défis: 16 Message
Posté le 14-01-2022 à 14:49 | #
Oui Brickcities, l'image de la fonction peut aussi bien être nulle que négative.

Seules les abscisses (U et X) sont positives

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 157 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