0% ont trouvé ce document utile (0 vote)
11 vues131 pages

Introduction à l'algorithmique et codage

Le document présente un cours sur l'informatique et l'algorithmique, abordant des concepts clés tels que le codage, les bases de données, les réseaux informatiques et l'intelligence artificielle. Il explique également les systèmes de numérotation, notamment les bases décimale, binaire et hexadécimale, ainsi que leur utilisation dans le traitement de l'information par les ordinateurs. Enfin, le document détaille le fonctionnement des ordinateurs en tant que machines manipulant des informations binaires à l'aide de bits et d'octets.

Transféré par

haitamanas561
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues131 pages

Introduction à l'algorithmique et codage

Le document présente un cours sur l'informatique et l'algorithmique, abordant des concepts clés tels que le codage, les bases de données, les réseaux informatiques et l'intelligence artificielle. Il explique également les systèmes de numérotation, notamment les bases décimale, binaire et hexadécimale, ainsi que leur utilisation dans le traitement de l'information par les ordinateurs. Enfin, le document détaille le fonctionnement des ordinateurs en tant que machines manipulant des informations binaires à l'aide de bits et d'octets.

Transféré par

haitamanas561
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algorithme

Plan du cours

• Informatique
• Le codage
• Introduction à l’algorithmique
• Les variables
• Lecture et Ecriture
• Les tests
• Les boucles
Definition
• L'informatique est une science qui concerne la
collecte, le stockage, la manipulation, l'analyse
et la transmission d'informations en utilisant
des ordinateurs et d'autres technologies
associées.
Definition
L'informatique est une discipline vaste et
diversifiée qui comprend plusieurs sous-
domaines, notamment la programmation
informatique, les réseaux informatiques, la
sécurité informatique, les systèmes
d'exploitation, les bases de données,
l'intelligence artificielle, la réalité virtuelle et
augmentée, etc.
Definition
• La programmation informatique est une
compétence de base en informatique qui
permet de créer des logiciels, des applications
et des jeux en utilisant des langages de
programmation tels que Java, Python, C++,
etc.
Definition
Les réseaux informatiques permettent la
communication entre les ordinateurs et les
autres appareils connectés à Internet, tandis
que la sécurité informatique vise à protéger
les systèmes informatiques contre les attaques
malveillantes.
Definition
• Les bases de données sont utilisées pour
stocker et gérer de grandes quantités
d'informations
Definition
• l'intelligence artificielle permet aux
ordinateurs d'apprendre et de prendre des
décisions en utilisant des algorithmes
sophistiqués. La réalité virtuelle et augmentée
permettent aux utilisateurs de vivre des
expériences interactives dans des
environnements virtuels ou de superposer des
informations numériques sur le monde réel.
Le codage
• Pourquoi les ordinateurs sont-ils binaires ?
• La base décimal
• La base binaire
• Le codage hexadécimal
Pourquoi les ordinateurs sont-ils binaires ?

• De nos jours, les ordinateurs sont ces machines merveilleuses capables de traiter
du texte, d’afficher des tableaux de maître, de jouer de la musique ou de projeter
des vidéos

• Pourtant, les ordinateurs ont beau sembler repousser toujours plus loin les limites
de leur champ d’action, il ne faut pas oublier qu’en réalité, ces fiers-à-bras ne sont
toujours capables que d’une seule chose ➔ le calcul

• Lorsqu’un ordinateur traite du texte, du son, de l’image, de la vidéo, il traite en


réalité des nombres. En fait, dire cela, c’est déjà lui faire trop d’honneur. Car même
le simple nombre « 3 » reste hors de portée de l’intelligence d’un ordinateur.

• Un ordinateur manipule exclusivement des informations binaires, dont on ne peut


même pas dire sans être tendancieux qu’il s’agit de nombres.
L’information binaire
• C’est une information qui ne peut avoir que deux états : par exemple, ouvert -
fermé, libre – occupé, militaire – civil, assis – couché, blanc – noir, vrai – faux, etc.
Si l’on pense à des dispositifs physiques permettant de stocker ce genre
d’information, on pourrait citer : chargé – non chargé, haut – bas, troué – non
troué.

• On symbolise une information binaire, quel que soit son support physique, sous la
forme de 1 et de 0. Il faut bien comprendre que ce n’est là qu’une représentation,
une image commode, que l’on utilise pour parler de toute information binaire.

• Dans la réalité physique, il n’y a pas plus de 1 et de 0 qui se promènent dans les
ordinateurs.

• Le 1 et le 0 dont parlent les informaticiens sont des signes, ni plus, ni moins, pour
désigner une information, indépendamment de son support physique.
La numérotation de position en base
décimale
• Pour représenter un nombre, aussi grand soit-il, nous disposons d’un alphabet
spécialisé : une série de 10 signes qui s’appellent les chiffres. Et lorsque nous
écrivons un nombre en mettant certains de ces chiffres les uns derrière les autres,
l’ordre dans lequel nous mettons les chiffres est capital. Ainsi, par exemple, 2 569
n’est pas du tout le même nombre que 9 562.

pourquoi ? Quel opération, quel décodage mental effectuons-nous lorsque nous lisons une suite de chiffres représentant un
nombre ?

• Nous sommes tellement habitués à faire ce décodage de façon instinctive que


généralement nous n’en connaissons plus les règles. Mais ce n’est pas très
compliqué de les reconstituer… Et c’est là que nous mettons le doigt en plein dans
la deuxième caractéristique de notre système de notation numérique : son
caractère décimal.
La numérotation de position en base
décimale
• Lorsque j’écris 9562, de quel nombre est-ce que je parle ? Décomposons la lecture
chiffre par chiffre, de gauche à droite :
9562, c’est 9000 + 500 + 60 + 2.

Allons plus loin, même si cela paraît un peu bête :

• 9000, c’est 9 x 1000, parce que le 9 est le quatrième chiffre en partant de la droite
• 500, c’est 5 x 100, parce que le 5 est le troisième chiffre en partant de la droite
• 60, c’est 6 x 10, parce que le 6 est le deuxième chiffre en partant de la droite
• 2, c’est 2 x 1, parce que le 2 est le premier chiffre en partant de la droite
On peut encore écrire ce même nombre d’une manière légèrement différente. Au lieu
de :
• 9 562 = 9 x 1 000 + 5 x 100 + 6 x 10 + 2,
• On écrit que :
• 9 562 = (9 x 10 x 10 x 10) + (5 x 10 x 10) + (6 x 10) + (2)
La numérotation de position en base
décimale
• On note la ligne ci-dessus à l’aide du symbole de « puissance ». Cela donne :
9 562 = 9 x 103 + 5 x 102 + 6 x 101 + 2 x 100

