Chapitre 8 : programmer en pseudocode

Mise en Projet

Le stade ultime du cours est atteint avec ce chapitre. Il s'agit maintenant de s'immerger dans la programmation pure et dure, même si nous allons le faire avec un pseudolangage. Les 20 exercices proposés vont vous permettre de vous mettre dans l'environnement d'un vrai programmeur tout en pouvant observer, en plus, ce qui se passe à l'intérieur de la machine.

Objectifs

Mettre en œuvre toutes les connaissances acquises aux chapitres précédents pour réaliser de vrais programmes (même s'il sont de taille réduite).

Présentation

Tout en restant dans une interface proche de celle des robots, vous allez être aux commandes du tableau de bord d'un véritable ordinateur.

Plus fort, vous allez pouvoir assister à toutes les phases de l'exécution de votre programme... la "boîte noire" devient transparente, vous montrant toutes les activités de la machine, ce qui vous permettra de vous faire des "images mentales" qui vous seront bien utiles par la suite.

Voici ce à quoi va ressembler ce tableau de bord et l'utilité des chacun de ses composants.

Tout d'abord, vous disposez de 8 variables, cases mémoires symbolisées par les fameuses "ardoises" dans le chapitre des "tours de main". Par souci de simplicité, les 5 types de données vus dans le chapitre précédent ont été ramenés à 3 :

  1. Les entiers et les réels ont été regroupés dans le type Nombres;
  2. Les caractères et les chaînes de caractères ont été regroupés dans le type Caractères;
  3. et enfin, les booléens restent un type à part entière : le type Booléens.
Le tableau des variables se présente comme ceci :

Le tableau des variables

Nous verrons concrètement comment l'utiliser ci-dessous.

Viennent ensuite toutes les commandes. Il faut pouvoir lire "des choses" au clavier, afficher "des choses" à l'écran, remplir les variables, les lire, effectuer des calculs, des comparaisons, tester des conditions,... Tout cela sera possible grâce au tableau de bord suivant :

Le tableau des commandes

Avant d'entamer quelques exemples de programmation, voyons à quoi servent ces différentes commandes et comment les utiliser :

Mode d'emploi

Les variables

Vous disposez de 8 variables. Pour utiliser une variable, vous devez lui donner un nom (dans le rectangle orange du milieu) et un type (en déroulant le menu du cadre du bas). Vous avez 3 types possibles : "Nombres" (entiers ou réels), "Caractères" (ce que vous voulez) et "Booléens" (représentés par les deux concepts Vrai ou Faux). Quand vous quitterez le rectangle orange, le nom de la variable se recopiera automatiquement dans le rectangle bleu foncé du dessus. Vous pourrez alors traîner ce rectangle sur le tableau magnétique afin de mentionner cette variable dans votre programme.

Les instructions d'actions élémentaires

Permet d'afficher à l'écran les données qui suivent et de passer ensuite à la ligne à l'écran. Remarque : il n'est pas permis de réaliser des calculs ou des comparaisons dans un affichage.
Permet d'afficher à l'écran les données qui suivent sans passer ensuite à la ligne à l'écran. Remarque : il n'est pas permis de réaliser des calculs ou des comparaisons dans un affichage.
Permet de lire une donnée au clavier et de la placer, d'en "affecter" la variable citée après cette instruction.
Permet d'affecter la variable citée avant cette instruction avec une donnée provenant d'une autre variable, d'un ou de plusieurs calcul ou comparaisons.

Les constantes

Vous devez, à certains moments, pouvoir introduire dans votre code des "constantes", c'est-à-dire des nombres ou des chaînes de caractères fixes, ou les concepts Vrai ou Faux. Vous pourrez le faire en introduisant ces données dans les rectangles oranges, mais attention, le cadre du haut est réservé exclusivement aux Nombres et celui en dessous sert pour les chaînes de caractères. Fonctionnement : tapez vos données dans le cadre orange adéquat. Quand vous quitterez ce cadre (avec la touche Tabulation par exemple), la donnée se recopiera automatiquement dans le cadre jaune situé en dessous. Vous pourrez alors traîner ce cadre jaune à l'endroit voulu de votre marche à suivre ou code. Les deux concepts booléens sont également disponibles afin d'être traînés dans le programme aux endroits voulus.

Les opérateurs mathématiques

Opérateurs de base permettant d'effectuer les opérations correspondantes. Pour fonctionner, chacun de ces opérateurs doit être entouré de part et d'autre de données de types "Nombres". Si vous voulez effectuer la négation d'une expression mathématique, vous devrez placer un 0 devant le -. Les opérations tiendront compte des niveaux de parenthèses et des priorités des opérateurs.
Permet d'obtenir la division entière de la donnée qui précède par la donnée qui suit. Par exemple, 14 DIV 4 donnera 3 (de façon entière, 4 ne va que 3 fois dans 14).
Permet d'obtenir le reste de la division entière. Par exemple, 13 MOD 4 donnera 1 car 1 est le reste de la division entière de 13 par 4.
Permet d'obtenir un nombre au hasard entre 0 et le nombre mentionné après Hasard, ces deux nombres étant compris. À vous d'effectuer les opérations mathématiques adéquates pour obtenir le nombre au hasard dans les limites qui vous conviennent. Pour obtenir par exemple un nombre au hasard de 10 à 18 compris, vous mentionnerez (Hasard 8)+10.

Les opérateurs booléens

Ces deux opérateurs doivent être entourés de part et d'autres de données de types "Booléens", tenant compte des parenthèses éventuelles. Le ET donnera "Vrai" si ses deux opérandes sont Vrais. Le OU donnera "Vrai" si l'un de ses deux opérandes au moins est Vrai.
Le PAS doit être suivi d'une donnée de type "Booléen", tenant compte des parenthèses éventuelles. le PAS inversera l'état de l'opérande qui le suit, le faisant passer de "Vrai" à "Faux" ou inversément.

Les opérateurs de comparaison et les parenthèses

Permettent de comparer deux données de types identiques. Ces données doivent se trouver de part et d'autre de l'opérateur, tenant compte des parenthèses éventuelles, et le résultat sera de type "Booléen" (vrai ou faux). Remarque : ne confondez pas le = (instruction d'affectation d'une variable) avec le == (opérateur de comparaison entre 2 données de mêmes types).
De gauche à droite : égal, plus petit, plus grand, plus petit ou égal, plus grand ou égal, différent.
Les parenthèses permettent d'intervenir sur les priorités des opérations tant mathématiques que de comparaison.

Ce mode d'emploi sera disponible dans tous les exercices afin que vous puissiez vous y référer facilement en cas de besoin.

Voici quelques exemples de fonctionnement :

A. Déclarer la variable "Compteur" et l'initialiser à 0 (zéro). Les étapes suivantes sont à réaliser :

  1. Déclarer la variable Compteur en tapant ce mot dans le cadre orange marqué "Nom ?" d'une variable libre;
  2. Taper la touche "Tabulation", ce qui sélectionnera la fenêtre du dessous (avec le menu déroulant) et copiera le nom de la variable dans le cadre bleu foncé;
  3. Déroulez le menu et sélectionnez "Nombres" ou tapez 1 fois sur la touche "Flèche bas";
  4. Traînez le cadre bleu foncé sur une ligne libre du cadre magnétique;
  5. Trainez le signe "=" des "Instructions d'actions élémentaires" sur la même ligne derrière le cadre bleu foncé;
  6. Dans le cadre orange des "Constantes" marqué "Nombre ?" tapez la valeur 0 au clavier et tapez sur la touche de tabulation;
  7. Traînez le cadre jaune dans lequel s'est inscrit le 0 derrière le signe égal placé juste avant...
...et le tour est joué. Vous pouvez effectuer une "Mise en page" afin que tout cela se mette en ordre.

Vous devez avoir obtenu le morceau de code suivant :

Initialisation de Compteur à 0

B. Demander à l'utilisateur son prénom et le stocker dans la variable "Prénom". Les étapes suivantes sont à réaliser :

  1. Trainez le bloc "Affiche" des "Instructions d'actions élémentaires" sur une ligne libre du cadre magnétique;
  2. Dans le cadre orange marqué "Caractères ?" tapez le texte "Bonjour, quel est ton prénom ?" au clavier et tapez sur la touche de tabulation;
  3. Traînez le cadre jaune dans lequel s'est inscrite cette phrase derrière le bloc "Affiche" que vous venez de placer;
  4. Trainez le bloc "Lis et colle sur" des "Instructions d'actions élémentaires" sur une ligne libre en dessous de la précédente;
  5. Déclarer la variable Prénom en tapant ce mot dans le cadre orange marqué "Nom ?" d'une variable libre;
  6. Taper la touche "Tabulation", ce qui sélectionnera la fenêtre du dessous (avec le menu déroulant) et copiera le nom de la variable dans le cadre bleu foncé;
  7. Déroulez le menu et sélectionnez "Caractères" ou tapez 2 fois sur la touche "Flèche bas";
  8. Traînez le cadre bleu foncé derrière le bloc "Lis et colle sur" que vous venez de placer...
...et le tour est joué. Vous pouvez effectuer une "Mise en page" afin que tout cela se mette en ordre.

Vous devez avoir obtenu le morceau de code suivant :

Demande du prénom

C. Incrémenter (ajouter 1) la variable "Compteur". Les étapes suivantes sont à réaliser (sachant que, normalement, la variable Compteur est déjà déclarée :

  1. Traînez le cadre bleu foncé de la variable Compteur au début d'une ligne vide du tableau magnétique;
  2. Trainez le signe "=" des "Instructions d'actions élémentaires" sur la même ligne derrière le cadre bleu foncé;
  3. Traînez à nouveau le cadre bleu foncé de la variable Compteur derrière ce signe "=";
  4. Trainez le signe "+" des "Opérateurs mathématiques" sur la même ligne derrière le cadre bleu foncé;
  5. Dans le cadre orange marqué "Nombres ?" tapez la valeur "1" au clavier et tapez sur la touche de tabulation;
  6. Traînez le cadre jaune dans lequel s'est inscrite cette valeur derrière le signe "="...
...et le tour est joué. Vous pouvez effectuer une "Mise en page" afin que tout cela se mette en ordre.

Vous devez avoir obtenu le morceau de code suivant :

Incrémentation de Compteur

D. Terminer une boucle "Répète" en vérifiant si le contenu de la variable "Nombre" est un multiple de 5. Vous devrez pour cela obtenir la ligne de code suivante :

Vérification du multiple de 5

Et l'exécution ?

Lorsque vous demandez de tester le programme, vous passez en phase d'exécution. Un nouveau tableau de bord apparaît avec différents cadres et boutons. De haut en bas...

Exécution du programme Exécution du programme

L'écran simule l'écran de l'ordinateur : chaque fois que vous demanderez d'afficher "quelque chose", c'est à cet endroit que cela apparaîtra.

Le clavier simule le clavier : quand le programme demandera une données à l'utilisateur, c'est par là que vous pourrez la taper au clavier et la valider avec la touche "Entrée" ou "Enter".

Mode d'emploi permet d'afficher le mode d'emploi tel qu'il apparaît plus haut dans cette page.

Aide affiche le raisonnement à tenir pour vous aider à réussir votre programme. Elle consistera bientôt en une vidéo.

Corriger vous permet de revenir en phase d'édition de votre programme afin de pouvoir le modifier.

Menu vous permet de sortir de l'exercice pour retourner au menu... Attention, tout votre programme s'efface quand vous faites cela et il n'est plus récupérable.

Afficher ou ne pas afficher, telle est la question. L'affichage vous permet d'avoir une pause qui attire votre attention avant chaque étape importante du programme. Lorsque ces informations vous seront inutiles ou que vous désirerez exécuter un programme à grande vitesse, vous pourrez cliquer sur Ne pas afficher les étapes. Le bouton se transformera en son inverse et vous pourrez cliquer sur Afficher les étapes pour les voir réapparaître à nouveau. Ces changements peuvent se faire à n'importe quel moment de l'exécution du programme.

Démarrer le programme permet de démarrer l'exécution de la première ligne de votre code. Si vous recliquez dessus en cours de programme, l'exécution se réinitialise au début. Ce bouton changera de couleur (rouge si une erreur, verte si le programme aboutit). Attention : ce n'est pas parce qu'un programme s'exécute totalement, sans erreur fatale, qu'il est correct. Vous devez le faire valider par la ou le responable qui vérifiera si votre programme exécute correctement et complètement ce qui est demandé dans l'énoncé.

Pas suivant (grand bouton mauve non illustré ici) vous permettra d'exécuter la ligne de code suivante. En cas d'erreur fatale, ce bouton disparaîtra.

Résultat de l'exécution est la fenêtre qui vous communiquera les informations quant à l'exécution du programme. Elle sera surtout intéressante aux moments des tests (elle vous donnera le résultat) et en cas d'erreur (elle essaiera de vous expliquer de la manière la plus précise la raison de votre erreur). Bien entendu, ce n'est pas magique, il faudra parfois faire preuve de sagacité pour corriger votre erreur correctement.

Voilà, vous savez tout... Il ne vous reste plus qu'à vous lancer.

Bon courage et bonne réussite.

Retour