Académique Documents
Professionnel Documents
Culture Documents
12
Informatique Cours-TD
Cours-TD
1 Introduction
Dénition 1
Un algorithme est une suite nie d'opérations (instructions) nécessaires à la résolution d'un problème
donné.
Remarque 1
Un algorithme n'est pas un langage de programmation .
Un algorithme est reconnaissable par l'ordinateur lorsqu'il est écrit dans un langage de programmation.
Ex de langages : Pascal, C, Python, Java, VBA ...
2 Syntaxe
2.1 Aectation des variables
Dénition 2
L'aectation des variables et leur nature sont fondamentales.
Pour aecter une variable on utilisera une èche de droite à gauche :
Nom ← valeur_var
ou bien le symbole égal :
Nom = valeur_var
Ingénierie des systèmes cyber-physiques BUT-S2 R2.12
Informatique Cours-TD
Remarque 2
Le = informatique est diérent du = mathématique.
Exemple 1
a=2 a ←2
PRINT a PRINT a
b=a b←a
PRINT b PRINT b
Exemple 2
Compléter à droite ce que renvoie l'algorithme.
2.2 Boucle IF
Dénition 2
IF ... THEN : SI ... ALORS
IF(CONDITION) THEN
{ bloc d'instructions 1
... }
ELSE
{ bloc d'instructions 2
... }
END IF
Une condition doit être vraie ou fausse, on dira qu'elle doit être vériable.
Remarque 3
Une ligne commençant par If est toujours terminée par Then, ce qui signie Si, alors . C'est entre
ces deux mots que vous placez la condition souhaitée.
Donc, si j'écris le code If MaVariable = 10 Then, ce qui se trouve en dessous ne sera exécuté que si
la valeur de MaVariable est égale à 10.
Ingénierie des systèmes cyber-physiques BUT-S2 R2.12
Informatique Cours-TD
Dénition 4
Else , mot anglais traduisible par sinon.
Sinon , il faut y penser parfois pour gérer toutes
les éventualités.
Le Else doit être placé dans une boucle If, donc
entre le Then et le End If
Exemple 3
FOR i = 0 TO i = 10 DO
PRINT "Bonjour"
END FOR
Combien de fois "Bonjour" est aché ?
Ingénierie des systèmes cyber-physiques BUT-S2 R2.12
Informatique Cours-TD
WHILE (CONDITION) DO
{ bloc d'instructions
... }
END WHILE
Exemple 4
WHILE N < 10 DO N =0
{ PRINT "Bonjour" WHILE N < 10 DO
N =N +1 } { PRINT "Bonjour"
END WHILE N =N +1 }
END WHILE
Remarque 4
While , mot anglais traduisible par tant que
Vu la traduction du mot while , vous devriez vous attendre à ce que va faire notre boucle. Elle va
eectivement tourner tant que la condition est vraie.
Retenez bien ce vrai .
La syntaxe est similaire à celle du If de tout à l'heure.
Ingénierie des systèmes cyber-physiques BUT-S2 R2.12
Informatique Cours-TD
3 Exercices
EXERCICE 1. Maximum de deux entiers .
N1
N2
if N 1 > N 2
then
print "Le max de N 1 et N 2 est" + N 1
else
print "Le max de N 1 et N 2 est" + N 2
end if
k←1
resultat ← 0
for k = 1 to N do
resultat ← resultat + 2 ∗ k
print "Le résultat est + resultat"
end for
Ingénierie des systèmes cyber-physiques BUT-S2 R2.12
Informatique Cours-TD
EXERCICE 3. Tableaux .
N l ← 26
N c ← 10
i←1
j←1
for i = 1 to N l do
for j = 1 to N c do
T [i, j] ← i + j
end for
end for
a. Détailler les étapes de l'algorithme. Représenter un tableau de taille 3×4 rempli de la manière de l'algorithme.
b. Que cela aurait-il changé si on avait échangé les boucles sur i et sur j .
c. Quelle est la valeur de la case T [7, 10] ?
d. Ecrire un algorithme qui construit un tableau 10 × 10 qui ne contient que des 1 dans la première ligne, que
des 2 dans la deuxième, etc...
e. Ecrire un algorithme qui construit un tableau 10 × 10 qui ne contient que des 1 sur la diagonale et des 0
ailleurs.
f. Ecrire un algorithme qui donne la transposée d'un tableau connu : à partir d'un tableau T 1 déjà rempli, on
construit un tableau T 2 qui prend les lignes de T 1 pour les mettre en colonnes, et les colonnes de T 1 pour les
mettre en lignes. Si T 1 est de taille N × M alors de quelle taille est T 2 ?
EXERCICE 4. Moyenne de notes .
a. On a une liste de 10 notes dans le tableau 1 × 10 Notes. Ecrire un algorithme qui renvoie la moyenne de ces
notes. Terminer par une phrase qui indique que la moyenne est "mauvaise" si en-dessous de 10, et "bonne"
au contraire.
b. Que faudrait-il ajuster pour rajouter des coecients aux notes ?
EXERCICE 5. Boucle WHILE .
sum ← 2
while sum <= 100 do
sum ← sum ∗ sum
end while
EXERCICE 6. Boolean .
test ← true
sum ← 1
while test = true do
sum ← 2 ∗ sum
if sum > 1000 then
test ← false
end if
end while
print "La plus grande puissance de 2 inférieure à 1000 est" + sum