• Nous avons dégagé le mécanisme général de la représentation par numérotation


de position en base décimale.

➔ Alors, nous en savons assez pour conclure sur les conséquences du choix de la
base décimale :

• parce que nous sommes en base décimale, nous utilisons un alphabet numérique
de dix symboles. Nous nous servons de dix chiffres, pas un de plus, pas un de
moins.

• toujours parce nous sommes en base décimale, la position d’un de ces dix chiffres
dans un nombre désigne la puissance de dix par laquelle ce chiffre doit être
multiplié pour reconstituer le nombre. Si je trouve un 7 en cinquième position à
partir de la droite, ce 7 ne représente pas 7 mais 7 fois 104, soit 70 000.
La numérotation de position en base
binaire
• Les ordinateurs, eux, comme on l’a vu, ont un dispositif physique fait pour stocker
des informations binaires. Alors, lorsqu’on représente une information stockée par
un ordinateur, le plus simple est d’utiliser un système de représentation à deux
chiffres : les fameux 0 et 1.
• le choix du 0 et du 1 est une pure convention, et on aurait pu choisir n’importe
quelle autre paire de symboles à leur place.
• les ordinateurs ont été conçus pour manier les informations par paquets de 0 et de
1. Et la taille de ces paquets a été fixée à 8 informations binaires.

• Une information binaire (symbolisée couramment par 0 ou 1) s’appelle un bit (en


anglais... bit).
Un groupe de huit bits s’appelle un octet (en anglais, byte)
Donc, méfiance avec le byte (en abrégé, B majuscule), qui vaut un octet, c'est-à-
dire huit bits (en abrégé, b minuscule).
La numérotation de position en base
binaire
• Si l’on veut coder des nombres plus grands que 256, ou des nombres négatifs, ou des
nombres décimaux, on va donc être contraint de mobiliser plus d’un octet. Ce n’est pas
un problème, et c’est très souvent que les ordinateurs procèdent ainsi.
• En effet, avec deux octets, on a 256 x 256 = 65 536 possibilités.
• En utilisant trois octets, on passe à 256 x 256 x 256 = 16 777 216 possibilités.

• Cela implique également qu’un octet peut servir à coder autre chose qu’un nombre :
l’octet est très souvent employé pour coder du texte. Il y a 26 lettres dans l’alphabet.
Même en comptant différemment les minuscules et les majuscules, et même en y
ajoutant les chiffres et les signes de ponctuation, on arrive à un total inférieur à 256.
Cela veut dire que pour coder convenablement un texte, le choix d’un caractère par
octet est un choix pertinent.

• Se pose alors le problème de savoir quel caractère doit être représenté par quel état de
l’octet. Si ce choix était librement laissé à chaque informaticien, ou à chaque fabricant
d’ordinateur, la communication entre deux ordinateurs serait un véritable casse-tête.
L’octet 10001001 serait par exemple traduit par une machine comme un T majuscule, et
par une autre comme une parenthèse fermante.
La numérotation de position en base
binaire
• Nous avons vu qu’un octet pouvait coder 256 nombres différents, par exemple
(c’est le choix le plus spontané) la série des entiers de 0 à 255. Comment faire
pour, à partir d’un octet, reconstituer le nombre dans la base décimale qui nous
est plus familière ? Ce n’est pas sorcier ; il suffit d’appliquer, si on les a bien
compris, les principes de la numérotation de position, en gardant à l’esprit que là,
la base n’est pas décimale, mais binaire. Prenons un octet au hasard :
• 11010011
• D'après les principes vus plus haut, ce nombre représente en base dix, en partant
de la gauche :
• 1 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 =
• 1 x 128 + 1 x 64 + 1 x 16 + 1 x 2 + 1 x 1 =
• 128 + 64 + 16 + 2 + 1 =
• 211

Et voilà ! Ce n’est pas plus compliqué que cela !


La numérotation de position en base
binaire
• Inversement, comment traduire un nombre décimal en codage binaire ? Il suffit de
rechercher dans notre nombre les puissances successives de deux. Prenons, par exemple,
186.

• Dans 186, on trouve 1 x 128, soit 1 x 27. Je retranche 128 de 186 et j’obtiens 58.
• Dans 58, on trouve 0 x 64, soit 0 x 26. Je ne retranche donc rien.
• Dans 58, on trouve 1 x 32, soit 1 x 25. Je retranche 32 de 58 et j’obtiens 26.
• Dans 26, on trouve 1 x 16, soit 1 x 24. Je retranche 16 de 26 et j’obtiens 10.
• Dans 10, on trouve 1 x 8, soit 1 x 23. Je retranche 8 de 10 et j’obtiens 2.
• Dans 2, on trouve 0 x 4, soit 0 x 22. Je ne retranche donc rien.
• Dans 2, on trouve 1 x 2, soit 1 x 21. Je retranche 2 de 2 et j’obtiens 0.
• Dans 0, on trouve 0 x 1, soit 0 x 20. Je ne retranche donc rien.
• Il ne me reste plus qu’à reporter ces différents résultats (dans l’ordre !) pour reconstituer
l’octet. J’écris alors qu’en binaire, 186 est représenté par :
• 10111010

C’est bon ?
Le codage hexadécimal
• Pourquoi ce choix bizarre ? Tout d’abord, parce que le codage binaire, ce n’est tout
de même pas très économique, ni très lisible. Pas très économique : pour
représenter un nombre entre 1 et 256, il faut utiliser systématiquement huit
chiffres. Pas très lisible : parce que d’interminables suites de 1 et de 0.
• une alternative toute naturelle, c’était de représenter l’octet non comme huit bits
mais comme deux paquets de 4 bits (les quatre de gauche, et les quatre de droite).
• Avec 4 bits, nous pouvons coder 2 x 2 x 2 x 2 = 16 nombres différents. En base
seize, 16 nombres différents se représentent avec un seul chiffre.

