Les boucles avec une calculatrice Casio

Programmation de boucles avec Casio 90+E

Cette page s’adresse aux élèves de seconde qui souhaitent s’entraîner à la programmation sur leur calculatrice Casio 90+E, et plus particulièrement sur les boucles.

L’exemple qui suit est un exercice traité en page de suites arithmético-géométriques (page de niveau terminale car l’exercice y est traité mathématiquement et non à l’aide d’un algorithme).

boucle

 

Exercice

Chaque année, une entreprise de téléphonie mobile voit le nombre de ses anciens abonnés diminuer de 16 % tout en enregistrant l’arrivée de 100 000 nouveaux clients. On raisonnera à partir d’une année où le nombre total d’abonnés est de 400 000 (pour simplifier les calculs, on la nommera année 0).

1- Combien l’entreprise aura-t-elle d’abonnés après n années ?

2- À partir de quelle année le nombre d’abonnés dépassera-t-il un certain seuil ?

 

Comment faire ?

Munissez-vous de votre petit bijou de technologie. Certaines étapes n’étant pas détaillées, vous devez déjà savoir réaliser un petit programme (sinon, retour à la case programmation sur Casio). Nommons celui-ci CLIENTS :

nom du programme

Les variables communes aux deux questions sont le nombre de clients (C) et l’année (A).

 

1- La boucle bornée

La première question appelle une boucle POUR : nous savons que le programme doit tourner POUR n années. On peut rédiger le programme en langage naturel (la valeur 0,84 est le coefficient multiplicateur qui correspond à une diminution de \(16\%\).

saisir n
A ← 0
C ← 400 000
pour A variant de 1 à n
    C ← (C × 0,84) + 100 000
fin pour
afficher C

La programmation sur Casio obéit à une syntaxe très particulière (ci-dessous).

programme for

La première ligne ne pose pas de difficulté (voir programmation sur Casio). La suivante est une initialisation. Si vous savez programmer une TI, vous remarquez que la syntaxe est inversée. Par ailleurs, il est inutile d’initialiser le nombre d’années car cette opération est réalisée dans la boucle.

Observez la ligne suivante. L’instruction For…To est commune à de nombreux langages de programmation mais attention à l’initialisation. D’une part elle emploie la même syntaxe que précédemment, d’autre part A débute à 1 et non à 0. Les instructions For et To ne sont pas évidentes à trouver sur la calculatrice : il faut utiliser PRGM (SHIFT puis VARS) pour accéder au choix COM, accessible par F1. Appuyer sur F6 pour activer une petite flèche vers la droite qui nous amène au sous-menu des instructions de boucles. Bref, un sympathique jeu de piste.

L’instruction suivante est celle du traitement. C multiplié par 0.84 auquel s’ajoute 100 000 devient la nouvelle valeur de C.

On reproduit notre jeu de piste pour trouver l’instruction Next qui marque la fin de la boucle. Pour terminer, remarquez que l’affichage est on ne peut plus simple puisqu’il suffit d’indiquer C.

Pour sortir de l’édition, appuyer sur EXIT plusieurs fois jusqu’à obtenir cette fenêtre-ci :

exe

Choisissez EXE (F1) pour lancer le programme. Exemple :

exécution

Vous pouvez confronter vos résultats à l’extrait de feuille Excel en page suites arithmético-géométriques.

Suggestion d’amélioration : faire en sorte que les nombres affichés soient des entiers.

 

2- La boucle non bornée

saisir X
A ← 0
C ← 400 000
tant que A < X
    C ← (C × 0,84) + 100 000
    A = A + 1
fin pour
afficher A

Le programme est reproduit dans les fenêtres ci-dessous (vous le trouverez aussi en page de boucles while avec Python). Les instructions While et WhileEnd sont plus difficiles à trouver que les instructions For et To puisqu’il faut appuyer deux fois sur F6. Pour le symbole <, optez pour la flèche à droite (F6) afin de trouver REL (F3). Une autre voie est possible (voir la page programmation avec Casio).

programme while 1

programme while 2

Possibilités offertes par REL : \(=\; \ne\; >\; <\; \geqslant \;\leqslant\)

Là encore, vous pouvez lancer le programme sur votre calculatrice et confronter le résultat obtenu avec ceux de la page qui traite des suites arithmético-géométriques.

 

boucles