Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
Soutenir Planète Casio !

Ce site vous plait ?

Ajoutez ce bouton sur votre site ou sur les forums pour soutenir Planète-Casio et sa communauté :

Le code à mettre sur votre site :

Ou dans votre signature :

Et rejoignez-nous sur :

Merci de votre soutien !

Défi
Retour liste des défis
Inverser 2 variables
Difficulté : Moyen
Défi ajouté par : Corne2plum3 le 03-11-2019 21:45
Corne2plum3Hors ligneMembrePoints: 280 Défis: 9 Message
Question ou texte du défi :
Un chevalier noir niveau 57 possède une CASIO programmable (et une grosse épée bien tranchante). Il est en train de créer un jeu d'aventure en basic. Mais après quelques heures passés dessus (et des monstres tués au passage), il cherche à inverser les valeurs des variables A et B. De plus,il ne veut pas faire usage des chaînes de caractères ni appeller d'autres variables... Aidez-le à changer ses variables, pendant qu'il repart à l'aventure à la recherche d'autre chose ! (bon désolé pour le scénario nul !)

Donc votre mission est d'écrire un programme qui permet d'échanger les valeurs de A et de B, quelque soit leurs valeurs. Attention ! Comme dit dans l'histoire un peu nulle, vous n'avez pas le droit d'utiliser une autre variable que A et B, ni les chaînes de caractères, ni les matrices et les listes, ni la variable Ans. Afficher les valeurs n'est pas demandé.
Mais un mage noir niveau 99 a dit : pour résoudre ce problème, il y a besoin de 3 lignes seulement et que tout le programme peut s'écrire directement grâce aux touches de la calculatrice.

Ici il y a 2 programmes possible. Pour enlever l'une de ces éventualités, on commence par changer la valeur de A en 1er.
Notez le programme directement dans le champ de saisie ci-dessous, sans utiliser FA-124. Pour le programme, on va utiliser le codage suivant :
-> /* La flèche qui pointe vers la droite */
/   /* division */
*  /* multiplication */
^  /* puissance */

On utilisera pas les 2 points :, on utilisera les retours à la ligne. Faites attention aux espaces et à bien respecter la casse (majuscules/minuscules)

Si jamais vous trouvez une autre solution, alors prévenez-moi par MP.

Votre réponse au défi :

Þ ã Ý à á â


Commentaires :

LephenixnoirHors ligneAdministrateurPoints: 20808 Défis: 143 Message
Posté le 03-11-2019 à 22:32 | #
Wow, il y a pleins de solutions. J'en ai testé 4 ou 5 mais pas de bol...
MilangHors ligneMembrePoints: 488 Défis: 2 Message
Posté le 03-11-2019 à 22:47 | #
J'en ai même trouvé un qui n'utilise ni multiplication, ni division, ni puissance
@Corne2plum3 je te l'ai envoyé en mp
RedcmdHors ligneMembrePoints: 306 Défis: 5 Message
Posté le 04-11-2019 à 04:31 | #
Maybe if I'm low on free available variables, I might actually use this in a program :P
LephenixnoirHors ligneAdministrateurPoints: 20808 Défis: 143 Message
Posté le 04-11-2019 à 12:58 | #
Ah parce qu'il faut utiliser multiplication, division et puissance ? Je croyais que c'était pour brouiller les pistes xD
Krevo_Hors ligneMaître du PuzzlePoints: 402 Défis: 2 Message
Posté le 04-11-2019 à 13:56 | #
J'ai 2 solutions :
- l'une avec 'Ans' mais on pourrais argumenter que c'est une 3e variable
- l'autre avec des + et des - mais on pourrais argumenter que ça ne marche pas pour n'importe quelle valeur (puisqu'il doit bien exister des dépassements de capacité si on joue trop près des limites). Je pense que toute solution avec des opérations arithmétiques aura potentiellement le même problème.
LephenixnoirHors ligneAdministrateurPoints: 20808 Défis: 143 Message
Posté le 04-11-2019 à 14:17 | #
Il y a aussi une solution avec des opérateurs binaires qui marchent peu importe les débordements de capacités (pour des entiers normaux). Mais pour ces entiers-là les versions avec + et - marchent aussi peu importe les overflow.
KikoodxHors ligneLabélisateurPoints: 2727 Défis: 11 Message
Posté le 04-11-2019 à 14:26 | #
Pas envie de me prendre la tête pour trouver la réponse qui fonctionne, on peut aussi contourner le problème avec les Listes ou Matrices (pas interdites donc autorisées).
Corne2plum3Hors ligneMembrePoints: 280 Défis: 9 Message
Posté le 04-11-2019 à 16:44 | #
À ce que je vois vous avez trouvé plusieurs solutions (dont celui que j'attendais).

Lephenixnoir a écrit :
Ah parce qu'il faut utiliser multiplication, division et puissance ? Je croyais que c'était pour brouiller les pistes xD

J'ai jamais dit qu'ils étaient nécessaire. Je les ai mis pour éviter les confusions dans la notation.

Krevo_ a écrit :
- l'une avec 'Ans' mais on pourrais argumenter que c'est une 3e variable

Ouais, ici Ans est considéré comme une variable.

Kikoodx a écrit :
on peut aussi contourner le problème avec les Listes ou Matrices (pas interdites donc autorisées).

Ah oui, j'ai oublié de le préciser, merci.

Bon merci pour vos retours, je n'étais pas assez précis dans l'énoncé, je vais le modifier

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 65 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