• Quels symboles choisir pour les chiffres ? Pour les dix premiers, on n’a pas été
chercher bien loin : on a recyclé les dix chiffres de la base décimale. Les dix
premiers nombres de la base seize s’écrivent donc tout bêtement 0, 1, 2, 3, 4, 5, 6,
7, 8, et 9. Là, il nous manque encore 6 chiffres, pour représenter les nombres que
nous écrivons en décimal 10, 11, 12, 13, 14, 15 et 16. Plutôt qu’inventer de
nouveaux symboles (ce qu’on aurait très bien pu faire), on a recyclé les premières
lettres de l’alphabet. Ainsi, par convention, A vaut 10, B vaut 11, etc. jusqu’à F qui
vaut 15.
Le codage hexadécimal
• on s’aperçoit que cette base hexadécimale permet une représentation très simple
des octets du binaire. Prenons un octet au hasard :
10011110
• Pour convertir ce nombre en hexadécimal, il y a deux méthodes :
Première méthode :
• On retombe sur un raisonnement déjà abordé. Cet octet représente en base dix :
• 1 x 27 + 0 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 1 x 21 + 0 x 20 =
• 1 x 128 + 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 =
• 128 + 16 + 8 + 4 + 2 =
• 158
• De là, il faut repartir vers la base hexadécimale.
• Dans 158, on trouve 9 x 16, c’est-à-dire 9 x 161. Je retranche 144 de 158 et
j’obtiens 14.
• Dans 14, on trouve 14 x 1, c’est-à-dire 14 x 160. On y est.
• Le nombre s’écrit donc en hexadécimal : 9E
Le codage hexadécimal
Deuxième méthode :
• Divisons 1 0 0 1 1 1 1 0 en 1 0 0 1 (partie gauche) et 1 1 1 0 (partie droite).
• 1 0 0 1, c’est 8 + 1, donc 9
• 1 1 1 0, c’est 8 + 4 + 2 donc 14

➔ Le nombre s’écrit donc en hexadécimal : 9E. C’est la même conclusion qu’avec la


première méthode.

➔ Le codage hexadécimal est très souvent utilisé quand on a besoin de représenter


les octets individuellement, car dans ce codage, tout octet correspond à
seulement deux signes.
Exercice d’application
solution
Introduction à l’algorithmique

• Qu’est-ce que l’algomachin ?

• Faut-il être matheux pour être bon en algorithmique ?

• Algorithmique et programmation

• Avec quelles conventions écrit-on un algorithme ?


Introduction à l’algorithmique
« Un langage de programmation est une convention pour donner des ordres à un
ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils. Ca, ce sont
les caractéristiques de la magie. » - Dave Small

L’algorithmique est un terme d’origine arabe, comme algèbre, amiral ou zénith.


Ainsi, l’algo n’est pas « rythmique », à la différence du bon rock’n roll.

Avez-vous déjà indiqué un chemin à un touriste égaré ? Avez vous fait chercher un objet
à quelqu’un par téléphone ? Ecrit une lettre anonyme stipulant comment procéder à
une remise de rançon ? Si oui, vous avez déjà fabriqué – et fait exécuter – des
algorithmes.

Définition:
Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement,
conduit à un résultat donné.
Introduction à l’algorithmique
• Si l’algorithme, comme on vient de le dire, n’est qu’une suite d’instructions
menant celui qui l’exécute à résoudre un problème, pourquoi ne pas donner
comme instruction unique : « résous le problème », et laisser l’interlocuteur se
débrouiller avec ça ?
• A ce tarif, n’importe qui serait champion d’algorithmique sans faire aucun effort.
• Le malheur (ou le bonheur, tout dépend du point de vue) est que justement, si le
touriste vous demande son chemin, c’est qu’il ne le connaît pas. Donc, si on n’est
pas capable, il ne sert à rien de lui dire de le trouver tout seul.

➔ Pour fonctionner, un algorithme doit donc contenir uniquement des instructions


compréhensibles par celui qui devra l’exécuter.

➔ En informatique, heureusement, il n’y a pas ce problème : les choses auxquelles


ont doit donner des instructions sont les ordinateurs, et ceux-ci ont le bon goût
d’être tous strictement aussi idiots les uns que les autres.
Introduction à l’algorithmique
• Faut-il être matheux pour être bon en algorithmique ?

La maîtrise de l’algorithmique requiert deux qualités, très complémentaires d’ailleurs :

• il faut avoir une certaine intuition, car aucune recette ne permet de savoir a priori
quelles instructions permettront d’obtenir le résultat voulu. C’est là, si l’on y tient,
qu’intervient la forme « d’intelligence » requise pour l’algorithmique.

• il faut être méthodique et rigoureux. En effet, chaque fois qu’on écrit une série
d’instructions qu’on croit justes, il faut systématiquement se mettre mentalement
à la place de la machine qui va les exécuter, armé d'un papier et d'un crayon, afin
de vérifier si le résultat obtenu est bien celui que l’on voulait.

➔ évitez de sauter les étapes : la vérification méthodique, pas à pas, de chacun de


vos algorithmes représente plus de la moitié du travail à accomplir... et le gage de
vos progrès.
Introduction à l’algorithmique

• Pourquoi apprendre l’algorithmique pour apprendre à programmer ? En quoi a-t-


on besoin d’un langage spécial, distinct des langages de programmation
compréhensibles par les ordinateurs ?

➔ Parce que l’algorithmique exprime les instructions résolvant un problème donné


indépendamment des particularités de tel ou tel langage.

➔ Apprendre l’algorithmique, c’est apprendre à manier la structure logique d’un


programme informatique. Cette dimension est présente quelle que soit le langage
de programmation, plus précisément : Apprendre l’algorithmique de manière
séparée, c’est donc sérier les difficultés pour mieux les vaincre.
Introduction à l’algorithmique
• Avec quelles conventions écrit-on un algorithme ?

Historiquement, plusieurs types de notations ont représenté des algorithmes.


- Il y a eu notamment une représentation graphique, avec des carrés, des losanges,
etc. qu’on appelait des organigrammes. Aujourd’hui, cette représentation est
quasiment abandonnée, pour deux raisons. D’abord, parce que dès que
l’algorithme commence à grossir un peu, ce n’est plus pratique du tout du tout.

- C’est pourquoi on utilise généralement une série de conventions appelée


« pseudo-code », qui ressemble à un langage de programmation authentique
dont on aurait évacué la plupart des problèmes de syntaxe.
Les Variables
« N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » -
Napoléon Bonaparte

