TI Codes
Découvrez nos activités de 10 minutes pour s'approprier les bases du code et de la programmation.
Unité 1: Bases de la Programmation et Affichage à l’écran
Compétence 1 Bases de la Programmation et Affichage à l’écran
Notes de l'enseignantCeci est la première des trois étapes de l’Unité 1.
À la fin de cette Unité, vous utiliserez les compétences étudiées dans cette leçon pour créer un programme plus complexe.
Ceci est votre première leçon pour apprendre à coder en TI-Basic. Le TI-Basic est un langage de programmation qui peut être utilisé pour programmer sur les calculatrices TI.
La structure et la syntaxe (grammaire) du TI-Basic étant plus simples que celles d’autres langages modernes, le TI-Basic fournit un excellent point de départ pour apprendre les bases du codage. Commençons !
Objectifs :
- Utiliser l’éditeur de programme TI-Basic pour créer et exécuter un programme simple.
- Utiliser les menus de la touche [prgm] pour sélectionner et copier des commandes dans le programme.
- Exécuter un programme.
étape 1
Indication : le B.A.S.I.C. est l’un des premiers langages de programmation conçu pour enseigner et apprendre la programmation. C’est un acronyme de Beginners’ All-purpose Symbolic Instruction Code (littéralement « Code d'instruction symbolique multi-usages du débutant »). Le TI-Basic est basé sur ce langage.
Allumez votre TI-83 Premium CE et appuyez sur la touche [prgm].
Sélectionnez NOUVEAU en utilisant les touches fléchées.
Sélectionnez Créer en appuyant sur [entrer].
étape 2
Le nom de notre programme sera BONJOURX. Ce peut être n’importe quel nom légal*.
Appuyez sur [entrer] après avoir saisi le nom. Vous êtes maintenant dans l’éditeur de programme.
Chaque ligne commence par le caractère ‘‘deux points’’ ( : ).
*Un nom légal doit : comporter au plus 8 caractères, commencer par une lettre, contenir uniquement des lettres majuscules et des nombres, sans espaces et doit être unique.
Indication : Si vous utilisez un nom de programme qui existe déjà, vous allez éditer ce programme plutôt que d’en créer un nouveau.
Ce programme va afficher un message simple sur l’écran de calcul de votre calculatrice.
étape 3
Sélection d’une commande de programmation dans le menu Program.
La touche [prgm] donne accès maintenant à de nouveaux menus contenant les commandes utilisées en TI-Basic. Si vous voulez utiliser l’une de ces commandes, vous devez la sélectionner dans un de ces menus et non la taper au clavier.
- Appuyez sur la touche [prgm]
- Choisissez le menu E/S en utilisant les touches fléchées. Ce menu contient toutes les commandes affectant les Entrées et les Sorties.
- Sélectionnez Disp. Le mot est collé dans votre programme à l’endroit où se trouve le curseur. La commande Disp affichera sur l’écran de calcul ce que l’on entrera en argument.
étape 4
Indication : Vous ne pouvez pas taper au clavier dans les commandes de programmation. Les commandes sont également non modifiables. Tout mot-clé dans un programme est sélectionné dans les menus. Le texte affiché est, en fait, seulement un symbole lisible (jeton) pour la commande de programmation.
étape 5
Indication : Certaines des autres touches de la calculatrice se comportent différemment lors de leur utilisation dans l’éditeur de programme : La touche [math] vous permet de sélectionner une des fonctions mathématiques afin de l’utiliser dans un programme. La seconde fonction de la touche [0] ([catalog]) permet d’accéder à la liste de TOUTES les fonctions de la calculatrice classées par ordre alphabétique. La touche [mode] vous permet de sélectionner un mode de réglage afin que le programme change le mode pour ce réglage. Il y a d’autres touches qui présentent des comportements similaires.
étape 6
étape 7
Tapez un message d’accueil entre apostrophes doubles.
Ce message est une chaîne de caractères, c’est à dire un groupe de caractères qui ne fait qu’un seul bloc.
- Votre chaîne de caractères doit commencer et finir par des apostrophes doubles. Sans ces apostrophes, le programme “pense” que cela signifie quelque chose de complètement différent.
- Rendez-vous la vie plus simple : Appuyez sur [2nde][alpha] pour bloquer en mode alpha pendant la saisie de la chaîne de caractères.
étape 8
Indication : La touche [annul] efface une ligne entière de code.
Indication : Pour insérer une ligne vide placez le curseur en début ou en fin d’une ligne et appuyez sur [insérer] ([2nde] [suppr]) puis sur [entrer].
Indication : Pour supprimer une ligne appuyez sur la touche ‘, se positionner à l’aide des touches fléchées à la fin de la ligne précédente et appuyer sur [suppr]. Il n’est pas possible de copier et de coller.
étape 9
Votre programme est terminé !
Lançons maintenant l’exécution. Il n’est pas nécessaire de sauvegarder le programme, avec TI-Basic, celui-ci est enregistré au fur et à mesure de sa saisie. C’est pour cela que nous avons nommé le programme en premier.
Pour exécuter le programme :
Appuyez sur [quiter] ([2nde][mode]) pour revenir à l’écran de calcul.
- Appuyez sur [prgm].
- Dans le menu EXÉC (exécuter), sélectionnez votre programme.
- Appuyez sur [entrer] pour coller le nom du programme dans l’écran de calcul.
- Appuyez de nouveau sur [entrer] pour lancer l’exécution du programme.
étape 10
Votre message s’affiche dans l’écran de calcul.
Vous pouvez aussi éditer votre programme :
- Appuyez sur [prgm].
- Choisissez le menu ÉDIT en utilisant les touches fléchées.
- Sélectionnez votre programme et appuyez sur [entrer].
étape 11
Indication : Le fait d’appuyer sur [entrer] après l’exécution d’un programme permet de relancer son exécution (car [entrer] permet de coller la dernière commande entrée dans l’écran de calcul).
Indication : Si un programme génère un message d’ERREUR, c’est qu’il y a quelque chose de faux dans ce programme. Il y a deux options lors d’une erreur : 1 : Quitter et 2 : Voir. Quitter vous renvoie à l’écran de calcul et Voir vous renvoie dans l’éditeur de programme à l’endroit où se trouve l’erreur. Ceci peut ou ne peut pas être l’exacte position de l’instruction qui provoque l’erreur.
étape 12
Indication : Les erreurs fréquentes sont les erreurs de SYNTAXE. Syntaxe est un synonyme de grammaire ; il y a quelque chose de faux dans la structure de l’instruction.
Indication : Pour effacer un programme, utilisez le Gestionnaire de mémoire L ([2nde][+]). Dans le menu MÉMOIRE choisissez 2 : Gest. Mémoire/Suppr.…). Sélectionnez 7: Prgm… appuyez sur la touche [suppr] sur le programme que vous voulez supprimer. Vous allez voir un message d’avertissement : ‘‘En êtes-vous sûr ?’’.
Compétence 2 Bases de la Programmation et Affichage à l’écran
Notes de l'enseignantDans cette seconde des trois leçons de l’Unité 1 vous allez vous exercer à modifier un programme simple et étudier comment effacer l’écran de calcul de votre TI-83 Premium CE. Nous allons utiliser le programme crée dans l’étape 1.
Objectifs :
- Utiliser l’éditeur de programme en TI-Basic pour éditer et modifier un programme simple.
- Utiliser les menus de la touche [prgm] pour sélectionner et copier des commandes dans le programme.
- Utiliser des fonctionnalités simples d’édition pour insérer et effacer des éléments.
- Apprendre à effacer l’écran de calcul.
étape 1
Sélectionnez ÉDIT en utilisant les touches fléchées.
Sélectionnez le programme que vous avez commencé précédemment. Nous avions utilisé BONJOURX dans cette leçon ainsi notre écran affiche ce nom de programme.
étape 2
Dans l’éditeur de programme le curseur clignote au début de la première instruction du programme. Utilisez les touches fléchées pour déplacer le curseur.
étape 3
Nous allons modifier ce programme en lui ajoutant plusieurs instructions “Disp”.
Déplacez le curseur à la fin de la première ligne du programme et appuyez sur [entrer]. Un second “deux-points” apparaît. C’est la seconde ligne du programme.
- Appuyez sur la touche [prgm].
- Choisissez le menu E/S en utilisant les touches fléchées. Ce menu contient toutes les commandes affectant les Entrées et les Sorties.
- Sélectionnez de nouveau Disp. Le mot est collé de nouveau dans votre programme à l’endroit où se trouve le curseur, comme indiqué dans l’écran à droite.
Indication : La modification d’un programme peut se faire à l’aide des touches fléchées, de [suppr] et de [insérer] ([2nde] [suppr]). Le curseur indique l’état actuel du mode d’édition : un bloc clignotant correspond à remplacement ; un tiret bas clignotant correspond à insertion ; et un ‘A’ clignotant au mode alpha.
Dans ces documents, les touches entre crochets, comme [insérer], correspondent aux secondes fonctions des touches. Jusqu’ici nous avons indiqué la combinaison complète des touches, nous utiliserons dorénavant seulement la notation entre crochets.
étape 4
Pensez à appuyer sur [2nde][alpha] pour bloquer en mode alpha pendant la saisie de la chaîne de caractères. Notez le changement d’apparence du curseur lorsque le mode alpha est activé.
étape 5
Vous pouvez ajouter autant d’instructions que vous le désirez, mais si vous en ajoutez trop, le texte résultant risque de ne pas contenir dans un seul écran.
Votre programme est terminé. Lançons-le en appuyant sur [quitter] et en le sélec-tionnant dans le menu EXÉC de la touche [prgm].
Indication : Le nombre de lignes de l’écran de calcul dépend du type de calculatrice utilisée. Par exemple une TI-84 Plus possède 8 lignes, la TI-83 Premium CE en a 10. L’affichage sur la dernière ligne induit un ‘return’ sur cette ligne ce qui provoque le défilement de l’écran d’une ligne vers le haut.
étape 6
Pour changer le “VA” dans la première instruction en “VAS TU”, utilisez les touches fléchées pour placer le curseur après le A, appuyez sur [insérer] le curseur se transforme en tiret bas clignotant. Tapez les caractères S, espace ([alpha] [0]), T et U.
Pour effacer un caractère, appuyez sur la touche [suppr] sur le caractère.
Pour effacer une instruction complète, appuyez sur la touche [annul] n’importe où dans l’instruction. Ceci efface toute la ligne de code et laisse une ligne vide avec seulement un deux-points en début.
Les lignes vides n’ont aucun effet sur l’exécution du programme ; elles sont ignorées.
Si vous voulez effacer une ligne vide, vous pouvez appuyer sur [supper], le curseur étant en fin de la ligne précédente.
Lorsque vous avez terminé (ou si vous voulez juste tester ce que vous avez obtenu jusqu’à présent), appuyez sur [quitter] et lancez le programme.
étape 7
Effacement de l’écran de calcul
L’instruction EffÉcran efface l’écran de calcul, cette instruction doit être au début du programme.
- Lors de la modification de votre programme, placez le curseur au début du programme (sur le “D” de la première instruction Disp).
- Appuyez sur [insérer] puis sur [entrer] pour créer une nouvelle ligne vide au dessus de l’instruction Disp.
- Appuyez sur la touche fléchée vers le haut pour placer le curseur sur cette ligne vide.
- Appuyez sur [prgm] et utilisez la touche fléchée droite pour sélectionner le menu E/S et sélectionner l’instruction EffÉcran.
- Quittez l’éditeur et lancez le programme. Vous allez voir votre texte s’afficher sur l’écran de calcul préalablement effacé.
Indication : Il n’est pas possible d’annuler une action dans l’éditeur. Toutes les frappes de touches sont enregistrées. Si une erreur est faite lors de la modification alors l’instruction doit être reconstruite. Aussi soyez vigilant lors des modifications.
Rappelez-vous que la touche [annul] efface toute la ligne sur laquelle se trouve le curseur, ainsi soyez prudent en utilisant cette touche !
Compétence 3 Bases de la Programmation et Affichage à l’écran
Notes de l'enseignantDans cette dernière des trois leçons de l’Unité 1 vous allez vous exercer à modifier un programme simple et apprendre comment placer du texte n’importe où dans l’écran de calcul en utilisant l’instruction Output.
Objectifs :
- Utiliser l’instruction TI-Basic Output( pour contrôler la position du texte affiché sur l’écran de calcul.
- Utiliser l’instruction Pause pour éviter la fin préma-turée d’un programme.
étape 1
Allumez votre TI-83 Premium CE et appuyez sur la touche [prgm].
Sélectionnez NOUVEAU en utilisant les touches fléchées.
Appuyez sur [entrer] pour créer un nouveau programme et entrez un nom pour ce programme.
On utilisera OUTDEMO1 ici. Étant en mode alpha, notez que pour taper le chiffre “1” on doit appuyer de nouveau sur [alpha] pour sortir de ce mode.
étape 2
Utilisation de l’instruction Output(
Démarrez votre programme par l’instruction EffÉcran à partir de la touche [prgm], menu E/S.
Pensez à appuyer sur [suppr] à la fin de la ligne. Ensuite, sélectionnez l’instruction Output( à partir du même menu.
étape 3
L’écran de calcul est divisé en une grille invisible de caractères.
L’instruction Output( placera votre texte à partir de l’un des points de cette grille utilisant le numéro de la ligne et le numéro de la colonne de cette position. Le coin supérieur gauche correspondant à la ligne 1, colonne 1.
Ainsi, après la parenthèse ouvrante dans l’instruction Output(, entrez 3,5,“BONJOUR”)
Pensez à fermer les parenthèses.
Indication : (3, 5, “BONJOUR”) signifie que la lettre “B” sera affichée à la ligne 3, colonne 5 de l’écran de calcul. L’écran de calcul de la TI-83 Premium CE possède 10 lignes et 26 colonnes à cause de la meilleure résolution d’écran qu’une TI-84 Plus, par exemple, dont l’écran ne possède que 8 lignes et 16 colonnes.
étape 4
Lançons le programme.
Le résultat devrait ressembler à l’écran de droite si vous avez utilisé les mêmes valeurs de paramètres. Notez que ‘Fait’ apparaît sur la ligne du haut même si “BONJOUR” est affiché sur la troisième ligne.
L’instruction Output( n’a pas d’effet sur la position courante du curseur.
L’instruction EffÉcran positionne le curseur en haut à gauche de l’écran, de sorte que ‘Fait’ est ainsi affiché sur la première ligne.
étape 5
Modifiez votre programme en ajoutant l’instruction Pause en dessous de l’ins-truction Output(.
Vous trouverez Pause dans le menu CTL de la touche [prgm]. CTL est une abréviation de ‘Contrôle’, ce menu contient les instructions permettant de contrôler le comportement d’un programme.
étape 6
Lancez de nouveau le programme et regardez ce qu’il se passe.
‘Fait’ a maintenant disparut! Regardez de près, dans le haut de l’écran à droite, vous allez voir l’indicateur “occupé”. L’instruction Pause est en action.
Le programme est en pause à cet instant et l’utilisateur doit appuyer sur [entrer] pour continuer. Puis le message “Fait” apparaît en haut de l’écran.
Indication : Les calculatrices couleur possèdent un signal indiquant qu’elles sont occupées, un cercle tournant dans le coin supérieur droit de l’écran près de l’icône de la batterie.
etape 7
Ajout de plusieurs instructions Output( à votre programme
Essayez de voir ce qu’il se passe quand il n’y a pas assez de place pour afficher le message sur une seule ligne.
Réponse : Il y a un retour à la ligne, le texte continue sur le début de la ligne suivante.
Ajoutez une instruction à la fin du programme de manière à terminer le programme avec un écran vide.
Réponse : Ajoutez une autre instruction EffÉcran après l’instruction Pause.
Application Création du titre d’un écran
Notes de l'enseignantDans cette application de l’Unité 1, vous allez utiliser les instructions étudiées pour créer un (ou plusieurs) titre(s) d’écran.
Objectifs :
- Utiliser les instructions TI-Basic étudiées dans l’Unité 1 pour créer le titre d’un écran à l’intérieur d’un programme plus large.
étape 1
Partie 1 :
Utilisez l’instruction Disp pour afficher une bordure d’astérisques autour de l’écran. Utilisez un Output( pour afficher la dernière ligne car l’utilisation de Disp ferait défiler l’écran vers le haut. N’oubliez pas dans un premier temps d’effacer l’écran de calcul et de mettre une pause dans le programme à ce stade.
Une fois l’encadrement affiché, quand l’utilisateur appuie sur [entrer], le texte de la Partie 2, ci-dessous, doit apparaître au milieu de l’écran.
Note : Les utilisateurs de calculatrices TI-8x obtiendront un nombre différent d’étoiles autour de l’écran, ceci étant dû aux différences de taille d’écran et de définition.
étape 2
Part 2 :
Utilisez l’instruction Output( pour afficher le titre, la date, et l’auteur, centrés à l’intérieur du cadre.
Après l’affichage du texte l’utilisateur doit appuyer de nouveau sur [entrer] pour continuer. À ce point, le programme doit effacer l’écran et terminer l’exécution.
Indication : Le nombre d’astérisques et d’espaces dans la première partie du programme sont importants. Les élèves doivent calculer avec précaution la quantité de texte nécessaire, les retours ligne se font automatiquement grâce aux lignes de code. La dernière ligne de l’écran nécessite un Output( car l’utilisation de Disp entraînerait un "return" automatique, ce qui provoque le défilement de l’écran d’une ligne vers le haut.
étape 3
Exemple de réponse :
EffÉcran1
Disp "**************************"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Output(10,1,"**************************")
Pause
Output(4,8,"MON PROGRAMME")
Output(5,9,"23/11/2015")
Output(7,12,"TOTO")
Pause
EffÉcran
[1] ClrHome sur une calculatrice en anglais.
- Compétence 1
- Compétence 2
- Compétence 3
- Application
Unité 2: Utilisation des variables et expressions
Compétence 1 Utilisation des Variables et des Expressions
Notes de l'enseignantObjectifs :
- Utiliser l’instruction TI-Basic Prompt pour assigner une valeur à une variable.
- Faire la différence entre variables mathématiques et variables informatiques.
- Effectuer des opérations à l’intérieur d’instructions Disp.
- Utiliser l’instruction Output pour produire des résultats significatifs et lisibles.
étape 1
Variables réelles
- La TI-83 Premium CE a 27 variables intégrées, utilisées pour stocker des valeurs numériques.
- Les valeurs peuvent être des nombres réels (décimaux) ou des nombres complexes.
- Les noms des variables sont les lettres de A à Z et la lettre θ (‘thêta’).
- Toute variable contient une valeur. Si aucune valeur n’a été assignée la valeur par défaut est 0 (zéro).
- Les valeurs restent enregistrées même lorsque la calculatrice est éteinte.
- Si la RAM est réinitialisée toutes les valeurs sont remises à 0.
- L’écran de calcul à droite montre quelques variables (à gauche) et leur valeur courante (à droite). Les vôtres peuvent être différentes.
étape 2
étape 3
- L’instruction Prompt est suivie d’un ou plusieurs noms de variables pour lesquelles l’utilisateur sera invité à entrer une valeur.
- Elle est appelée ‘Prompt’ car lorsque vous exécutez le programme, il affiche le nom de la variable et un point d’interrogation.
étape 4
Programmer avec Prompt
1.Commencez un nouveau programme.
2.Comme première instruction du programme utilisez l’instruction Prompt que vous trouverez dans le menu E/S de la touche [prgm]
3.Après la commande Prompt tapez le nom de la variable que vous voulez uti-liser dans votre programme. Dans ce programme nous utiliserons la lettre A.
4.Utilisez l’instruction Disp pour afficher le carré de A, A2 ; tapez A puis appuyez sur la touche [x²]
étape 5
6.Après l’invite “A=?”, entrez n’importe quel nombre.
7.Le programme affiche le carré de ce nombre et prend fin.
étape 6
- Éditez le programme précédent.
- Ajoutez, B à l’instruction Prompt.
- Changez l’instruction Disp afin qu’elle affiche la somme A+B
- Lancez de nouveau le programme.
étape 7
C’est un programme très simple et efficace, exigeant uniquement deux instruc-tions, mais ces deux instructions font beaucoup de travail !
étape 8
Rappelez-vous que vous pouvez améliorer les sorties d’un programme en utilisant Output( plutôt que Disp pour montrer les valeurs initiales entrées et les résultats correctement affichés.
Il suffit de mettre le calcul à droite dans l’instruction Output.
Essayez !
Exemple : Output(5,7,A+B) affiche la valeur de A+B en ligne 5 commençant en colonne 7.
étape 9
- À droite, il y a deux écrans d’un programme en cours d’exécution, l’un montrant la section du Prompt et l’autre celle du Output. Pouvez-vous mieux faire ?
- Pensez à inclure des instructions Pause et EffÉcran aux bons endroits dans le programme afin de garder un écran bien présenté.
Vous ne pouvez afficher deux éléments avec une seule instruction Output.
Le message “SOMME=” et la somme A+B doivent utiliser deux instructions séparées.
Les positions à l’écran sont importantes !
Note : vous trouverez le signe égal (“=”) dans le menu tests([2nde][math]).
Rappelez-vous que l’écran de la TI-83 Premium CE peut afficher 26 caractères par ligne et ce sur 10 lignes. Les écrans d’une TI-83 ou d’une TI-84 Plus (non-couleur) ont 16 caractères par ligne et 8 lignes.
Compétence 2 Utilisation de Input pour affecter une valeur à une variable
Notes de l'enseignantObjectifs :
- Utiliser l’instruction TI-Basic Input pour affecter une valeur à une variable.
- Effectuer des calculs à l’intérieur d’une instruction Disp.
- Utiliser l’écran Graphique pour affecter des valeurs à deux variables à la fois.
étape 1
L’instruction Input est suivie par seulement un nom de variable pour demander à l’utilisateur d’entrer la valeur pour cette variable.
Contrairement à Prompt, Input affiche seulement un point d’interrogation à l’écran comme vous pouvez le voir dans l’exemple de programme à droite.
étape 2
Ce type d’instruction Input peut afficher un message personnalisé qui est affiché avant d’attendre la valeur de la variable. La structure l’instruction Input avec message est :
Input “VOTRE MESSAGE ICI”,V
Note : Cette instruction ne fournit pas de point d’interrogation ou autre ponctuation, aussi si vous en voulez un vous devez l’inclure dans le message.
étape 3
- Commencez un nouveau programme.
- Comme première instruction du programme utilisez l’instruction Input que vous trouverez dans le menu E/S de [prgm].
- Après l’instruction Input tapez le nom de la variable que vous voulez utiliser dans votre programme. Ici nous utilisons la variable A.
- Utilisez l’instruction Disp pour afficher le cube de A, entrez A puis utilisez le menu MATH (touche [math]) pour le ‘‘petit’’ exposant 3.
étape 4
6. Après le “?” tapez un nombre quelconque et appuyez sur [entrer].
7. Le programme affiche le cube du nombre entré et se termine.
étape 5
- Éditez le programme que vous avez commencé précédemment.
- Placez le curseur sur la variable après le mot Input.
- Appuyez sur [insérer].
- Tapez un message à afficher. Pensez à utiliser [verr A] ([2nde [alpha]) et les apostrophes doubles.
- Incluez éventuellement un point d’interrogation à la fin du message (à l’intérieur des apostrophes doubles).
- Placez une virgule après la parenthèse fermante et avant la variable.
- Gardez l’instruction Disp qui affiche A3.
étape 6
9. Après le message tapez un nombre quelconque et appuyez sur [entrer].
10. Le programme affiche le cube de ce nombre et se termine.
étape 7
Utilisation de Input sans variable
Si vous utilisez l’instruction Input sans une variable le programme va afficher l’écran GRAPH avec un curseur libre.
Quand vous appuyez sur [entrer] le programme continue et les variables X et Y reçoivent comme valeurs les coordonnées du point sur lequel on pointait dans l’écran GRAPH.
Vous pouvez alors utiliser ces deux variables dans le reste de votre programme.
Exécuter le programme ... entraine ceci. Déplacez le curseur...
étape 8
et appuyez sur [entrer] pour voir cela…
Le but de cette fonctionnalité est de vous laisser entrer des valeurs pour X et Y ‘graphiquement’.
Sympa, non ?
étape 9
Compétence 3 Expressions et stockage
Notes de l'enseignantDans cette troisième leçon de l’Unité 2 vous allez apprendre comment utiliser les expressions et stocker des valeurs dans des variables à l’intérieur de programmes.
Objectifs:
- Apprendre à programmer des expressions mathématiques.
- Comprendre l’ordre des opérations.
- Faire la différence entre variables mathématiques et variables de programmes informatiques.
- Évaluer des expressions.
- Stocker les résultats d’expressions dans des variables.
étape 1
Des éléments tels que A2 et A+B sont appelés expressions. Les expressions peuvent être trouvées dans les formules mathématiques. Par exemple, la formule donnant l’aire d’un triangle est A = 1/2 x B x H .
L’expression est 1/2 x B x H
Un programme évalue une expression en utilisant les valeurs courantes de toutes les variables et donne le résultat sous forme de valeur numérique.
Les expressions sont évaluées en utilisant l’ordre algébrique des opérations. Essayez le programme de droite qui calcule l’aire d’un trapèze de bases A et B et de hauteur H.
étape 2
La calculatrice interprète ceci comme les expressions B x 1 et B x 2 et et ceci peut causer une erreur quand c’est utilisé incorrectement. Vous ne pouvez pas non plus utiliser des noms de variables comportant plus d’une lettre comme AB.
Comme ça été dit plus tôt, ceci signifie A x B. Ceci est appelé multiplication implicite car le signe de multiplication entre les variables est ‘implicite’ ou supposé.
étape 3
Bien qu’il y ait beaucoup de similarités en apparence entre les expressions en mathématiques et dans les programmes informatiques, il y a aussi des différences importantes. La plus significative est que dans une expression mathématique les variables ont le statut de nombres ‘inconnues’ et sont remplacées par des nombres quand c’est nécessaire.
Dans une expression informatique les variables sont des noms pour des nombres. En mathématiques, nous utilisons des formules pour énoncer un rapport entre des choses comme aires et longueurs.
Dans des programmes, nous utilisons les expressions pour faire les calculs et les valeurs des variables sont utilisées pour calculer le résultat. Lorsqu’on écrit le programme on tape l’expression mais quand on exécute le programme l’expression est calculée et crée un résultat pouvant être utilisé ultérieurement.
étape 4
étape 5
L’opérateur [sto→] est utilisé pour stocker (assigner) le résultat d’une expression dans une variable. Appuyer sur la touche [sto→] affiche le symbole →.
Après avoir appuyé sur [entrer], l’écran de calcul affiche le résultat de l’expression et la variable G contient maintenant la valeur 5.
La valeur ou l’expression donnant la valeur doit être avant la flèche. Ceci est appelé l’instruction d’affectation car elle assigne une valeur à une variable. Le symbole après la flèche doit être une variable.
étape 6
Programmation avec des instructions d’affectation
Écrivons un programme qui vous demande d’entrer deux nombres, stocke leur somme, différence, produit et quotient dans quatre variables, puis affiche les résultats.
- Commencez un nouveau programme. Le nom du programme est SDPQ.
- Prompt pour deux variables A et B.
- Stockez les quatre expressions dans quatre autres variables S, D, P et Q.
- Affichez S, D, P et Q.
- Lancez le programme.
étape 7
Assurez-vous d’utiliser des nombres pour lesquels vous pouvez confirmer que les calculs seront effectués correctement ! Ce que vous saurez en ‘testant’ le programme.
Note : L’instruction d’affectation du TI-Basic ne s’écrit que d’une façon, tout d’abord l’expression, puis l’opérateur ‘stocke’ et enfin la variable. Ceci rend la lecture facile de gauche à droite. Dans la plupart des autres langages l’ordre est inversé, comme par exemple S=A+B. C’est inversé, car l’ordinateur évalue en premier l’expression à droite, puis affecte la valeur trouvée dans la variable à gauche.
Indication : Il y a de nombreux avantages à stocker des valeurs dans des variables. L’utilisation des variables rend plus aisé l’affichage des résultats. Il permet aussi d’utiliser la variable dans des calculs à venir. Si vous trouvez que vous utilisez le même nombre dans de nombreux endroits dans votre programme, alors vous pouvez le stocker dans une variable et l’utiliser partout où il apparaît dans votre programme.
étape 8
Vous pouvez améliorer le programme en utilisant Output( à la place de Disp pour montrer les valeurs initiales entrées et les quatre résultats correctement affichées. Essayez !
À droite vous trouvez un fragment de code et un écran de l’exécution du program-me en partie achevé. Il reste encore un peu de travail à faire ici, aussi nous vous laissons terminer le programme.
étape 9
Pensez à inclure une instruction Pause après les instructions Output pour empêcher le message ‘Fait’ qui gâche un peu l’affichage.
Rappelez-vous que les calculatrices TI-8x n’ont pas la même taille d’écran de calcul que la TI-83 Premium CE (idem pour la taille de l’écran GRAPH) aussi prenez en compte.
L’écran de calcul de la TI-84 Plus a 16 caractères par ligne et 8 lignes, alors que celui de la TI-83 Premium CE HOME a 26 caractères par ligne et 10 lignes.
Application Calcul de formules
Notes de l'enseignantDans cette application de l’Unité 2 vous allez écrire des programmes pour évaluer des formules mathématiques.
Objectif :
- Utiliser les instructions TI-Basic étudiées dans l’Unité 2 pour écrire un programme qui évalue une formule.
étape 1
Le Théorème de Pythagore
Dans un triangle rectangle d’hypoténuse C et de côtés A et B, on a :A² + B² = C²
Écrivez un programme demandant à l’utilisateur de rentrer la longueur des deux côtés de l’angle droit, puis calcule la longueur de l’hypoténuse et affiche correctement les trois valeurs.
Note : Vous devez tout d’abord résoudre l’équation ci-dessus par rapport à C.
étape 2
Réponse :
prgmPYTHAG
EffÉcran
Disp "CE PROGRAMME CALCULE"
Disp "L HYPOTENUSE"
Disp "ENTREZ LES COTES..."
Prompt A,B
√(A²+B²)→C
EffÉcran
Output(3,5,"A = “)
Output(3,9,A)
Output(4,5,"B = ")
Output(4,9,B)
Output(6,5,"HYPOTENUSE = ")
Output(6,18,C)
Pause
EffÉcran
étape 3
La Formule de Héron
La Formule de Héron détermine l’aire d’un triangle quelconque en utilisant seulement la longueur des trois côtés du triangle, A, B, et C.
Elle est généralement donnée en deux parties :
est le ‘demi-périmètre’ du triangle
est l’aire du triangle
Écrivez un programme demandant à l’utilisateur de rentrer la longueur des trois côtés du triangle puis calcule l’aire et affiche (Output) la longueur des côtés et l’aire de façon agréable.
Note : Il est possible que l’utilisateur entre trois valeurs qui ne peuvent être les longueurs des côtés d’aucun triangle. Ceci arrive si l’utilisateur entre des valeurs non valides?
Indication : La formule de Héron échouera (résultat NON RÉEL) quand les trois valeurs sont impossibles pour un triangle (inégalités triangulaires). Ceci peut être expliqué en passant en MODE COMPLEXE a+bi.
étape 4
Réponse :
prgmHERON
EffÉcran
Disp " CE PROGRAMME CALCULE"
Disp "LA FORMULE DE HERON"
Disp "ENTREZ LES COTES..."
Prompt A,B,C
(A+B+C)/2→S
√(S*(S–A)*(S–B)*(S–C))→D
EffÉcran
Output(3,5,"A = ")
Output(3,9,A)
Output(4,5,"B = ")
Output(4,9,B)
Output(5,5,"C = ")
Output(5,9,C)
Output(7,5,"AIRE = ")
Output(7,12,D)
Pause
EffÉcran
étape 5
La Formule Quadratique
Si une équation quadratique est de la forme
alors les racines de l’équation sont données par :
Tout d’abord, le calcul du discriminant D :
alors les deux racines sont :
étape 6
Écrivez un programme demandant à l’utilisateur de rentrer les trois coefficients de l’équation quadratique, A, B, et C et qui affiche les coefficients et les deux racines de l’équation.
Note : Vous ne pouvez pas utiliser R1 et R2 comme noms de variables ! Trouvez autre chose.
Qu'est-ce qui pourrait ne pas être correct dans ce programme ?
Indication : Vous trouverez ci-dessous les listings des programmes pour chaque formule. Les étapes importantes sont les calculs des formules. Les positions des résultats (Output) sur une TI-84 doivent être correctes, mais sur la TI-83 Premium CE vous pouvez utiliser des valeurs différentes suivant l’affichage désiré.
étape 7
Réponse :
prgmQUAD
EffÉcran
Disp "CE PROGRAMME CALCULE"
Disp "LA FORMULE QUADRATIQUE"
Disp "ENTREZ LES
COEFFICIENTS..."
Prompt A,B,C
B²–4A*C→D
(-B+√(D))/(2A)→R
(-B–√(D))/(2A)→S
EffÉcran
Output(3,5,"A = ")
Output(3,9,A)
Output(4,5,"B = ")
Output(4,9,B)
Output(5,5,"C = ")
Output(5,9,C)
Output(7,5,"RAC1 = ")
Output(7,12,R)
Output(8,5,"RAC2 = ")
Output(8,12,S)
Pause
EffÉcran
- Compétence 1
- Compétence 2
- Compétence 3
- Application
Unité 3: Structures conditionnelles
Compétence 1 Structures conditionnelles
Notes de l'enseignantObjectifs :
- Étudier les conditions.
- Utiliser l’instruction ‘simple’ If… pour passer sous certaines conditions à une autre instruction.
étape 1
Avant de voir l’ensemble des structures conditionnelles If…Then, ayons une idée de ce qu’est au juste une condition.
Indication : Les opérateurs de comparaison et les opérateurs logiques ont aussi leur ordre d’opérations et s’intègre ainsi dans l’ordre arithmétique des opérations. Voici la liste complète de l’ordre en TI-Basic :
Niveau de priorité Fonctions
1 Fonctions qui précédent leur argument, comme √( ou sin(, excepté la négation
2 Fonctions qui suivent leur argument, comme 2 ou !
3 ^ et ×√ 3.5 Négation
4 nPr et nCr
5 Multiplication, division, et multiplication implicite
6 Addition et soustraction 7 Les opérateurs de comparaison =, ≠, <,>, ≤, ≥ 8 L’opérateur logique and
9 Les opérateurs logiques or and xor
10 Les conversions comme ►Frac,>
étape 2
Conditions et le menu [tests] :
Les conditions sont des expressions qui peuvent être évaluées à ‘vrai’ ou ‘faux’. Ces expressions sont soit vraies soit fausses ; elles ne peuvent pas être les deux à la fois ou ni l’un ni l’autre.
Les opérateurs de comparaison et les opérateurs logiques se trouvent tous dans les menus de [tests] ([2nde][math]).Le menu TEST contient les opérateurs de comparaison.
Le menu LOGIQ contient les opérateurs logiques. Le signe égal (=) est utilisé pour former une condition, pas une affectation.
étape 3
3>5 XY>0 X=5 or Y=5
X+4>X B2-4AC=0 X/2=int(X/2)
X≠Y X>0 and Y>0 not(X>0)
étape 4
Conditions sur l’écran de calcul
Vous pouvez entrer des conditions directement dans l’écran de calcul pour voir comme elles sont traitées. Observez que 1 représente vrai (true) et 0 représente faux (false).
Note : lorsque vous utilisez une variable dans une condition, la calculatrice l’évalue en utilisant la valeur courante stockée dans la variable.
Indication : Nous introduisons l’instruction If ‘de base’ ou ‘simple’ ci-dessous car c’est une façon pratique d’exécuter sous condition une seule instruction (si cela suffit). Mais l’instruction plus polyvalente If…Then examinée après est préférée, car il est plus clair à un lecteur du programme de voir ce que ce dernier tente de faire. La structure :If <condition> (sans Then) traite seulement l’instruction suivante quand la condition est vraie, sinon celle-ci est omise.
étape 5
Programmer avec l’instruction If… ‘Simple’
Essayez ce programme :
:Prompt A
:If A>0 (If est dans le menu CTL de [prgm]. ‘>’ est dans le menu TEST de [tests])
:Disp “A POSITIF”
:Disp “A NEGATIF”
Lancez plusieurs fois le programme en entrant des nombres aussi bien positifs que négatifs et observez le résultat. Que peut-on en conclure ?
Quand la condition A>0 est vraie, l’instruction qui suit le If est exécutée, sinon elle est simplement omise. Par contre la seconde instruction qui affiche “A NEGATIF” est toujours exécutée, ce qui n’est pas correct ! Voir l’écran à droite. Nous allons réparer cela rapidement.
Le ‘simple’ If… est un moyen concis pour sauter une instruction basée sur une condition (quand elle est FAUSSE).
étape 6
Modifions le programme
Corrigeons le programme ci-dessus en ajoutant un autre If…
- Placez le curseur sur le second Disp.
- Appuyez sur [insérer] puis sur [entrer] pour insérer une ligne vide.
- Sur cette ligne vide ajoutez If A<>.
Compétence 2 If…Then…End et conditions complexes
Notes de l'enseignantObjectifs :
- Examiner la structure If…Then…End.
- Utiliser des conditions complexes avec les opérateurs logiques.
- Écrire un programme utilisant la structure If…Then…End qui examine des régions du plan.
étape 1
Le TI-Basic a une unique structure If…Then qui utilise le mot-clé End pour contrôler les instructions qui forment le bloc de code qui sera exécuté quand la condition est vraie.
Ça ressemble à ceci :
If <condition>
Then
<bloc_vrai : instructions exécutées quand la <condition> est vraie>
End
Note :If est suivi d’une <condition>.
Then est immédiatement sous le If, sur une nouvelle ligne.
Il y a une ou plusieurs instructions dans le <bloc_vrai>.
End indique la fin du bloc Then et les instructions dans les lignes après End seront traitées.
End n’est pas la fin du programme ! C’est uniquement la fin de la structure If…Then…End.
étape 2
Indication : Cette structure est préférée au simple If car elle est plus lisible. Le ‘bloc’ peut être réduit à une seule instruction (ou même à pas d’instruction du tout !). Then et End apparaissent sur leurs propres lignes dans le programme. Le ‘bloc’ peut aussi inclure une autre structure conditionnelle If. Chaque If Then nécessite un End correspondant. Mais nous verrons les structures imbriquées plus tard.
étape 3
Les conditions complexes impliquent plus d’une expression. Les opérateurs logiques ou, et, xor et non( se trouvent dans le menu LOGIQ de [tests]. Ces opérateurs vous permettent de construire des conditions complexes.
Exemples:
- X>0 et Y>0 est vraie quand X et Y sont tous les deux positifs
- X>0 ou Y>0 est vraie quand X est positif ou Y est positif (l’un ou l’autre ou les deux en même temps)
- non(X>0 et Y>0) est vraie quand X ou Y est non positif ça signifie la même chose que : X<=0 ou Y<=0
- X>0 xor Y>0 est vraie quand l’un ou l’autre est positif mais pas les deux à la fois.
Ça signifie la même chose que : X>0 ou Y>0 et non(X>0 et Y>0)
Vous ne pouvez pas fusionner deux opérateurs relationnels pour obtenir : 2<A<3 pour "A compris entre 2 et 3 vous devez le coder comme ceci : 2<A et A<3. Les opérateurs logiques ont un ordre d’opérations comme les opérateurs arithmétiques +, - , *, et /.
étape 4
et est traité avant ou (de même que la ‘multiplication avant l’addition’).
Indication : Certaines pratiques d'évaluation des conditions logiques serait utile ici. Si vous ne l'avez jamais fait, les tables de vérité constituent une bonne activité d'apprentissage :A | B | A et B | A ou B | non(A) |
---|---|---|---|---|
V | V | V | V | F |
V | F | F | V | F |
F | V | F | V | V |
F | F | F | F | V |
étape 5
Programmation avec la structure If…Then…End
Essayez le programme avec la structure IF…THEN…End à droite.
Notez : Input n’a pas de variable. Ceci est une fonctionnalité spéciale du TI-Basic.
Rappel de l’Unité 2 : l’écran GRAPH s’affiche de sorte que vous pouvez déplacer le curseur et appuyer sur [entrer] pour affecter des valeurs à X et Y.
‘et’ est dans le menu LOGIQ de :.
Then est sur la ligne juste sous If
End est à la fin du ‘bloc_vrai’ (ensemble des instructions exécutées quand la condition est vraie). Ce n’est pas la fin du programme.
étape 6
Le plan rapporté à un repère a plusieurs régions nommées : Quadrants I, II, III, et IV et les demi-axes x et y positif et négatif. Écrivons un programme qui permet à l’utilisateur de sélectionner un point de l’écran GRAPH, puis le programme indiquera dans quelle région se trouve le point.
Nous vous donnons le début avec quelques instructions If, vous pouvez ensuite compléter le programme :
Input notez, pas de variable !
Disp X,Y
If X>0 et Y>0
Then
Disp "PREMIER QUADRANT"
End
If X=0 et Y>0
Then
Disp " AXE DES Y POSITIFS"
End
If X<0 et Y>0
Then
Disp "SECOND QUADRANT"
End
L’exécution du programme en-traîne l’affichage de cet écran…
étape 7
étape 8
Input [Notez, pas de variable]
Disp X,Y
If X>0 et Y>0
Then
Disp "PREMIER QUADRANT"
End
If X=0 et Y>0
Then
Disp "AXE DES Y POSITIFS"
End
If X<0 et Y>0
Then
Disp "SECOND QUADRANT"
End
If X<0 et Y=0
Then
Disp " AXE DES X NEGATIFS"
End
If X<0 et Y<0
Then
Disp "TROISIEME QUADRANT"
End
If X=0 et Y<0
Then
Disp " AXE DES Y NEGATIFS"
End
If X>0 et Y<0
Then
Disp "QUATRIEME QUADRANT"
End
Compétence 3 If…Then…Else…End ; Divisibilité
Notes de l'enseignantObjectifs :
- Voir la structure If…Then…Else…End.
- Étudier un test permettant de savoir si une valeur est un entier.
- Qu’est-ce qu’un Algorithme ?
étape 1
étape 2
Dans la précédente activité nous avons étudié la structure If…Then…End. Dans certains cas nous aurons à prendre deux différents types d’instructions suivant une condition. La nouvelle structure If…Then…Else…End est similaire à :
If <condition>
Then
<bloc_vrai>
Else
<bloc_faux>
End
Note :Then, Else, et End sont sur des lignes séparées.
Le <bloc_vrai> est l’ensemble des instructions qui seront exécutées quand la <condition> est vraie.
Le <bloc_faux> est l’ensemble des instructions qui seront exécutées quand la <condition> est fausse.
Par conséquent, l’un des deux blocs sera exécuté.
étape 3
Nous allons écrire un programme pour voir si le nombre entré est ou n’est pas un carré parfait. Un ‘carré parfait’ est le carré d’un entier, comme 25 (5²). La méthode utilisée ici est de prendre la racine carrée du nombre et tester si c’est un entier. Le listing du programme se trouve dans l’écran de droite.
étape 4
Note :
Utilisez la touché C du clavier pour le symbole racine carré.
If, Then, Else, et End sont tous dans le menu CTL de [prgm]. La fonction partEnt( ) est dans le menu NBRE de [math].
La fonction retourne la partie entière, par exemple : partEnt(6.56) → 6 partEnt(-2.01) → -3
Essayez vos propres exemples de partEnt( ) dans l’écran de calcul. Pensez à fermer les parenthèses pour la fonction partEnt( ) et pour la fonction racine carrée.
Vous ne pouvez utiliser que des MAJUSCULES dans vos messages Disp sur la calculatrice. Par contre, à l’aide de TI Connect™ CE, vous pouvez entrer des minuscules.
Indication : On peut améliorer l’affichage du résultat du programme en affichant dans la phrase le nombre entré. Ceci demandera l’utilisation de Output( ) plutôt que de Disp.
étape 5
Les techniques comme celles utilisées dans cet exercice sont connues sous le nom d’‘algorithmes’. Un algorithme est une procédure ou formule pour résoudre un problème. Une recette pour faire cuire un gâteau est un algorithme. Si vous suivez la recette vous aurez un gâteau.
Toute formule mathématique, comme la formule donnant l’aire d’un triangle (A=B*H/2) est un algorithme : elle vous donne une méthode pour déterminer une nouvelle valeur basée sur des valeurs existantes.
Les techniques d’algorithmes tels que le ‘carré parfait’ au-dessus sont des outils importants pour résoudre des problèmes. L’apprentissage des algorithmes informatiques courants tels que celui-ci enrichira votre expérience de programmation.
Voici la recette d’un gâteau…
1. Préparer la pâte à gâteau selon les instructions sur la boîte.
2. Cuire au four comme indiqué sur l'emballage - en deux couches de gâteau.
3. Laissez refroidir dans les moules pendant 10 minutes.
4. Retirer du four, mettre sur une grille.
5. Laisser refroidir complètement.
6. Battre au fouet pendant 2 minutes le mélange de pouding et le lait.
7. L’étendre immédiatement sur les gâteaux.
8. Empilez les couches de gâteau.
9. Nappez avec la crème fouettée.
10. Dégustez
étape 6
Indication : Un exemple d’algorithme informatique :
Pour arrondir un nombre A à son entier le plus proche on peut utiliser :
partEnt(A+0.5)
Pourquoi cela marche-t-il ? Quand la partie décimale de A est inférieure à 0.5, ajouter 0.5 au nombre garde le nombre inférieur au premier entier supérieur. Donc la fonction partEnt( ) tronque le nombre de sa partie décimale, laissant juste la partie entière.
Exemples :
A=3.4 A+0.5 = 3.9 partEnt(3.9) = 3 (arrondi à l’entier inférieur)
A=3.7 A+0.5 = 4.2 partEnt(4.2) = 4 (arrondi à l’entier supérieur)
Mais bien sûr, la TI-83 Premium CE a aussi une fonction arrondir( ) dans le menu NBRE de [math]!
Application Les signes du Zodiaque
Notes de l'enseignantObjectifs :
- Coder des dates.
- Utiliser les structures If pour déterminer le signe du Zodiaque pour une date donnée.
- Travailler avec des variable de type ‘‘chaîne de caractères’’.
étape 1
En astronomie et astrologie le Zodiaque est une division du ciel en 12 régions égales. Le nom de chaque région est donné par la constellation qui est approximativement dans cette région. Les Babyloniens ont établis cette division au alentour de 1 000–500 av J.C. Ils commençaient leur calendrier avec l’équinoxe de printemps (le premier jour du printemps), d’où le premier signe du Zodiaque est le Bélier et couvre la période du 21 mars au 20 avril.
Indication : Le Zodiaque est une convention astronomique ainsi qu’astrologique. Voir cela sur Internet.
étape 2
Dans cette leçon nous allons écrire un programme qui permet à l’utilisateur d’entrer un mois et un jour, puis le programme affiche le signe du Zodiaque qui correspond à cette date. Ce programme utilise plusieurs If…Then.
L’utilisateur va entrer l’entier correspondent au mois, puis celui correspondent au jour suivant notre calendrier, le programme va convertir la date dans le format Babylonien (mars = 1, avril = 2,… , janvier = 11, février = 12). Les tests pour chaque signe peuvent être complexes. Par exemple :
If (M=1 and D>20) or (M=2 and D<21)
étape 3
Indication : Écrire un pseudo-code est une forme de programmation qui ne dépend d’aucun langage de programmation particulier. Écrire d’abord en pseudo-code signifie que le programmeur peut ensuite implémenter l’algorithme dans n’importe quel langage de programmation.
étape 4
Lors du développement d’un programme long il est souvent utile de commencer par écrire une esquisse du programme en langage clair. C’est appelé un ‘pseudo-code’ car ce n’est pas écrit en utilisant un langage de programmation spécifique. Cette esquisse est écrite de manière qui la rend facile à convertir ultérieurement dans un langage de programmation.
Voici une esquisse (pseudo-code) du programme zodiaque : PROGRAMME : ZODIAQUE
Entrez le mois l’utilisateur entrer un entier de 1 à 12 Entrez le jour l’utilisateur entrer un entier de 1 à 31
(Les signes du Zodiaque commencent par le Bélier ainsi nous prendrons mars comme premier mois, janvier sera le 11e et février le 12e.)
Soustraire 2 du numéro du mois. Si le numéro est inférieur à 1 ajoutez 12 au numéro du mois.
étape 5
On accomplit cela en multipliant le nombre du mois par 100 et en addition avec celui du jour. Par exemple : juillet est le 5e mois Babylonien, le 4 juillet aura pour Code : 100*5+4 = 504.
Indication : Quand on multiplie un nombre par 100, on ajoute deux zéros à la fin du nombre. Puis, quand on ajoute le nombre de la date, les 1 ou 2 chiffres le plus à gauche représentent le mois, le jour correspond aux deux chiffres de droite. Ceci met la date dans un format numérique clair pour la comparaison des dates limites des signes du Zodiaque.
Multipliez le mois par 100, ajoutez le jour et stockez le résultat dans la variable Code.
Multipliez le mois par 100, ajoutez le jour et stockez le résultat dans la variable Code.
Indication : Les variables de type chaîne de caractères stockent une collection de caractères (mots) plutôt que des nombres. La TI-83 Premium CE possède dix variables spéciales dans lesquelles ont peut stocker des chaînes de caractères. Voir les notes plus loin dans ce document.
étape 6
Cette variable sera utilisée plus tard pour afficher le signe ou le mot Invalide. Voir *Chaînes de caractères page suivante.
Maintenant regardons à quel signe du Zodiaque le Code appartient : if Code >=121 et Code<=220 (ceci représente les jours du 21mars au 20 avril)
then
stockez “BELIER” dans la variable Notez les apostrophes doubles !
end
Écrivez une telle structure pour chacun des douze signes du Zodiaque. Après les 12 structures If la variable contiendra soit “INVALIDE” soit un des signes, ainsi…
Il ne reste plus qu’à afficher la variable.
étape 7
Bélier : 21 mars – 20 avril
Taureau :21 avril – 21 mai
Gémeaux :22 mai – 21 juin
Cancer :22 juin – 22 juillet
Lion : 23 juillet – 22 août
Vierge :23 août – 23 septembre
Balance :24 septembre – 23 octobre
Scorpion : 24 octobre – 22 novembre
Sagittaire : 23 novembre – 21 décembre
Capricorne : 22 décembre – 20 janvier
Verseau : 21 janvier –19 février
Poissons :20 février – 20 mars
*Chaînes de caractères
Ce programme stocke une chaîne de caractères comme “INVALIDE” dans une variable de type ‘‘CHAîNE’’.
Les calculatrices TI-8x ont 10 variables de ce type à votre disposition.
Pour accéder à ces noms de variable, appuyez sur la touche [var] et sélectionnez le menu VARIABLES 7 : Chaîne….
Assurez-vous de n’utiliser qu’une variable par signe du Zodiaque.
étape 8
Écrire le programme ZODIAQUE qui correspond aux spécifications ci-dessus.
Le programme doit produire quelque chose de semblable à l’écran ci-contre.
Attention : Poissons prend une condition spéciale !
Prolongement :
Le programme ne teste pas si le mois et le jour entrés correspondent à une date légale.
Ajoutez une instruction If après la section input pour être sûr que les valeurs entrées correspondent à une date légale.
Conseil : Rappelez-vous que des mois ont 30 jours, d’autres 31 et un n’en a que 29.
Également, il n’y a pas de treizième mois… Regardez ce qu’il se passe si vous entrez 13 pour le mois
étape 9
Exemple de réponse (sans ‘l’extension’) :
PROGRAM: ZODIAQUE If C≥623 et C≤723 Input "MOIS ",M Input "JOUR ",D M-2→M If M<1 Then M+12→M End 100M+D→C "INVALIDE"→Chn1 If C≥121 et C≤220 Then "BELIER"→Chn1 End If C≥221 et C≤321 Then "TAUREAU"→Chn1 End If C≥322 et C≤421 Then "GEMEAUX"→Chn1 End If C≥422 et C≤522 Then "CANCER"→Chn1 End If C≥523 et C≤622 Then "LION"→Chn1 End |
If C≥623 et C≤723 |
- Compétence 1
- Compétence 2
- Compétence 3
- Application
Unité 4: La boucle For(…)
Compétence 1 La boucle For(…)
Notes de l'enseignantObjectifs:
- Comprendre l’utilisation des boucles.
- Utiliser la boucle For(…) pour générer une liste de valeurs.
étape 1
Les programmes peuvent se compliquer quand il devient nécessaire de faire un mélange de toutes les structures de contrôle (instructions If et boucles) dans un programme pour satisfaire à des algorithmes plus complexes. C’est ce qui rend la programmation FUN !
étape 2
Boucles
Une boucle est une méthode permettant de répéter un ensemble d’instructions.
Tout langage de programmation possède au moins une structure de boucle.
La structure de boucle possède un moyen pour revenir en arrière dans un programme en un point précédent.
Le TI-Basic a trois différents types de boucles. Une boucle infinie ne se termine jamais.
Pour arrêter un programme en cours d’exécution, appuyez sur [on]. Vous verrez s’afficher les options ‘Quitter’ et ‘Voir’. ‘Quitter’ vous permet de retourner à l’écran de calcul, alors que ‘Voir’ vous permet de retourner dans l’Éditeur de programme à l’endroit où le programme a été interrompu.
étape 3
Les trois types de boucles du TI-Basic sont :
For( ) … End
While <condition> … End
Repeat <jusqu’à condition vraie> … End
étape 4
Structure : For(variable, valeur de départ, valeur de fin)
corps de la boucle
End
Disp A ← corps corps de la boucle
End
étape 5
Note :
L’instruction For( ) a besoin d’une variable (la variable de contrôle de la boucle),
d’une valeur de départ et d’une valeur de fin, séparées par des virgules. Les
valeurs de départ et de fin peuvent être des variables. Le corps de la boucle peut
comporter autant d’instructions que l’on veut mais ne doit pas modifier la variable
de contrôle. Les boucles sont effectuées de la valeur de départ à la valeur de fin
avec un incrément standard de 1.
Indication : Les boucles se terminent lorsque la variable dépasse la valeur de fin. Si vous
affichez A (Disp A) après la boucle, vous verrez que sa valeur est 11, et non 10.
étape 6
Il y a un quatrième argument optionnel pour l’instruction For( ) : l’incrément.
L’incrément est la valeur ajouté à chaque passage de boucle à la variable de contrôle. Par défaut la valeur est 1.
Indication : Quand l’incrément est négatif, la valeur de départ doit être supérieure à la
valeur de fin, et la boucle s’arrête quand la variable est inférieure à la valeur de fin.
étape 7
La boucle s’arrête quand A est plus grand que 10. L’incrément peut être un nombre négatif.
For(B,10,0,-1) fait un compte à rebours de 10 à 0.
étape 8
Écrivons un programme qui affiche un tableau de nombres et de leur carré. L’utilisateur peut entrer les bornes inférieure et supérieure de l’ensemble des nombres.
La partie difficile est l’affiche des paires de nombres sur la même ligne ! On peut faire cela grâce aux listes.
Note :
I et S sont utilisés pour représenter la borne inférieure et la borne supérieure.
L’instruction For( ) utilise les valeurs de I et de S. Les accolades des listes s’obtiennent en appuyant sur [2nde][ ( ] et sur [2nde][ ) ].
Indication : Utiliser une liste constitue une méthode commode pour afficher plus d’une valeur sur une même ligne de l’écran de calcul.
étape 9
Si les listes passent trop vite, vous pouvez ajouter une instruction Pause après l’instruction Disp et avant le End.
Challenge :
Utilisez une structure If … Then… End pour faire une Pause toutes les 5 paires de nombres. Rappelez-vous la technique utilisée dans la précédente Unité.
Exemple de réponse :
:If (A-I+1)/5=partEnt((A-I+1)/5)
:Pause “Appuyez sur entrer”
Compétence 2 La boucle While…End
Notes de l'enseignantNous allons la comparer à la boucle For… et également montrer qu’elle est plus puissante et plus polyvalente que la boucle For….
Objectifs :
-
Étudier la structure de la boucle While…End.
-
La comparer à la boucle For…End.
-
Voir comment elle est utilisée pour assurer la validité des valeurs entrées.
étape 1
La boucle While… End
La boucle While…End continue tant que la <condition> est Vraie. Cela ressemble à ça :
While <condition>
<corps de la boucle>
End
étape 2
La <condition> est une expression logique telle que X>0.
Le <corps de la boucle> est un ensemble d’instructions, incluant d’autres boucles et structures If. Elle est traitée tant que la <condition> est Vraie.
Le mot-clé End est utilisé pour indiquer la fin du <corps de la boucle>. Lorsqu’il rencontre l’instruction End le programme retourne à l’instruction While et teste de nouveau la <condition>.
‘Initialiser’ la condition de la boucle While : établir une valeur de telle sorte que la condition peut être évaluée à Vrai ou Faux. Si la condition au départ est Fausse la boucle est totalement ignorée. Si la condition est Vraie alors le corps de la boucle est traité. L’affectation 0→K au début du programme initialise la condition à Vrai. Sans cela, il n’y a aucun moyen de savoir ce qui va arriver parce que n’importe quelle valeur a pu être stockée dans la variable K avant le lancement du programme.
Quelque part dans le <corps de la boucle> il doit y avoir une instruction qui doit affecter la <condition> afin que la boucle finisse par se terminer et que les instructions suivantes soient traitées. Généralement cette instruction est près de la fin du <corps de la boucle>. K+1→K assure que K finira par devenir plus grand que 10.
étape 3
- Initialiser la variable.
- Tester la condition basée sur cette variable.
- Changer la valeur de la variable pour que la condition finisse par devenir fausse pour que la boucle se termine.
étape 4
Nous allons écrire une partie de programme (un ‘segment de code’) qui permet de s’assurer que l’utilisateur entre un nombre positif, en lui disant que le nombre entré n’est pas valide et d’entrer une autre valeur à sa place.
La sortie de ce segment de code est montrée à droite avec l’entrée de nombres négatifs pour voir l’effet.
Voyez si vous pouvez l’écrire cela sans regarder la suite !
étape 5
Nous commençons par une instruction Input avec un message afin que l’utilisa-teur entre une valeur…
étape 6
Ensuite commencez la boucle While, testez si la valeur entrée est négative. Si c’est le cas, affichez un message d’erreur.
On entre dans le corps de la boucle seulement si N est négatif, sinon la boucle entière est ignorée.
Indication : Ceci définit la condition impliquant N, à tester.
étape 7
Ce segment de code va demander à l’utilisateur une valeur et s’assurer que le nombre entré est positif. Après ce segment de code, il y aura d’autres instructions permettant de traiter le nombre entré.
Indication : Ceci donne la possibilité de changer la valeur de N.
Compétence 3 La boucle Repeat…End
Notes de l'enseignantNous allons la comparer à la boucle For… et montrer pourquoi elle est plus puissante.
Objectifs :
-
Étudier la structure et la logique de la boucle Repeat…End.
-
La comparer à la boucle While…End.
-
Voir comment Repeat…End est utilisée dans la programmation de la suite de Fibonacci.
étape 1
Indication : Bien que la condition de la boucle Repeat soit écrite au début de la boucle, elle n’est en fait testée qu’à la fin de la boucle ! Une boucle Repeat par conséquent est toujours exécutée au moins une fois. Il y a dans le langage, à la fois les boucles While et Repeat, car elles ont un comportement légèrement différent.
La boucle Repeat… EndLa boucle Repeat…End continue tant que la <condition> est Fausse.
C’est exactement le contraire du comportement de la boucle While et ce n’est pas la seule différence !
Cela ressemble à ça (c’est assez proche de la structure While) :
Repeat<condition>
<corps de la boucle>
End
étape 2
La <condition> est une expression logique telle que X>0.
Le <corps de la boucle> est un ensemble d’instructions, incluant d’autres boucles et structures If. Il est exécuté une fois, puis continue jusqu’à ce que la <condition> soit vraie, ainsi le comportement ressemble plutôt à ceci :
Repeat
<corps de la boucle>
until <condition> vraie End
étape 3
Comme avec While, quelque part dans le <corps de la boucle> on doit trouver une instruction qui doit avoir un effet sur la afin que la <condition> boucle finisse par se terminer et que les instructions suivantes soient exécutées.
Généralement cette instruction est près de la fin du <corps de la boucle> .
Programmation de la suite de Fibonacci
Écrivons un programme qui affiche la suite de Fibonacci jusqu’à une certaine
valeur. Vous pouvez chercher la suite de Fibonacci si vous n’en avez jamais
entendu parler.
La sortie du programme est montrée à droite. Pouvez-vous écrire ce programme
sans regarder plus bas ?
étape 4
étape 5
étape 6
Enfin, nous calculons les deux nombres de Fibonacci suivants et terminons la boucle.
Les deux dernière instructions montrent que A+B est stocké à la fois dans A et dans B. Il semble donc que A et B reçoivent la même valeur... Ce qui n’est pas le cas ! Essayez avec 1 et 1. La première instruction stocke 1+1 dans A, la valeur contenue dans A est donc 2. La seconde instruction stocke 2+1 dans B, la valeur contenue dans B est donc 3. Essayez vous même !
Exécutez le programme avec plusieurs valeurs différentes. Ce comporte-t-il comme prévu ?
Essayez de remplacer la condition de Repeat par B>N. Quel est l’effet ? Comment peut-on modifier le programme pour afficher l’ensemble ‘correct’ des nombres, s’arrêtant lorsqu’exactement le premier nombre de Fibonacci plus grand que N a été affiché ?
Application Boucles
Notes de l'enseignantObjectifs :
- Étudier des instructions servant de compteurs et d’accumulateurs.
- Utiliser une boucle dans un programme pour obtenir une quantité de données indéterminée.
- Utiliser une valeur ‘repère’ (flag) pour terminer une boucle.
étape 1
Indication : Ce projet illustre la tendance vers la complexité que l'on constate lors de l'élaboration de parties de logiciel. L'imbrication consiste à mettre une structure de contrôle à l'intérieur d'une autre. Comme expliqué ci-dessous, l'OS sait quel End 'marche' avec quelle instruction.
|
||
Structures Imbriquées
|
prgmSQUARE Prompt AIf A<> Then Disp "A est négatif !" Else √(A)→S If S=partEnt(S) Then Disp " A est un carré parfait." Else Disp "A n'est pas un carré parfait." End Disp "Sa racine carrée est",S End |
étape 2
For(var, début, fin) | While condition vraie | Repeat until condition vraie |
End | End |
End |
For( est utilisée pour ‘compter’ ou pour le traitement d’une suite arithmétique de valeurs (itération).
While est utilisée quand vous pourriez être en mesure de sauter complètement le corps de la boucle.
Repeat est utilisée quand vous voulez que le corps de la boucle soit exécuté au moins une fois.
étape 3
Le mot-clé End est utilisé dans toutes les structures de contrôle multi-lignes :
If ... | If ... | For(...) | While(...) | Repeat ... |
Then | Then | |||
Else | ||||
End | End | End | End | End |
C’est pour cela que le menu CTL de [prgm] est arrangé ainsi :
7: End vient après les six premiers éléments du menu CTL car il termine chacune de ces structures de contrôle de programmation.
L’instruction End peut apparaître plusieurs fois dans un programme, et l’ordinateur sait comment les End sont connectés à leurs structures de contrôle.
étape 4
Lors d’un examen on fait la moyenne des notes obtenues par le candidat. Si la moyenne est supérieure à 10, l’élève est admis, si elle inférieure à 8, il est refusé et sinon il doit passer un oral de rattrapage.
Écrivons un programme qui permet à l’utilisateur de rentrer des notes d’examen, de déterminer la moyenne, puis d’afficher le nombre de notes entrées, la moyenne des notes et un message approprié. Les messages peuvent être: “ADMIS”, “RATTRAPAGE”, et “REFUSÉ”.
Nous pouvons utiliser deux méthodes pour entrer un nombre indéterminé de notes :
- Méthode 1 : demander en premier la totalité des notes et utiliser une boucle For pour entrer les notes.
- Méthode 2 : demander les notes mais utiliser une valeur ‘repère’ (flag) comme par exemple -99 pour indiquer qu’il n’y a plus de note. Cette méthode utilisera une boucle While ou une boucle Repeat. Dans les deux méthodes nous devrons garder un total cumulé des notes.
étape 5
Votre programme doit afficher le nombre de notes entrées, la moyenne des notes et le message approprié :
Si la moyenne est en dessous de 8 : “REFUSÉ”
… de 8 à 10 : “RATTRAPAGE”
… au dessus de 10 : “ADMIS”
Indication : La section ci-dessous examine deux idées de programmation apparentées : une variable compteur et une variable ‘accumulateur’. Insistez sur le fait que la variable à gauche de l'opérateur ! est la même que celle à droite mais qu’elles représentent des valeurs différentes en raison du traitement concerné.
étape 6
Une instruction comme C+1 ! C est appelée un compteur car elle ajoute 1 à la variable C chaque fois qu’elle est exécutée.
Une instruction comme T+N !T est appelée un accumulateur car il garde un total cumulé des valeurs de la variable N. La valeur de N est ajoutée à la variable T, puis cette somme est stockée dans la variable T. À la fin de la boucle, T va contenir le total des valeurs de N.
étape 7
Notes: | ||
Initialisation des variables | ||
0→C |
C pour Compteur N pour Note T pour Total récupérer la première Note tant que ce n'est pas -99 ajouter 1 au Compteur ajouter la Note au Total demander une autre Note |
La boucle While, ci-dessus, continue à compter et à accumuler les notes tant que -99 n’est pas entré. Quand -99 est entré, la boucle s’arrête et les résultats sont affichés.
Indication : Remarquez les deux instructions Prompt dans le code ci-dessus. Le premier récupère la première note et le dernier récupère le reste des notes. Le dernier est à la fin de la boucle pour préparer le retour à l’instruction While pour tester de nouveau la valeur de N.
étape 8
À l’intérieur de votre routine de saisie des notes, il faut une vérification pour être sûr que la valeur entrée est une note valable (entre 0 et 20) et appliquer l’action appropriée quand la note entrée n’est pas valide.
Indication : Le prolongement nécessite une autre boucle auprès des instructions de saisie pour être sûr que la valeur entrée est une note valable. L’exemple de code ci-dessous stoppe simplement le programme quand une valeur non valide est entrée. On peut faire mieux…
étape 9
Lorsque vous testez un programme essayez des cas extrêmes comme entrer -99 comme première valeur, ou entrer une valeur négative n’importe où. Si le programme génère un message d’erreur c’est que le programmeur n’a pas pris tous les scénarios en compte. Le programme ci-contre va échouer quand -99 est entré comme première valeur car il va essayer de diviser 0 par 0 ce qui est indéfini. Le calcul de la moyenne, M, devrait être inséré dans un test pour vous assurer qu’au moins une note a été saisie. Ci-dessous une solution possible :
If C>0
Then
T/C → M
Else
Disp “PAS DE NOTE ENTRÉE !”
Stop
End
L’instruction Stop est utilisée dans ce programme, elle sert à terminer un programme immédiatement. Ceci peut être ajouté n’importe où dans le programme afin que l’exécution soit interrompue et que le message ‘Fait’ apparaisse dans l’écran de calcul.
étape 10
prgmEXAMEN EffÉcran 0 → N 0 → C 0 → T Input "ENTREZ UNE NOTE :",N While N≠-99 If N<0 or N>20 Then Disp "EN DEHORS DES LIMITES !" Stop Else C+1→ C T+N → T End Input "UNE AUTRE ? (OU -99):",N End T/C → M< /> |
EffÉcran Output(1,1,"NOMBRE DE NOTES : ") Output(2,1,"TOTAL DES NOTES : ") Output(4,1,"MOYENNE : ") Output(1,19,C) Output(2,19,T) Output(4,11,M) If M<8 Then Output(7,9,"REFUSÉ") Else If M<10 Then Output(7,9,"RATTRAPAGE") Else Output(7,9,"ADMIS") End End Pause EffÉcran |
- Compétence 1
- Compétence 2
- Compétence 3
- Application
Unité 5: Dessin
Compétence 1 Dessin
Notes de l'enseignantDans cette première leçon de l’Unité 5 vous allez étudier des commandes permettant de dessiner des formes sur l’écran Graphique.
Objectifs :
- Utiliser les menus de [dessin] pour obtenir une commande de dessign
- Étudier la syntaxe de certaines de ces commandes.
- Étudier la différence entre les commandes qui utilisent les coordonnées des points et celle qui utilisent les coordonnées des pixels.
étape 1
Les menus de [dessin]
- Depuis l’écran de calcul appuyez sur [dessin] ([2nde][prgm])
- Sélectionnez Ligne(
- Complétez la commande par 0,0,3,4) de sorte que la commande soit : Ligne(0,0,3,4)
- Appuyez sur [entrer] pour voir une droite se dessiner de l’origine au point de coordonnées (3, 4) sur l’écran Graphique.
La plupart des commandes de dessin telles que Ligne, Cercle, et Pt-Aff utilisent les coordonnées de la FENÊTRE comme référence.
étape 2
Dessiner dans des programmes
ll y a beaucoup d’outils de programmation en TI-Basic qui ont un effet sur l’écran Graphique.
Nous en examinons quelques un ici :
- EffDess pour effacer tous les objets créés avec [dessin]
- FoncNAff pour désactiver l’affichage des fonctions ([entrer] VAR Y Aff/NAff)
- GraphNAff pour désactiver l’affichage des graphiques statistiques
Utilisez le menu [dessin] pour sélectionner un objet à dessiner. Voir l’exemple à droite.
étape 3
La commande Ligne( a un cinquième argument optionnel qui détermine la couleur à utiliser.
Pour sélectionner une couleur appuyez sur [prgm]COULEUR ou [var]COULEUR et sélectionnez une couleur. Le nom de la couleur est inséré dans votre programme mais il est simplement représenté par un nombre (BLEU=1, ROUGE=2, NOIR=3, etc.).
Voir l’exemple à droite. De nombreuses commandes de dessin ont une option couleur. Sur la TI-84 Plus le cinquième argument peut être 1 ou 0 : 1 pour tracer la droite en noir, 0 pour la tracer en blanc.
étape 4
L’aide de chaque commande de la calculatrice est disponible en appuyant sur la touche [ + ] lorsque la commande est sélectionnée dans n’importe quel menu.
À droite l’aide de la commande Cercle(. Il montre le nombre et l’ordre des entrées. X, Y sont les coordonnées du centre du cercle, puis le rayon. Les entrées [optionnelles] sont le nom ou le nombre de la couleur et le style du trait (1 à 4).
Vous pouvez compléter la commande directement dans cet écran, puis appuyer sur la touche [trace] pour ‘COLLER’ la commande dans votre programme.
étape 5
Pouvez-vous dessiner ceci ?
Pouvez-vous reproduire le dessin de droite dans un programme ?
Conseil 1: il n’y a que deux commandes mais la fenêtre et les nombres sont importants !
Conseil 2: (X, Y) représente les coordonnées du centre du cercle et le rayon est la distance du centre au cercle. (n°couleur et n°styletrait sont optionnels)
Suggestion : Vous pouvez modifier les paramètres de la fenêtre GRAPHIQUE dans un programme. Lors de l’écriture du programme appuyez sur q et choisissez un paramétrage ou fixez des valeurs pour chaque bord de la fenêtre en assignant des valeurs aux variables trouvées dans [var] Fenêtre… comme :
-20→Xmin
étape 6
Complétez l’instruction Cercle dans le programme ci-dessous pour produire l’image à droite
étape 7
étape 8
Copie d’un programme dans un autre :
- Commencez un nouveau programme.
- Dans l’éditeur appuyez sur K ( [2nde][sto→]).
- Appuyez sur [prgm] et sélectionnez EXÉC.
- Sélectionnez le programme que vous voulez copier. Voir l’écran à droite où nous sommes en train de copier prgmCERCLES dans prgmCOPIE.
- Appuyez sur [entrer] pour coller le code dans le nouveau programme.
Compétence 2 Points et Pixels
Notes de l'enseignantDans cette seconde leçon de l’Unité 5 vous allez étudier comment tracer des points et la différence entre les com-mandes Pt-Aff et Pxl-Aff.
Objectifs :
- Utiliser les instructions de tracé des points et pixels
- Développer des formules pour utiliser des graphi-ques dans des programmes.
étape 1
Commandes utilisant les Points
Voir le menu POINTS de [dessin].
Pt-Aff(x,y) trace un point selon les paramètres de la fenêtre graphique.
Ceci signifie ‘allume le point’. Pt-Aff(2,1) trace le point dans le premier quadrant dans l’écran de droite. Pt-Aff(x,y,style,couleur) a deux arguments optionnels : style (1 à 4) et couleur.
Voir l’aide syntaxique en appuyant sur [ + ] lorsqu’on a sélectionné la commande dans le menu de [dessin]. Pt-Aff(100,100) tracera un point même s’il est en dehors de la partie actuellement visible de la fenêtre.
Commandes utilisant les Pixels
Pxl-Aff( utilise les pixels de l’écran et ignore les réglages de la fenêtre.
Pxl-Aff(2,3) trace le minuscule pixel dans le coin supérieur gauche de ce même écran à la ligne 2, colonne 3.
C’est un peu dur à voir !
Les coordonnées ne sont pas dans l’ordre usuel (x,y), ils sont à l’envers car ils font référence à (n°ligne, n°colonne). Pxl-Aff(x,y,couleur) n’a qu’un argument optionnel : la couleur. Il y a aussi des commandes correspondantes -NAff(,-Changer( et -Test( que nous n’étudierons pas ici.
étape 2
Suivant votre calculatrice, votre écran a un nombre de colonnes et de lignes de pixels différent.
Exemples : TI-84 Plus, 96 colonnes x 64 lignes, TI-83 Premium CE 265 colonnes x 165 lignes.
Les lignes sont horizontales et les colonnes sont verticales. Les paramétrages du partage d’écran affectent le nombre de lignes et/ou de colonnes dépendant du paramétrage. L’écran graphique de la TI-84 Plus n’utilise pas la colonne la plus à droite et la ligne la plus basse pour la représentation graphique, il y a ainsi un nombre impair de points dans la zone graphique.
Ceci assure l’existence d’un point ‘central’ (origine). Le pixel supérieur gauche est (0,0). Pxl-Aff(0,0) active le pixel en colonne 0, ligne 0. Les lignes et les colonnes sont numérotées en partant de zéro et non de un.
Cet écran graphique de TI-84 Plus a des pixels plus grand, ils sont donc plus facile à voir. Cet écran montre le résultat de Pxl-Aff(15,30). Le pixel est en ligne 15, colonne 30. Le pixel le plus bas à droite est en (63,95).
étape 3
Les instructions -Test( sont utilisées comme conditions dans une instruction If ou dans des boucles pour voir si un point ou un pixel est ‘allumé’. Pt-Test(0,0) sera vrai quand le point (0,0) est ‘allumé’. Notez qu’un point peut être ‘allumé’ et blanc, et ainsi ne pas apparaître à l’écran ! Sur une TI-84 Plus les pixels et les points sont de même taille. Sur la TI-83 Premium CE les points sont plus grands que les pixels.
étape 4
Écrivons un programme qui rempli de façon aléatoire l’écran GRAPHIQUE avec des POINTS.
Ce programme aura une infinité de boucles aussi il faut appuyer sur la touche [on] pour interrompre le programme.
Nous aurons besoin d’un algorithme (formule) pour obtenir un point aléatoire dans l’écran GRAPHIQUE dans les limites de la fenêtre : NbrAléat se trouve dans le menu [math] PROB et génère un nombre aléatoire entre 0 et 1.
NbrAléat * (Xmax-Xmin) génère un nombre aléatoire entre 0 et Xmax-Xmin, ainsi nous ajouterons Xmin. NbrAléat * (Xmax-Xmin)+Xmin génère un nombre aléatoire entre Xmin et Xmax. …et nous écrivons une formule similaire pour les ordonnées Y.
C’est pour cela que les mathématiques sont si importantes pour programmer !
étape 5
AxesNAff est dans l’écran ..
FoncNAff est dans le menu [var] VAR Y Aff/NAff
GraphNAff est dans le menu ,.
EffDess est dans le menu [dessin].
While 1 crée une boucle infinie puisque 1 représente Vrai dans la calculatrice.
Les valeurs aléatoires sont stockées dans A et B pour être tracées.
Pensez à appuyer sur É pour interrompre le programme.
Ce programme fonctionne de la même façon sur toute calculatrice de la famille TI-84 Plus !
étape 6
Sur la TI-83 Premium CE vous pouvez ajouter une couleur aléatoire à l’instruction Pt-Aff(. Le numéro de couleur le plus petit est 10 et le plus grand 24.
Écrivez une instruction qui génère un nombre aléatoire entre 10 et 24 en utilisant nbrAléatEnt( et ajoutez-la comme troisième argument à l’instruction Pt-Aff(.
Ajoutez l’instruction suivante avant Pt-Aff(A,B).
Changer Pt-Aff(A,B) en Pt-Aff(A,B,C).
<votre générateur de couleur> → C
Note : Il y a deux arguments optionnels dans Pt-Aff( : le style et la couleur. Le style est un entier compris entre 1 et 4, la couleur entre 10 et 24.
Si le troisième argument est un entier compris entre 1 et 4 c’est un style. S’il est compris entre 10 et 24 c’est une couleur. Toute autre valeur provoque une erreur.
Réponse : nbrAléatEnt(10,24) →C
Compétence 3 Lignes, Texte et Couleurs
Notes de l'enseignantDans cette troisième leçon de l’Unité 5 vous allez étudier comment tracer des droites, du texte et enrichir l’ensemble avec de la couleur.
Objectifs :
- Utiliser les instructions pour tracer des droites, des fonctions et du texte.
- Utiliser les couleurs dans les instructions graphiques
- Développer des formules pour utiliser des graphiques dans des programmes.
étape 1
Ligne(X,Y,W,Z) trace un segment entre les points (X,Y) et (W,Z). Voir l’aide du CATALOG pour les fonctionnalités optionnelles.
Vertical A trace la droite verticale X=A.
Horizontal B trace la droite horizontale Y=B.
DessF X2+X trace la fonction. Attention, c’est différent de la représentation graphique d’une fonction.
Voir les exemples à droite. Notez la couleur optionnelle trouvée dans le menu COULEUR de [prgm]. La couleur n’est pas disponible sur les calculatrices TI-8x.
étape 2
Indication : pour tracer une partie d’une fonction, divisez la fonction part l’intervalle désiré : dessine la courbe bleue ci-dessous :
dessine la courbe bleue ci-dessous :
Indication : La fonctionnalité DrawF ne correspond pas à la représentation graphique d'une fonction en utilisant la méthode [f(x)] span et [graphe]. Une fonction qui est 'dessinée' ne peut pas être parcourue à l'aide de [trace], on ne peut effectuer de calculs dessus [calculs].La commande DrawF dessine uniquement les pixels que la fonction détermine. Un rafraichissement de l'écran effacera toute fonction dessinée. Elle ne sera redessinée que si la commande est validée de nouveau.
Notez que l'instruction Ligne( dessine uniquement des segments. Vertical et Horizontal dessine les droites complètes d'un bord à l'autre de l'écran. Question : comment tracer une droite plutôt qu'un segment.
étape 3
L’instruction de dessin Texte( est unique car elle utilise les valeurs des pixels au lieu des valeurs des points de la fenêtre pour positionner le texte.
Il y a aussi une instruction distincte CouleurTexte( qui met en couleur le texte dessiné ensuite.
étape 4
Note : Rappelez-vous les dimensions en pixels de votre écran. TI-84 Plus : 96 colonnes x 64 lignes ; TI-83 Premium CE : 265 colonnes x 165 lignes.
Indication : C’est une difficulté car c’est la seule commande de Dessin qui utilise les coordonnées des pixels au lieu des coordonnées de la FENÊTRE. Un projet intéressant est examiné ci-dessous.
étape 5
Programmation avec Ligne( et Algèbre
Cette activité de programmation ‘améliore’ l’instruction Ligne(.
L’instruction Ligne( dessine seulement un segment entre deux points. Nous aimerions voir une droite passant par les deux points et se prolongeant de part et d’autre jusqu’aux bords de l’écran. Cette activité fait usage de notion d’Algèbre, alors soyez prêts !
- Débutez un nouveau programme. Nous l’appellerons DROITE.
- Ajoutez les instructions de configuration graphique usuelles pour commencer.
- Utilisez deux instructions Input sans variable pour obtenir les coordonnées de deux points dans l’écran. Input détermine les valeurs de X et Y, nous devons les stocker dans deux autres variables, A et B, afin de pouvoir obtenir le second couple de coordonnées dans X et Y.
- Calculez et stockez la pente de la droite.
- Maintenant nous avons besoin des deux points aux bords gauche et droit de l’écran pour définir la droite. Les abscisses de ces points sont Xmin et Xmax.
- Nous devons calculer les ordonnées.
- L’équation la droite est y = M*(x - A)+B.
étape 6
- Substituez Xmin et Xmax (les noms pas les valeurs !) dans l’équation pour x et stockez les résultats dans les deux variables Q et R représentant les ordonnées.
Réponse :
M*(Xmin-A)+B → Q
M*(Xmax-A)+B → R - Utilisez l’instruction Ligne( pour tracer une droite entre le bord gauche et le bord droit de l’écran.
étape 7
- Ajoutez une boucle à ce programme pour vous permettre de tracer plusieurs droites sans avoir à relancer le programme (ce qui efface l’écran).
- Ce programme échoue quand la droite est verticale. Pourquoi ? Intégrez une structure If… pour traiter ce cas spécial.
étape 8
Imaginez ceci : vous utilisez l’instruction Pt-Aff( pour dessiner un point (A,B) sur l’écran graphique. Vous aimeriez maintenant donner un nom au point à l’aide de texte. Où allez-vous tracer le texte ?
Écrivez deux formules (une pour C et une pour D) qui convertissent les coordonnées de la fenêtre en coordonnées de pixel pour l’instruction Texte(. La table ci-dessous (valeurs pour TI-83 Premium CE) peut aider :
FENÊTRE | pixel | ||
Xmin | 0 | ||
Xmax | 264 | ||
A | ? | ||
Ymax | 0 | ||
Ymin | 164 | ||
B | ? |
Note : rappelez-vous que dans la commande Texte( le premier argument est le numéro de LIGNE ce qui correspond à l’ordonnée du point !
étape 9
Alors la pente de la droite est :
(264-0)/(Xmax-Xmin)
ainsi la transformation linéaire pour A est :
264/(Xmax-Xmin)*(A-Xmin) → D (équation de droite*)
De façon similaire, pour B nous obtenons une pente de :
(164-0)/Ymin-Ymax)
ainsi la transformation pour B est :
164/(Ymin-Ymax)*(B-Ymax) → C (équation de droite*)
* rappelez-vous que les commandes utilisant les pixels utilisent le format (n° colonne, n° ligne, texte).
C’est pour cela que A donne D et B donne C.
Application Point rebondissant
Notes de l'enseignantObjectifs :
- Apprendre à détecter sur quel type de calculatrice le programme est exécuté.
- Créer un point rebondissant sur les bords de l’écran.
étape 1
Dans le jeu vidéo original ‘Pong’ un pixel rebondit autour de l’écran. Les joueurs contrôlaient les ‘raquettes’ comme au ping-pong pour garder la balle en jeu.
Ce programme va reproduire le ‘rebond de la balle’. Un point se déplacera suivant une ligne oblique d’un côté à l’autre de l’écran et quand il heurte le bord, il changera de direction pour sembler rebondir sur celui-ci.
étape 2
Le premier problème à considérer est la taille de l’écran, comme par exemple la TI-84 Plus a une taille d’écran différente de celle de la TI-83 Premium CE.
Le segment de code suivant va détecter la taille de l’écran :
0→Xmin
1→&∆X également dans le menu [var]
Fenêtre…
If Xmax>95 then
<sur une TI-83 Premium CE>
Else
<sur une 84 plus>
End
À ce stade nous connaissons maintenant le type de calculatrice et nous fixons les variables dans les blocs Then et Else pour les utiliser dans le reste du programme : M pour la largeur et N pour la hauteur.
Pour la CE : 264→M et 165→N
Pour la 84 Plus : 94→M et 63→N
étape 3
Nous initialisons également l’étendue des y pour avoir de bonnes valeurs :
∅→Ymin
1→∆Y
Nous allons faire démarrer le point (A,B) à un emplacement choisi de façon aléatoire, mais pas trop près du bord de l’écran :
nbrAléatEnt(10,M-10)→A
nbrAléatEnt(10,N-10)→B
Nous allons aussi initialiser les deux variables pour représenter le mouvement. Elles seront ajoutées aux coordon-nées du point pour le déplacer à une nouvelle position :
nbrAléatEnt(2,5)→D changement dans A
nbrAléatEnt(2,5)→E changement dans B
Indication : Ce sont les valeurs de delta-x et delta-y.
étape 4
Nous sommes prêts à démarrer l’action. Nous allons utiliser une boucle infinie :
While 1
Pt-Aff(A,B,2) le style n°2 est un grand carré
<Reste du programme>
End
Conseil : C’est une bonne idée de mettre le End en même temps afin d’en garder la trace.
étape 5
Dans la boucle, après Pt-Aff( ajoutez le ‘changement’ de variables pour les coordonnées du point :
A+D→A
B+E→B
Ceci change les coordonnées du point.
Si vous exécutez le programme maintenant vous allez voir le point partir dans une direction et rapidement sortir de l’écran comme dans l’image de droite.
étape 6
Pour faire détecter le bord de l’écran au point nous ajoutons les instructions If…
If A>M ou A<Ø
Then
<ceci arrive lorsque le point est en dehors des limites de l’écran>
End
Deux choses doivent se produire à l’intérieur du Then :
- Faire revenir le point à l’écran A-E→A
- Changer la direction en la direction opposée -E→E
Écrivez une instruction If similaire pour traiter les ordonnées B et sa variable de ‘changement’ E.
étape 7
Ne pas laisser de trace…
L’instruction Pt-NAff permet de cacher un point.
Ajoutez une instruction Pt-NAff à votre programme afin que la trace du point ne soit pas affichée, seulement le point en mouvement. Attention de ne pas ‘éteindre’ le même point que l’on vient ‘d’allumer’. ‘Éteignez’ le point précédent (vous allez avoir besoin de deux variables de plus). Le nouveau code doit être mis à la bonne place à l’intérieur du programme. Sortir de la boucle infinie…
getKey (menu E/S de [prgm]) donnera une valeur représentant une touche sans mettre le programme en pause comme Prompt ou Input. La touche [entrer] a la valeur 105 (ligne 10, colonne 5 sur le clavier).
Voici le squelette de ce qu’il faut faire :
0→K
While K≠105
<votre programme ici>
getKey→K
End
Votre tâche est de décider où ces instructions doivent se trouver dans le programme afin que l’appuie sur la touche [entrer] provoque la fin du programme.
Que pensez-vous de cela ?…
Quand vous appuyez sur [annul] (quelle valeur de getKey obtenez-vous ?) le programme redémarre avec un écran vide et de nouvelles valeurs aléatoires et quand vous appuyez sur [entrer] le programme se termine.
étape 8
Exemple de réponse : prgmPONG FoncNAff GraphNAff AxesNAff EffDess 0 → Xmin 1 → ΔX If Xmax>95 Then 264 → M 165 → N Else 94 → M 63 → N End 0 → Ymin 1 → ΔY nbrAléatEnt(10,M – 10) → A nbrAléatEnt(10,N – 10 )→ B nbrAléatEnt(2,5) → D nbrAléatEnt(2,5) → E
|
While 1 Pt-Aff(A,B,2) A+D → A B+E → B If A>M or A<0 Then A – D → A -D → D End If B>N or B<0 Then B – E → B -E → E End End |
- Compétence 1
- Compétence 2
- Compétence 3
- Application