simulation sur une calculatrice programmable
Transcription
simulation sur une calculatrice programmable
55. SIMULATION SUR UNE CALCULATRICE PROGRAMMABLE par: Michel Warisse, PERMAMA Voici les règles d'un jeu: LE PUITS. 1. ChoÀJ,ÀJi un nomb^& naXuA&l ^upê^euA 2. S-i ce. nombfLQ. à 1. pcùA on £ e dlv-Ue. poA 2 ; ce, nombre 2At -impouiA, on le. muttipiÀ^e poA 3 ^t on ajoute 1. 3. SI le. n.li,ultat eAt 1 on 6'ciHAlte, àlnon on Aecommcnce à l'étape. 2 . Ces règles peuvent être décrites par un organigramme. DÉPART Choisir n € N, n > 1 NESTOR NESTOR \ \ Est-ce que / n est / \ pair? / Non \ / Oui n prend la valeur n prend la valeur n X 3 + 1 n V 2 \ \ Est-ce que / n = 1? / Non \ NESTOR / Oui FIN Il s'agit maintenant d'écrire un programme utilisable par un enfant de 7 à 10 ans. L'utilisateur choisit le nombre et joue suivant les règles énoncées. La réponse n'est pas un nombre mais une séquence. Par exemple, après le nombre 22, l'utilisateur doit répondre Q ] 2 et donner le contrôle à la machine. 56. Le programme vérifie les réponses, les sanctionne et donne une évaluation à la fin du jeu. Voici un exemple de dialogue avec utilisation d'une imprimante: Intervenant Entrées/sorties Utilisateur 14 . 0 [D] commande à la machine d'enregistrer le nombre affiché . le nombre est enregistré, le jeu peut commencer ' 14 Machine Commentaires 1 / Utilisateur 0 2 El Machine. Utilisateur • 1 a . la réponse est exacte 22 Machine Utilisateur 3 0 3 0 1 0 + .* : 0 0 commande à la machine de vérifier la réponse . la réponse est exacte 1 Machine Utilisateur . 0 {Â\ + z . un message d'erreur apparaît, la réponse est fausse, il faut recommencer 2 . 0 • • 4 Machine Utilisateur Machine 0 2 fil 1 - FIN 17 1 . il a fallu 17 étapes et l'utili-. sateur s'est trompé une fois. 57. De quoi se compose le programme? 1. Du programme "principal" . . . . . . 2. enregistre la réponse de l'utilisateur vérifie la parité applique la règle qui convient incrémente de 1 le compteur d'étapes vérifie la réponse de l'utilisateur vérifie la condition d'arrêt. Du programme "initialisation" . met les mémoires à zéro . enregistre le nombre de départ. 3. Des programmes "règles" choisis pour le jeu . exécute les règles. 4. Du programme "évaluation" . donne le nombre d'étapes et le nombre d'erreurs. 5. Du programme "message d'erreur" . indique à l'utilisateur qu'il s'est trompé. 6. Du programme "en cas d'erreur" . permet à l'utilisateur de recommencer sans comptabilisation de l'erreur. 58. Voici le listage d'un tel programme pour une TI 59 ou TI 58 avec imprimante. Pas Code Touche Commentaires Pas 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 76 11 95 42 02 53 43 00 55 02 54 22 59 29 67 38 43 00 13 61 39 76 38 43 00 12 76 39 32 43 02 22 67 •30 99 42 00 69 23 32 01 67 28 43 00 91 LBL A Programme principal = . enregistrement de la réponse de 1'utilisateur . détermination de la parité 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 S TO 02 ( RCL 00 V 2 ) INV INT CP . . EQ SIN ' RCL 00 C GTO . COS LBL SIN RCL 00 B LBL COS X:T RCL 02 INV EQ TAN PRT STO 00 DP 23 X:T 1 . demande l'exécution de la règle C . demande l'exécution de la règle B . vérification de la réponse de l'utilisateur t . demcuide l'exécution de "message d'erreur" . impression et stockage de la bonne réponse . augmentation de 1 du compteur d'étapes . vérification de la condition d'arrêt EQ LOG RCL 00 R/S' . rappel de la valeur à l'affichage Code Touche 76 30 07 03 07 b7 05 02 . 06 00 05 04 69 \ 02 ' 69 03 69 05 69 24 43 00 91 76 28 98 69 00 02 01 02 04 03 01 69 03 69 05 43 03 99 43 04 99 98 98 , 91 ' LBL TAN 7 3 7 7 5 2 6 0 5 4 OP 02 OP 03 OP 05 OP 24 RCL 00 R/S LBL LOG ADV OP 00 2 1 2 4 3 1 OP 03 OP 05 RCL 03 PRT RCL 04 PRT ADV ADV R/S Commentaires Message d'erreur . codage du message d'erreur fe:E/"fe . chargement du message . impression du message . augmentation de 1 du compteur d'erreurs . rappel de la valeur à traiter . Évaluation . initialisation du registre d'impression . codage du message "FIN" . impression du message "FIN" . impression du nombre d'étapes . impression du nombre d'erreurs 57. De quoi se compose le programme? 1. DU programme "principal" . . . . . . 2. enregistre la réponse de l'utilisateur vérifie la parité applique la règle qui convient incrémente de 1 le compteur d'étapes vérifie la réponse de l'utilisateur vérifie la condition d'arrêt. DU programme "initialisation" . met les mémoires à zéro . enregistre le nombre de départ. 3. Des programmes "règles" choisis pour le jeu . exécute les règles. 4. Du programme "évaluation" . donne le nombre d'étapes et le nombre d'erreurs. 5. DU programme "message d'erreur" . indique à l'utilisateur qu'il s'est trompé. 6. Du programme "en cas d'erreur" . permet à l'utilisateur de recommencer sans comptabilisation de l'erreur. 58. Voici le listage d'un tel programme pour une TI 59 ou TI 58 avec imprimante. Pas Code Touche 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 03 2 033 034 035 036 037 038 039 040 041 042 043 044 045 76 11 95 42 02 53 43 00 55 02 54 22 59 29 67 38 43 00 13 61 39 76 38 43 00 12 76 39 32 43 02 22 67 30 99 42 00 69 23 32 01 67 28 43 00 91 LBL A ZI s TO 02 ( RCL 00 •r 2 ) INV INT CP • EQ SIN RCL 00 C GTO . COS LBL SIN RCL 00 B LBL COS X:T RCL 02 INV EQ TAN PRT S TO 00 OP 23 X:T 1 EQ LOG RCL 00 R/S' Commentaires Pas Programme principal 046 047 . enregistrement de 048 la réponse de 049 1'utilisateur 050 . détermination de 051 la parité 052 053 054 055 056 057 058 059 060 061 062 063 . demande l'exécu- 064 tion de la règle C 065. 066 067 068 069 070 . demande l'exécu- 071 tion de la règle B 072 073 . vérification de 074 la réponse de l'u- 075 tilisateur 076 077 078 . demande l'exécution de 079 "message d'erreur" 080 . impression et stockage 081 de la bonne réponse 082 . augmentation de 1 083 du compteur d'étapes 084 . vérification de la 085 condition d'arrêt 086 087 088 . rappel de la va- 089 leur à l'affichage 090 091 092 Code Touche 76 30 07 03 07 •07 05 02 06 00 05 04 69 , 02 ' 69 03 69 05 69 24 43 00 91 76 28 98 69 00 02 01 02 04 03 01 69 03 69 05 43 03 99 43 04 99 98 98 , 91 ' LBL TAN 7 3 7 7 5 2 6 0 5 4 OP 02 OP 03 OP 05 OP 24 RCL 00 R/S LBL LOG ADV OP 00 2 1 2 4 3 1 OP 03 OP 05 RCL 03 PRT RCL 04 PRT ADV ADV R/S Commentaires Message d'erreur . codage du message d'erreur felZv^+e . chargement du message . impression du message . augmentation de 1 du compteur d'erreurs . rappel de la valeur à traiter . Évaluation . initialisation du registre d'impression . codage du message "FIN" . impression du message "FIN" . impression du nombre d'étapes . impression du nombre d'erreurs 59. Pas code Touche 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 , 115 116 117 118 119 120 121 122 123 76 14 47 42 00 99 91 76 15 25 43 00 91 76 12 53 24 55 02 54 92 76 13 53 24 65 03 85 01 54 92 LBL D CMS S TO 00 PRT R/S LBL E CLR RCL 00 R/S LBL B ( CE .Commentaires Initialisation . mise à zéro des mémoires . stockage du nombre s En cas d'erreur . effacement de toute opération . rappel du nombre à traiter Règle ^ 2 T 2 ) RTN LBL C ( CE Règle X 3 t 1 X 3 + 1 ) RTN Les programmes "règles" sont placés à la fin au cas où l'on voudrait les modifier. On pensera à un utilisateur qui voudrait explorer des règles différentes. ( 60. Mode d'emploi Entrée 1 Commande Commentaires . introduire le nombre de départ n m2 2 ou 0 3 0 1 3 U 4 - . donner le contrôle à la machine " [1 5 . appliquer la règle qui convient . tant que le nombre affiché n'est pas 1, reprendre à l'étape 2 . en cas d'erreur Pour celui qui n'a pas d'imprimante, il est possible de faire les modifications suivantes. Les instructions d'impression dans le reste du programme sont ignorées. Pas 046 047 048 049 050 051 052 053 054 055 056 . 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 . 072 073 074 075 076 077 Code 76 30 03 42 01 76 52 09 22 28 66 97 01 52 • 69 24 43 00 91 76 28 43 04 • 55 01 00 00 85 43 03 95 91 Touche LBL TAN 3 STO 01 LBL EE 9 INV LOG PAU DSZ 01 EE OP 24 RCL 00 R/S LBL LOG RCL 04 •r 1 0 0 + RCL 03 R/S Commentaires Message d'erreur . le nombre 10^ clignote trois fois . augmente de 1 le compteur d'erreurs Règle d'arrêt . l'évaluation est donnée sous la forme d'un nombre décimal; la partie entière est le nombre d'étapes; la partie décimale , le nombre d'erreurs 61. Une variante intéressante serait de demander à l'utilisateur de trouver sa réponse mentalement. Bien sûr, dans le cas de nombres assez grands, il peut être tenté d'utiliser la calculatrice pour trouver la réponse. C'est là qu'il faut trouver un programme subtil qui comptabilise une erreur lorsque la calculatrice est/utilisée pour trouver la réponse. De plus, il doit être difficile à l'utilisateur de découvrir comment est effectué le contrôle. Du pain sur la planche pour ceux que cela intéresse'. Quant aux résultats mathématiques, je vous les laisse explorer, que vous ayez ou non la calculatrice qui convient.