• A quoi servent les variables ?

• Déclaration des variables

• L’instruction d’affectation

• Expressions et opérateurs
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs
humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
Les Variables
A quoi servent les variables ?

• Dans un programme informatique, on va avoir en permanence besoin de stocker


provisoirement des valeurs. Il peut s’agir de données issues du disque dur, fournies
par l’utilisateur (frappées au clavier), ou que sais-je encore. Il peut aussi s’agir de
résultats obtenus par le programme, intermédiaires ou définitifs. Ces données
peuvent être de plusieurs types (on en reparlera) : elles peuvent être des nombres,
du texte, etc. Toujours est-il que dès que l’on a besoin de stocker une information
au cours d’un programme, on utilise une variable.

• Pour employer une image, une variable est une boîte, que le programme
(l’ordinateur) va repérer par une étiquette. Pour avoir accès au contenu de la
boîte, il suffit de la désigner par son étiquette.
Les Variables
Déclaration des variables

• La première chose à faire avant de pouvoir utiliser une variable est de créer la
boîte et de lui coller une étiquette. C’est ce qu’on appelle la déclaration des
variables.

• Le nom de la variable (l’étiquette de la boîte) obéit à des impératifs changeant


selon les langages. Toutefois, une règle absolue est qu’un nom de variable peut
comporter des lettres et des chiffres, mais qu’il exclut la plupart des signes de
ponctuation, en particulier les espaces.

• Lorsqu’on déclare une variable, il ne suffit pas de créer une boîte (réserver un
emplacement mémoire) ; encore doit-on préciser ce que l’on voudra mettre
dedans, car de cela dépendent la taille de la boîte (de l’emplacement mémoire) et
le type de codage utilisé.
Les Variables
• Si l’on réserve un octet pour coder un nombre cela peut signifier par exemple les
nombres entiers de 1 à 256, ou de 0 à 255, ou de –127 à +128… Si l’on réserve
deux octets, on a droit à 65 536 valeurs ; avec trois octets, 16 777 216, etc. Et là se
pose un autre problème : ce codage doit-il représenter des nombres décimaux ?
des nombres négatifs ?

Bref, le type de codage (autrement dit, le type de variable) choisi pour un nombre
va déterminer :
• les valeurs maximales et minimales des nombres pouvant être stockés dans la
variable.
• la précision de ces nombres (dans le cas de nombres décimaux).
Les Variables

R emarque:
Les Variables
• En pseudo-code, une déclaration de variables aura ainsi cette tête :

On dispose donc également du type alphanumérique (également appelé type


caractère, type chaîne ou en anglais, le type string).

Pour éviter deux sources principales de possibles confusions :


- la confusion entre des nombres et des suites de chiffres. Par exemple, 423 peut
représenter le nombre 423 (quatre cent vingt-trois), ou la suite de caractères 4, 2, et 3. Et
ce n’est pas du tout la même chose ! Avec le premier, on peut faire des calculs, avec le
second, point du tout. Dès lors, les guillemets permettent d’éviter toute ambiguïté : s’il n’y
en a pas, 423 est quatre cent vingt trois. S’il y en a, "423" représente la suite des chiffres 4,
2, 3.
- …Mais ce n'est pas le pire. L'autre confusion, bien plus grave - et bien plus fréquente –
consiste à se mélanger les pinceaux entre le nom d'une variable et son contenu. Pour
parler simplement, cela consiste à confondre l'étiquette d'une boîte et ce qu'il y a à
l'intérieur… On reviendra sur ce point crucial dans quelques instants.
Les Variables
Type booléen

Le dernier type de variables est le type booléen : on y stocke uniquement les valeurs
logiques VRAI et FAUX.

On peut représenter ces notions abstraites de VRAI et de FAUX par tout ce qu'on veut :
de l'anglais (TRUE et FALSE) ou des nombres (0 et 1).

Le recours aux variables booléennes s'avère très souvent un puissant instrument de


lisibilité des algorithmes : il peut faciliter la vie de celui qui écrit l'algorithme,
comme de celui qui le relit pour le corriger.
Les Variables
L’instruction d’affectation

La seule chose qu’on puisse faire avec une variable, c’est l’affecter, c’est-à-dire lui
attribuer une valeur. Pour poursuivre la superbe métaphore filée déjà employée,
on peut remplir la boîte.

Ainsi :
Toto ← 24
Attribue la valeur 24 à la variable Toto.
On peut en revanche sans aucun problème attribuer à une variable la valeur d’une
autre variable, telle quelle ou modifiée. Par exemple :
Tutu ← Toto
➔ Signifie que la valeur de Tutu est maintenant celle de Toto.
Les Variables
➔ une instruction d’affectation ne modifie que ce qui est situé à gauche de la flèche.
Tutu ← Toto + 4
Si Toto contenait 12, Tutu vaut maintenant 16. De même que précédemment, Toto vaut
toujours 12.
Tutu ← Tutu + 1
Si Tutu valait 6, il vaut maintenant 7. La valeur de Tutu est modifiée, puisque Tutu est la
variable située à gauche de la flèche.

Pour revenir à présent sur le rôle des guillemets dans les chaînes de caractères et sur la
confusion numéro 2 signalée plus haut, comparons maintenant deux algorithmes
suivants :
• Exemple n°1 Exemple n°2
Début Début
Riri ← "Loulou" Riri ← "Loulou"
Fifi ← "Riri" Fifi ← Riri
Fin Fin
Les Variables
Ordre des instructions
Il va de soi que l’ordre dans lequel les instructions sont écrites va jouer un rôle
essentiel dans le résultat final. Considérons les deux algorithmes suivants :
• Exemple 1
Variable A en Numérique
Début
A ← 34
A ← 12
Fin

