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.
Rechercher sur le site

Vous ne trouvez pas ce que vous cherchez ? Essayez le moteur de recherche du site !

Recherche sur le site :

Défi
Retour liste des défis
Mediatrice
Difficulté : Moyen
Défi ajouté par : Purobaz le 15-03-2012 18:07
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Question ou texte du défi :
Voilà un petit défi, intéressant aussi bien d'un point de vue des maths que de la programmation.
Tout est dans le titre, il s'agit de tracer la médiatrice d'une ligne.

Voilà le code minimal permettant de tracer la ligne initiale :
ViewWindow 1,127,0,1,63,0
Cls
Plot [DISP]
X->A:Y->B
Plot [DISP]
X->C:Y->D
Line


Vous l'avez compris, les coordonnées de la ligne sont (A,B) et (C,D). A vous de jouer

Il existe plein d'algos possibles, voici donc les critères de notation :
- exactitude de la médiatrice tracée (erreur éliminatoire)
- vitesse dexécution du programme /3
- absence de bugs /2
- optimisation du code /3
- clarté du code et aspect théorique /2


Commentaires :
Pages: Précédente | 1, 2

PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 17-03-2012 à 16:42 | #
T'as pas tout à fait repris le code minimal. Donc ça fait 120 octets chez moi.

Mais j'ai réussi à optimiser ton code à 116 octets.
Je t'ai mis 9 comme Pierrotll.

PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message
Posté le 17-03-2012 à 17:07 | #
@Ne0tux, tu cherches la syntaxe de quelle fonction ?
Ne0tuxHors ligneMembre d'honneurPoints: 3524 Défis: 265 Message
Posté le 17-03-2012 à 17:17 | #
@Puro : Il est vrai que j'avais enlevé le ViewWindow. Mais entre nous, il ne sert à rien si ?!?

En revanche, je suis curieux de savoir ce que tu as pu améliorer !

Merci en tout cas !

@PLL : j'aurais aimé utiliser la fonction "tangent" ou la fonction "normal", mais je t'avoue que malgré mes essais, je n'ai pas trouvé (dans le manuel non plus d'ailleurs)...

Au fait, c'est l'invasion des Huns !
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message
Posté le 17-03-2012 à 19:26 | #
Dans le manuel j'ai :
Tangent <fonction>,<abscisse X>
Normal <fonction>,<abscisse X>

Pour la fonction, il faut écrire Y1, un truc entre guillemet n'est pas accepté, et la courbe de la fonction est également tracée.
Ne0tuxHors ligneMembre d'honneurPoints: 3524 Défis: 265 Message
Posté le 17-03-2012 à 20:44 | #

Merci beaucoup, j'avais trouvé mais je n'avais pas compris comment écrire la fonction...

J'ai trouvé le "Y" dans le catalogue et ça fonctionne...

Mais dis moi, comment faire depuis un programme basic pour éditer cette fonction "Y1" par exemple ?

Et du coup, il y a moyen de faire le défi en moins d'octets !
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 17-03-2012 à 21:39 | #
"expression entre guillemets"->Y1
Aussi accessible dans VARS.

Et oui ça peut marcher en utilisant Normal.
Mais je sais pas si ça fait moins d'octets ?
Ne0tuxHors ligneMembre d'honneurPoints: 3524 Défis: 265 Message
Posté le 17-03-2012 à 23:01 | #

Et bien merci à vous deux, on en apprend tous les jours !

J'ai réessayé avec cette fonction du coup, et sans le ViewWindow le programme fait 112 octets, en gardant les optimisations précédentes et celles que tu m'a proposées...

Il y a vraiment beaucoup de solutions différentes ! On pourrait faire ça de pleins d'autres manières, mais il me semble que celles-ci sont les plus "économes" !

Merci encore !
NitrosaxHors ligneAncien rédacteurPoints: 1061 Défis: 17 Message
Posté le 18-03-2012 à 16:21 | #
J'ai fait 147 octets, mais sans utiliser les produits scalaires (pas encore vu en maths ).
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 18-03-2012 à 16:43 | #
Ca manque un peu d'optimisation, et n'oublie pas d'envisager le cas où la médiatrice est verticale. Je t'ai mis 6.

Pages: Précédente | 1, 2

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