l`algorithme - Académie de Limoges

publicité
L’ALGORITHME
Qu’est ce qu’un algorithme ? C’est un ensemble d’évènements répertoriés, validés,
ordonnés afin d’arriver à l’objectif attendu. Il permet ensuite d’écrire un programme dans un langage
particulier. Aujourd’hui, les langages de programmation sont multiples et variés. On pourrait citer le
Vb, le Vbscript, le VBA, le Python, le Javascript, …. Et dans une certaine mesure le Html et le PHP.
Un algorithme s’écrira toujours avec une certaine structure.
Le nom du programme
La déclaration des données constantes
La déclaration des données variables
Début
1
Saisie des données
2
Le traitement (calcul à réaliser)
3
L’affichage des données résultats
Fin
Un programme portera toujours un nom significatif
Il faut déclarer les données avec lesquelles le traitement aura lieu.
Qu’est ce qu’une constante ?
C’est une donnée qui ne se modifiera pas ou de façon peu fréquente.
Elle est placée en début de programme, car si elle doit être modifiée, elle se retrouvera
facilement.
Elle portera un nom et se verra attribuée une valeur. Par exemple TVA = 19,6%
Qu’est ce qu’une variable ?
C’est une donnée qui prendra différentes valeurs (suivant les besoins de l’utilisateur).
Elle portera également un nom et sera typée (réel, entier, caractère, chaîne de caractères,
booléen).
Il faut enfin utiliser des instructions.
Afficher
cette instruction permet de voir le contenu de la variable à l’écran
Saisir
cette instruction permet à l’utilisateur de taper la valeur d’une variable au clavier.

ce symbole correspond à la notion d’affectation. On attribue une valeur à la variable.
Christelle HOUALET
Page - 1 -
Académie de Limoges
Lycée Suzanne Valadon
Nous allons partir d’un exemple un peu simpliste, puis le compléter :
Nom
premier algo
Variables :
À l’écran apparaîtra uniquement ceci
Message : chaîne de caractères
Début
Message  « Bonjour »
Bonjour
Afficher Message
Fin
Que voyons-nous dans ce premier algorithme ?
La structure, ainsi que l’affectation d’une valeur à une variable
Nom
deuxième algo
Variables :
Message : chaîne de caractères
Reponse : chaîne de caractères (ou booléen)
Début
Message  « Bonjour »
Afficher Message
Afficher « Voulez-vous saisir un nouveau message ? (oui / non) »
Saisir Reponse
Si Reponse = « oui »
Alors afficher « saisir votre nouveau message »
saisir Message
afficher Message
Sinon afficher « vous n’avez rien à dire ??!?!! »
Finsi
Afficher « Au revoir »
Fin
Que propose ce nouvel algorithme ?
Que permet de faire la nouvelle variable ?
Nouvelle variable Reponse qui permet de préciser s’il y a un nouveau message.
Mise en place d’une structure alternative ou conditionnelle. Elle exécute le traitement après
examen de la condition énoncée. Si la condition est vérifiée, l’exécution passe par le Alors, à défaut il
passe par le Sinon (s’il existe, ce n’est pas obligatoire). Cette structure est utilisée par les logiciels
tableur
Christelle HOUALET
Page - 2 -
Académie de Limoges
Lycée Suzanne Valadon
Nom
troisième algo
Variables :
Message : chaîne de caractères
Reponse : chaîne de caractères (ou booléen)
Début
Message  « Bonjour »
Afficher Message
Afficher « Voulez-vous saisir un nouveau message ? (oui / non) »
Saisir Reponse
Si Reponse = « non »
Alors afficher « il n’y a pas de nouveau message »
Sinon si Reponse = « oui »
Alors afficher «quel est le nouveau message ? »
saisir Message
afficher Message
sinon afficher « vous n’avez pas saisi oui ou non !!!!»
finsi
Finsi
Afficher « Au revoir »
Fin
Quelle modification a été apportée par ce nouvel algorithme ?
Structure conditionnelle, mais cette fois imbriquée. Il n’y a pas de limite dans les imbrications.
Si ce n’est la lisibilité. Il serait alors préférable d’utiliser une structure Selon Cas
Christelle HOUALET
Page - 3 -
Académie de Limoges
Lycée Suzanne Valadon
Nom
quatrième algo
Variables :
Message : chaîne de caractères
Reponse : chaîne de caractères (ou booléen)
Début
Message  « Bonjour »
Afficher Message
Répéter
Afficher « Voulez-vous saisir un nouveau message ? (oui / non) »
Saisir Reponse
Jusqu’à Reponse = « oui » ou Reponse = « non »
Si Reponse = « oui »
Alors afficher «quel est le nouveau message ? »
saisir Message
afficher Message
Sinon afficher « vous n’avez rien à dire ??!?!! »
Finsi
Afficher « Au revoir »
Fin
Qu’effectue cette nouvelle modification à l'algorithme ?
Cette nouvelle modification permet de tester la réponse saisie par l’utilisateur. La question lui
sera reposée jusqu’à ce qu’il saisisse oui ou non. Ou autrement dit elle sera posée tant que la réponse
sera différente de oui ou de non.
On utilise alors une structure itérative ou répétitive : répéter jusqu’à
Christelle HOUALET
Page - 4 -
Académie de Limoges
Lycée Suzanne Valadon
Nom
cinquième algo
Variables :
Message : chaîne de caractères
Reponse : chaîne de caractères (ou booléen)
Début
Message  « Bonjour »
Afficher Message
Afficher « Voulez – vous afficher un nouveau message ? (oui/non) »
Saisir Reponse
Tant que Reponse = « oui »
Afficher « Saisir votre nouveau message »
Saisir Message
Afficher
« ************************************************************* »
Afficher Message
Afficher
« ************************************************************* »
Afficher « Voulez – vous afficher un nouveau message ? (oui/non) »
Saisir Reponse
FinTantQue
Si Reponse = « non »
Alors afficher « vous n’avez plus rien à dire ?! »
Finsi
Afficher « Au revoir »
Fin
Quelles sont les nouvelles modifications apportées à l’algorithme ?
On utilise cette fois une nouvelle structure itérative ou répétitive : tantque fintantque. Tant que
la condition est satisfaite, le traitement s’effectue.
Différence entre répéter et tantque :
Le traitement s’effectue au moins une fois avec le répéter, puisque la condition d’arrêt est dans
la structure. Alors que le passage dans le tantque est soumis à la validité de la condition qui est mis en
place avant la structure soit par une affectation, soit par la réponse à une question.
Christelle HOUALET
Page - 5 -
Académie de Limoges
Lycée Suzanne Valadon
Nom
sixième algo
Variables :
Message : chaîne de caractères
Reponse : chaîne de caractères (ou booléen)
Compteur : entier
Début
Compteur  0
Message  « Bonjour »
Afficher Message
Afficher « Voulez – vous afficher un nouveau message ? (oui/non) »
Saisir Reponse
Tant que Reponse = « oui »
Afficher « Saisir votre nouveau message »
Saisir Message
Afficher Message
Compteur  compteur + 1
Afficher « Voulez – vous afficher un nouveau message ? (oui/non) »
Saisir Reponse
Fin tantque
Afficher « vous avez saisi », compteur , « messages. »
Afficher « Au revoir »
Fin
Quelles sont les nouvelles modifications apportées à l’algorithme ?
Introduction d’un compteur qui permet de dénombrer le nombre de messages saisi par
l’utilisateur.
Le compteur s’initialise toujours, par défaut à 0, mais c’est possible de faire autrement. Il se
place toujours dans l’itération, au niveau qui vous semble le plus judicieux.
Christelle HOUALET
Page - 6 -
Académie de Limoges
Lycée Suzanne Valadon
Nom
septième algo
Variables :
Message : chaîne de caractères
Début
Message  « Bonjour »
Afficher Message
Afficher « vous allez saisir quatre messages »
Pour i = 1 à 4
Afficher « Saisir un nouveau message ? »
Saisir Message
Afficher Message
Finpour
Afficher « Au revoir »
Fin
Quelles sont les nouvelles modifications apportées à l’algorithme ?
Introduction d’une nouvelle structure itérative. Cette structure est particulière puisqu’elle
suppose que l’on connaisse le nombre d’itérations à mettre en œuvre, à l’avance.
La valeur de i (« compteur ») s’incrémente (augmente) automatiquement d’un pas de 1 si on ne précise
rien.
La structure complète s’écrit
Christelle HOUALET
pour i allant de 1 à n pas de z
Page - 7 -
finpour
Académie de Limoges
Lycée Suzanne Valadon
Nom
huitième algo
Variables :
Message : chaîne de caractères
n : entier
Début
Message  « Bonjour »
Afficher Message
Afficher « combien de messages voulez-vous saisir ? »
Saisir n
Pour i = 1 à n
Afficher « Saisir un nouveau message ? »
Saisir Message
Afficher Message
Finpour
Afficher « Au revoir »
Fin
Quelles sont les nouvelles modifications apportées à l’algorithme ?
Même type de structure sauf que l’on veut pouvoir faire varier le nombre d’itérations. L’astuce
est alors de le faire saisir par l’utilisateur en début de programme.
APPLICATION :
Vous allez créer, dans un premier temps, un algorithme qui permette de calculer la moyenne
d’un élève pour une matière, ensuite pour toute une classe, ou encore la moyenne pour un élève pour
un trimestre, et pourquoi pas faire afficher un message suivant la valeur de la moyenne.
Piste de réflexion :
Quelles sont les données à obtenir ? Quelles sont les données obtenues par un traitement.
Quelles sont les données que je souhaite afficher ?
Quelle structure dois-je mettre en place ?
Quelles constantes ? Quelles variables ? Quel compteur (s’il y en a un ? ) ?
Christelle HOUALET
Page - 8 -
Académie de Limoges
Lycée Suzanne Valadon
Téléchargement