Exemple 2
Variable A en Numérique
Début
A ← 12
A ← 34
Fin
Les Variables
Exercice 1.1
• Quelles seront les valeurs des variables A et B
après exécution des instructions suivantes ?
Variables A, B en Entier
Début
A←1
B←A+3
A←3
Fin
Les Variables
Exercice 1.2
• Quelles seront les valeurs des variables A, B et C
après exécution des instructions suivantes ?
• Variables A, B, C en Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin
Les Variables
Exercice 1.3
• Quelles seront les valeurs des variables A et B
après exécution des instructions suivantes ?
• Variables A, B en Entier
Début
A←5
B←A+4
A←A+1
B←A–4
Fin
Les Variables
Exercice 1.4
• Quelles seront les valeurs des variables A, B et C
après exécution des instructions suivantes ?
• Variables A, B, C en Entier
Début
A←3
B ← 10
C←A+B
B←A+B
A←C
Fin
Les Variables
Exercice 1.5
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?
• Variables A, B en Entier
Début
A←5
B←2
A←B
B←A
Fin
• Moralité : les deux dernières instructions permettent-elles
d’échanger les deux valeurs de B et A ? Si l’on inverse les deux
dernières instructions, cela change-t-il quelque chose ?
Les Variables
Exercice 1.6
• Plus difficile, mais c’est un classique absolu,
qu’il faut absolument maîtriser : écrire un
algorithme permettant d’échanger les valeurs
de deux variables A et B, et ce quel que soit
leur contenu préalable.
Les Variables
Expressions et opérateurs
• Si on fait le point, on s’aperçoit que dans une instruction d’affectation, on trouve :
• à gauche de la flèche, un nom de variable, et uniquement cela. En ce monde empli
de doutes qu’est celui de l’algorithmique, c’est une des rares règles d’or qui
marche à tous les coups : si on voit à gauche d’une flèche d’affectation autre chose
qu’un nom de variable, on peut être certain à 100% qu’il s’agit d’une erreur.
• à droite de la flèche, ce qu’on appelle une expression.

• Par exemple, voyons quelques expressions de type numérique. Ainsi :


Les Variables
Opérateurs numériques :
Ce sont les quatre opérations arithmétiques tout ce qu’il y a de classique.
+ : addition
- : soustraction
* : multiplication
/ : division
➔ on a le droit d’utiliser les parenthèses, avec les mêmes règles qu’en mathématiques. La
multiplication et la division ont « naturellement » la priorité sur l’addition et la
soustraction. Les parenthèses ne sont ainsi utiles que pour modifier cette priorité
naturelle.
➔ Cela signifie qu’en informatique, 12 * 3 + 5 et (12 * 3) + 5 valent strictement la même
chose, à savoir 41. Pourquoi dès lors se fatiguer à mettre des parenthèses inutiles ?

➔ En revanche, 12 * (3 + 5) vaut 12 * 8 soit 96. Rien de difficile là-dedans, que du normal.


Les Variables
Opérateur alphanumérique : &
• Cet opérateur permet de concaténer, autrement dit d’agglomérer, deux chaînes de
caractères. Par exemple :

➔ La valeur de C à la fin de l’algorithme est "GloubiBoulga"


Les Variables
Exercice 1.8
Que produit l’algorithme suivant ?
• Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A+B
Fin
Les Variables
Exercice 1.9
Que produit l’algorithme suivant ?
• Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A&B
Fin
Les Variables
REMARQUE

➔ En informatique, une variable possède à un


moment donné une valeur et une seule.
Lecture et Ecriture

1 - De quoi parle-t-on ?

2 - Les instructions de lecture et d’écriture


Lecture et Ecriture
1 - De quoi parle-t-on ?
Imaginons que nous ayons fait un programme pour calculer le carré d’un nombre,
mettons 12. Si on a fait au plus simple, on a écrit un truc du genre :

➔ Ce programme nous donne le carré de 12. C’est très gentil à lui. Mais si l’on veut le
carré d’un autre nombre que 12, il faut réécrire le programme.

➔ le résultat est indubitablement calculé par la machine. Mais elle le garde


soigneusement pour elle, et le pauvre utilisateur qui fait exécuter ce programme,
lui, ne saura jamais quel est le carré de 12.
Lecture et Ecriture

➔ C’est pourquoi, heureusement, il existe des d’instructions pour permettre à la


machine de dialoguer avec l’utilisateur.

• Dans un sens, ces instructions permettent à l’utilisateur de rentrer des valeurs au


clavier pour qu’elles soient utilisées par le programme. Cette opération est la
lecture.

• Dans l’autre sens, d’autres instructions permettent au programme de


communiquer des valeurs à l’utilisateur en les affichant à l’écran. Cette opération
est l’écriture.
Lecture et Ecriture
2. Les instructions de lecture et d’écriture

Tout bêtement, pour que l’utilisateur entre la (nouvelle) valeur de Titi, on mettra :

Dans le sens inverse, pour écrire quelque chose à l’écran, c’est aussi simple que :
Lecture et Ecriture

➔ Avant de Lire une variable, il est très fortement conseillé d’écrire des libellés à
l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper (sinon, le pauvre
utilisateur passe son temps à se demander ce que l’ordinateur attend de lui… et
c’est très désagréable !) :
Lecture et Ecriture
Exercice 2.1
Quel résultat produit le programme suivant ?
Variables val, double numériques
Début
Val ← 231
Double ← Val * 2
Ecrire Val
Ecrire Double
Fin
Lecture et Ecriture
Exercice 2.2
Ecrire un programme qui demande un
nombre à l’utilisateur, puis qui calcule
et affiche le carré de ce nombre.
Lecture et Ecriture
Exercice 2.3
Ecrire un programme qui lit le prix HT d’un
article, le nombre d’articles et le taux de TVA,
et qui fournit le prix total TTC correspondant.
Faire en sorte que des libellés apparaissent
clairement.
Lecture et Ecriture
Exercice 2.4
Ecrire un algorithme utilisant des variables de
type chaîne de caractères, et affichant quatre
variantes possibles de la célèbre « belle
journée, je vais courir, sans voiture ». On ne se
soucie pas de la ponctuation, ni des
majuscules.
Les tests
- De quoi s’agit-il ?

- Structure d’un test

- Qu’est ce qu’une condition ?

- Conditions composées

- Tests imbriqués
Les tests
De quoi s’agit-il ?
Reprenons le cas de notre « programmation algorithmique du touriste égaré »

Normalement, l’algorithme ressemblera à quelque chose comme : « Allez tout droit


jusqu’au prochain carrefour, puis prenez à droite et ensuite la deuxième à gauche,
et vous y êtes ».

« Allez tout droit jusqu’au prochain carrefour et là regardez à droite. Si la rue est
autorisée à la circulation, alors prenez la et ensuite c’est la deuxième à gauche.
Mais si en revanche elle est en sens interdit, alors continuez jusqu’à la prochaine à
droite, prenez celle-là, et ensuite la première à droite ».

➔ C’est ce qu’on appel : les tests ou les structures alternatives.


Les tests
Structure d’un test
Il n’y a que deux formes possibles pour un test :

➔Un booléen est une expression dont la valeur est VRAI ou


FAUX
Les tests
la programmation de notre touriste de tout à
l’heure donnerait donc quelque chose du
genre :
Les tests
Qu’est ce qu’une condition ?

une condition est composée de trois éléments :


• une valeur
• un opérateur de comparaison
• une autre valeur

Les valeurs peuvent être a priori de n’importe quel type


(numériques, caractères…). Mais si l’on veut que la
comparaison ait un sens, il faut que les deux valeurs de la
comparaison soient du même type !
Les tests
Les opérateurs de comparaison sont :
• égal à…
• différent de…
• strictement plus petit que…
• strictement plus grand que…
• plus petit ou égal à…
• plus grand ou égal à…
Les tests
Exercice 3.1
Ecrire un algorithme qui demande un nombre à
l’utilisateur, et l’informe ensuite si ce nombre
est positif ou négatif (on laisse de côté le cas
où le nombre vaut zéro).
Les tests
Conditions composées
Certains problèmes exigent parfois de formuler des
conditions qui ne peuvent pas être exprimées sous la
forme simple.
Reprenons le cas « Toto est inclus entre 5 et 8 ». En fait
cette phrase cache non une, mais deux conditions.

Elle revient à dire que « Toto est supérieur à 5 et Toto est


inférieur à 8 ». Il y a donc bien là deux conditions,
reliées par ce qu’on appelle un opérateur logique, le
mot ET.
Les tests
l’informatique met à notre disposition quatre
opérateurs logiques : ET, OU, NON, et XOR.

Le ET a le même sens en informatique que dans le


langage courant. Pour que "Condition1 ET
Condition2" soit VRAI, il faut impérativement que
Condition1 soit VRAI et que Condition2 soit VRAI.
Dans tous les autres cas, "Condition 1 et Condition2"
sera faux.
Les tests
Il faut se méfier un peu plus du OU. Pour que
"Condition1 OU Condition2" soit VRAI, il suffit
que Condition1 soit VRAIE ou que Condition2
soit VRAIE. Le point important est que si
Condition1 est VRAIE et que Condition2 est
VRAIE aussi, Condition1 OU Condition2 reste
VRAIE. Le OU informatique ne veut donc pas
dire « ou bien »
Les tests
Le XOR (ou OU exclusif) fonctionne de la
manière suivante. Pour que "Condition1 XOR
Condition2" soit VRAI, il faut que soit
Condition1 soit VRAI, soit que Condition2 soit
VRAI. Si toutes les deux sont fausses, ou que
toutes les deux sont VRAI, alors le résultat
global est considéré comme FAUX. Le XOR est
donc l'équivalent du "ou bien" du langage
courant.
Les tests
le NON inverse une condition :
NON(Condition1)est VRAI si Condition1 est FAUX,
et il sera FAUX si Condition1 est VRAI. C'est
l'équivalent pour les booléens du signe "moins"
que l'on place devant les nombres.

Remarque:
à quoi sert ce NON. Après tout, plutôt qu’écrire
NON(Prix > 20), il serait plus simple d’écrire tout
bonnement Prix=<20.
Les tests
On représente fréquemment tout ceci dans des tables de vérité
Les tests
Exercice 3.2
Ecrire un algorithme qui demande deux
nombres à l’utilisateur et l’informe ensuite si
leur produit est négatif ou positif (on laisse de
côté le cas où le produit est nul). Attention
toutefois : on ne doit pas calculer le produit
des deux nombres.
SOL
Variables m, n en Entier
Début
Ecrire "Entrez deux nombres : "
Lire m, n
Si (m > 0 ET n > 0) OU (m < 0 ET n < 0) Alors
Ecrire "Leur produit est positif"
Sinon
Ecrire "Leur produit est négatif"
Finsi
Fin
Les tests
Exercice 3.3
Ecrire un algorithme qui demande trois noms à
l’utilisateur et l’informe ensuite s’ils sont
rangés ou non dans l’ordre alphabétique.
SOL
Variables a, b, c en Caractère
Début
Ecrire "Entrez successivement trois noms : "
Lire a, b, c
Si a < b ET b < c Alors
Ecrire "Ces noms sont classés alphabétiquement"
Sinon
Ecrire "Ces noms ne sont pas classés"
Finsi
Fin
Les tests
Tests imbriqués
Un SI ouvre donc deux voies, correspondant à
deux traitements différents. Mais il y a des tas
de situations où deux voies ne suffisent pas.
Par exemple, un programme devant donner
l’état de l’eau selon sa température doit
pouvoir choisir entre trois réponses
possibles (solide, liquide ou gazeuse).
Les tests
Une première solution serait la suivante :
Les tests
Les conditions se ressemblent plus ou moins, et surtout on
oblige la machine à examiner trois tests successifs alors que
tous portent sur une même chose, la température de l'eau (la
valeur de la variable Temp).
Les tests
Remarque sur les tests imbriqués :
Nous avons fait des économies:
- nous n’avons plus que deux conditions
simples.
- nous avons fait des économies sur le temps
d’exécution de l’ordinateur.

➔ Cette deuxième version n’est donc pas


seulement plus simple à écrire et plus lisible, elle
est également plus performante à l’exécution.
Les tests
Exercice 3.4
Ecrire un algorithme qui demande un nombre à
l’utilisateur, et l’informe ensuite si ce nombre
est positif ou négatif (on inclut cette fois le
traitement du cas où le nombre vaut zéro).
SOL
Variable n en Entier
Début
Ecrire "Entrez un nombre : "
Lire n
Si n < 0 Alors
Ecrire "Ce nombre est négatif"
SinonSi n = 0 Alors
Ecrire "Ce nombre est nul"
Sinon
Ecrire "Ce nombre est positif"
Finsi
Fin
Les tests
Exercice 3.5
Ecrire un algorithme qui demande deux
nombres à l’utilisateur et l’informe ensuite si
le produit est négatif ou positif (on inclut cette
fois le traitement du cas où le produit peut
être nul). Attention toutefois, on ne doit pas
calculer le produit !
sol
Variables m, n en Entier
Début
Ecrire "Entrez deux nombres : "
Lire m, n
Si m = 0 OU n = 0 Alors
Ecrire "Le produit est nul"
SinonSi (m < 0 ET n < 0) OU (m > 0 ET n > 0) Alors
Ecrire "Le produit est positif"
Sinon
Ecrire "Le produit est négatif"
Finsi
Fin
Les tests
Exercice 3.6
Ecrire un algorithme qui demande l’âge d’un
enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :
"Poussin" de 6 à 7 ans
"Pupille" de 8 à 9 ans
"Minime" de 10 à 11 ans
"Cadet" après 12 ans
sol
Variable age en Entier
Début
Ecrire "Entrez l’âge de l’enfant : "
Lire age
Si age >= 12 Alors
Ecrire "Catégorie Cadet"
SinonSi age >= 10 Alors
Ecrire "Catégorie Minime"
SinonSi age >= 8 Alors
Ecrire "Catégorie Pupille"
SinonSi age >= 6 Alors
Ecrire "Catégorie Poussin"
Finsi
Fin
Les tests
Variables Booléennes

Jusqu’ici, pour écrire nos tests, nous avons


utilisé uniquement des conditions. Mais vous
vous rappelez qu’il existe un type de variables
(les booléennes) susceptibles de stocker les
valeurs VRAI ou FAUX.
Les tests
Reprenons l’exemple de l’eau. On pourrait le réécrire ainsi :

A priori, cette technique ne présente guère d’intérêt : on a


alourdi plutôt qu’allégé l’algorithme de départ, en ayant
recours à deux variables supplémentaires.
Les tests
Exercice 4.4
Un magasin de reprographie facture 0,10 E les
dix premières photocopies, 0,09 E les vingt
suivantes et 0,08 E au-delà. Ecrivez un
algorithme qui demande à l’utilisateur le
nombre de photocopies effectuées et qui
affiche la facture correspondante.
sol
Variables n, p en Numérique
Début
Ecrire "Nombre de photocopies : "
Lire n
Si n <= 10 Alors
p ← n * 0,1
SinonSi n <= 30 Alors
p ← 10 * 0,1 + (n – 10) * 0,09
Sinon
p ← 10 * 0,1 + 20 * 0,09 + (n – 30) * 0,08
FinSi
Ecrire "Le prix total est: ", p
Fin
Les tests
Exercice 4.5
Les habitants de Zorg paient l’impôt selon les règles
suivantes : les hommes de plus de 20 ans paient
l’impôt
les femmes paient l’impôt si elles ont entre 18 et 35
ans
les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le sexe du
Zorglubien, et se prononcera donc ensuite sur le
fait que l’habitant est imposable.
sol
• Variable sex en Caractère
Variable age en Numérique
Variables C1, C2 en Booléen
Début
Ecrire "Entrez le sexe (M/F) : "
Lire sex
Ecrire "Entrez l’âge: "
Lire age
C1 ← sex = "M" ET age > 20
C2 ← sex = "F" ET (age > 18 ET age < 35)
Si C1 ou C2 Alors
Ecrire "Imposable"
Sinon
Ecrire "Non Imposable"
FinSi
Fin

Les tests
Exercice 4.6
Les élections législatives obéissent à la règle suivante : lorsque l'un des
candidats obtient plus de 50% des suffrages, il est élu dès le
premier tour.
en cas de deuxième tour, peuvent participer uniquement les candidats
ayant obtenu au moins 12,5% des voix au premier tour.
Vous devez écrire un algorithme qui permette la saisie des scores de
quatre candidats au premier tour. Cet algorithme traitera ensuite le
candidat numéro 1 (et uniquement lui) : il dira s'il est élu, battu, s'il
se trouve en ballottage favorable (il participe au second tour en
étant arrivé en tête à l'issue du premier tour) ou défavorable (il
participe au second tour sans avoir été en tête au premier tour).
sol
Variables A, B, C, D en Numérique
Variables C1, C2, C3, C4 en Booléen
Début
Ecrire "Entrez les scores des quatre prétendants :"
Lire A, B, C, D
C1 ← A > 50
C2 ← B > 50 ou C > 50 ou D > 50
C3 ← A >= B et A >= C et A >= D
C4 ← A >= 12,5
Si C1 Alors
Ecrire “Elu au premier tour"
Sinonsi C2 ou Non(C4) Alors
Ecrire “Battu, éliminé, sorti !!!”
SinonSi C3 Alors
Ecrire "Ballotage favorable"
Sinon
Ecrire "Ballotage défavorable"
FinSi
Fin
Les structures itératives
1- A quoi cela sert-il donc ?

2- Boucler en comptant, ou compter en bouclant

3- Des boucles dans des boucles


Les structures itératives
A quoi cela sert-il donc ?
Prenons le cas d’une saisie au clavier (une
lecture), le programme pose une question à
laquelle l’utilisateur doit répondre par O (Oui)
ou N (Non).
Les structures itératives
on met en place ce qu’on appelle un contrôle de
saisie, afin de vérifier que les données entrées
au clavier correspondent bien à celles
attendues par l’algorithme.
Les structures itératives
Remarque
Si l’on veut également Améliorer en cas de
deuxième erreur, il faudrait rajouter un SI. Et
ainsi de suite, on peut rajouter des centaines
de SI, et écrire un algorithme aussi lourd.
Les structures itératives
La seule issue est donc d’utiliser une structure de boucle, qui
se présente ainsi :

➔le programme arrive sur la ligne du TantQue. Il examine


alors la valeur du booléen. Si cette valeur est VRAI, le
programme exécute les instructions qui suivent, jusqu’à ce
qu’il rencontre la ligne FinTantQue. Il retourne ensuite sur
la ligne du TantQue, procède au même examen, et ainsi de
suite.
Les structures itératives
Illustration avec notre problème de contrôle de
saisie. Une première approximation de la
solution consiste à écrire :
Les structures itératives
➔Son principal défaut est de provoquer une erreur
à chaque exécution

➔l’expression booléenne qui figure après le


TantQue interroge la valeur de la variable Rep.
Malheureusement, cette variable, si elle a été
déclarée, n’a pas été affectée avant l’entrée dans
la boucle. On teste donc une variable qui n’a pas
de valeur, ce qui provoque une erreur et l’arrêt
immédiat de l’exécution.
Les structures itératives
Les structures itératives
Remarquons que nous pourrions Améliorer nos
solutions en ajoutant des affichages de libellés
qui font encore un peu défaut.
Les structures itératives
Exercice 5.1
Ecrire un algorithme qui demande à l’utilisateur
un nombre compris entre 1 et 3 jusqu’à ce que
la réponse convienne.
sol
Variable N en Entier
Debut
N ← 0
Ecrire "Entrez un nombre entre 1 et 3"
TantQue N < 1 ou N > 3
Lire N
Si N < 1 ou N > 3 Alors
Ecrire "Saisie erronée. Recommencez”
FinSi
FinTantQue
Fin
Les structures itératives
Exercice 5.2
Ecrire un algorithme qui demande un nombre
compris entre 10 et 20, jusqu’à ce que la
réponse convienne. En cas de réponse
supérieure à 20, on fera apparaître un
message : « Plus petit ! », et inversement,
« Plus grand ! » si le nombre est inférieur à 10.
sol
Variable N en Entier
Debut
N ← 0
Ecrire "Entrez un nombre entre 10 et 20"
TantQue N < 10 ou N > 20
Lire N
Si N < 10 Alors
Ecrire "Plus grand !"
SinonSi N > 20 Alors
Ecrire "Plus petit !"
FinSi
FinTantQue
Fin
Les structures itératives
Exercice 5.3
Ecrire un algorithme qui demande un nombre
de départ, et qui ensuite affiche les dix
nombres suivants. Par exemple, si l'utilisateur
entre le nombre 17, le programme affichera
les nombres de 18 à 27.
sol
Variables N, i en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
i ← 0
Ecrire "Les 10 nombres suivants sont : "
TantQue i < 10
i ← i + 1
Ecrire N + i
FinTantQue
Fin
Les structures itératives
Boucler en comptant, ou compter en bouclant
Une boucle pouvait être utilisée pour augmenter la valeur d’une
variable. Cette utilisation des boucles est très fréquente, et
dans ce cas, il arrive très souvent qu’on ait besoin d’effectuer
un nombre déterminé de passages.

➔ La structure TantQue ne sait pas à l’avance combien de tours


de boucle elle va effectuer
Les structures itératives
➔C’est pourquoi une autre structure de boucle est à notre
disposition :
Les structures itératives
la structure « Pour … Suivant » n’est pas du tout
indispensable . on pourrait fort bien
programmer toutes les situations de boucle
uniquement avec un « Tant Que ». Le seul
intérêt du « Pour » est d’épargner un peu de
fatigue au programmeur, en lui évitant de
gérer lui-même la progression de la variable
qui lui sert de compteur (on parle
d’incrémentation)
Les structures itératives
➔la structure « Pour … Suivant » est un cas particulier
de TantQue : celui où le programmeur peut
dénombrer à l’avance le nombre de tours de boucles
nécessaires.

Syntaxe générale :
Les structures itératives
Des boucles dans des boucles
de même qu’une structure SI … ALORS peut contenir
d’autres structures SI … ALORS, une boucle peut tout
à fait contenir d’autres boucles.
Les structures itératives
Remarque:

➔Dans cet exemple, le programme écrira une


fois "il est passé par ici" puis six fois de suite "il
repassera par là", et ceci quinze fois en tout. A
la fin, il y aura donc eu 15 x 6 = 90 passages
dans la deuxième boucle (celle du milieu),
donc 90 écritures à l’écran du message « il
repassera par là ».
Les structures itératives

Ici, il y aura quinze écritures consécutives de "il


est passé par ici", puis six écritures
consécutives de "il repassera par là", et ce
sera tout.
Les structures itératives
Remarque
➔boucles peuvent donc être imbriquées (cas
n°1) ou successives (cas n°2).
Attention !
Les structures itératives
Exercice 5.4
Ecrire un algorithme qui demande un nombre de
départ, et qui ensuite écrit la table de
multiplication de ce nombre, présentée comme
suit (cas où l'utilisateur entre le nombre 7) :
Table de 7 :
7x1=7
7 x 2 = 14
7 x 3 = 21

7 x 10 = 70
sol
Variables N, i en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
Ecrire "La table de multiplication de ce
nombre est : "
Pour i ← 1 à 10
Ecrire N, " x ", i, " = ", n*i
i Suivant
Fin
Les structures itératives
Exercice 5.5
Ecrire un algorithme qui demande un nombre
de départ, et qui calcule la somme des entiers
jusqu’à ce nombre. Par exemple, si l’on entre
5, le programme doit calculer :
1 + 2 + 3 + 4 + 5 = 15
NB : on souhaite afficher uniquement le résultat,
pas la décomposition du calcul.
sol
Variables N, i, Som en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
Som ← 0
Pour i ← 1 à N
Som ← Som + i
i Suivant
Ecrire "La somme est : ", Som
Fin
Les structures itératives
Exercice 5.6
Ecrire un algorithme qui demande un nombre
de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut
1x2x3x4x5x6x7x8
sol
Variables N, i, F en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
F ← 1
Pour i ← 2 à N
F ← F * i
i Suivant
Ecrire "La factorielle est : ", F
Fin
Les structures itératives
Exercice 5.7
Ecrire un algorithme qui demande successivement
20 nombres à l’utilisateur, et qui lui dise ensuite
quel était le plus grand parmi ces 20 nombres :
• Entrez le nombre numéro 1 : 12
Entrez le nombre numéro 2 : 14
etc.
Entrez le nombre numéro 20 : 6
Le plus grand de ces nombres est : 14
sol
Variables N, i, PG en Entier
Debut
PG ← 0
Pour i ← 1 à 20
Ecrire "Entrez un nombre : "
Lire N
Si i = 1 ou N > PG Alors
PG ← N
FinSi
i Suivant
Ecrire "Le nombre le plus grand était : ", PG
Fin
• triangle d'étoiles
• Ecrire un algorithme qui affiche à l'écran le
triangle d'étoiles suivant :
*
**
***
****
*****
sol

Algorithme Triangle_des_étoiles
// i : compteur, j : compteur
Variables I, J : entiers
Début
Pour I ← 1 à 5 Faire
Pour J ← 1 à I faire
ecrire("*")
FinPour
//Retour à la ligne
ecrire("\n")
FinPour
Fin
• triangle d'étoiles
• Ecrire un algorithme qui affiche à l'écran le
triangle d'étoiles suivant :
*
***
*****
*******

Vous aimerez peut-être aussi