Cours : Multiple et Algorithme
Algorithme et programme en Python
Il est possible d'automatiser la réponse à la question : "\(a\) est-il un multiple de \(b\)" ? (où \(a\) et \(b\) sont deux entiers naturels connus)
Pour cela, on écrit un algorithme correspondant au problème
puis, on traduit l'algorithme dans un langage de programmation ( Le langage Python est au programme du Lycée)
puis, on fait exécuter le programme par un ordinateur
Simulation : Algorithme : (Multiple)
x ← a
y ← b
si x%y = 0 alors écrire "a est un multiple de b"
sinon écrire "a n'est pas un multiple de b"
Remarque :
Dans l'algorithme :
x ← a signifie "mettre dans la mémoire appelée x le nombre a"
x%y =0 est le reste de la division euclidienne de x par y
x%y =0 signifie que le reste de la division euclidienne de x par y est égal à 0
L'algorithme utilise alors la propriété du cours qui utilise la "condition du reste nul" dans la division euclidienne
Simulation : Traduction dans le langage Python :
x = int(input("Entrez la valeur de a S.V.P."))
y = int(input("Entrez la valeur de b S.V.P."))
if x%y ==0 :
\(~~\) print(x," est un multiple de ",y)
else :
\(~~\) print(x," n'est pas un multiple de ",y)
Remarque :
Dans le programme écrit en Python ci dessus :
x = int(input("Entrez la valeur de a S.V.P.")) signifie "mettre dans la mémoire appelée x le nombre entier a"
"int" signifie que le nombre entré sera du type "entier"
if x%y ==0 : signifie "si le reste de la division Euclidienne de x par y est égal à 0"
remarquer que le symbole = est déja réservé pour "mettre en mémoire"
on utilise alors le symbole "double égal" == pour tester si un nombre est égal à un autre en Python
par exemple, en Python :
2==0 est "faux"
3==3 est "vrai".
alors que 2=2 conduit à une erreur de syntaxe.
remarquer aussi les deux points à la fin de la ligne du if. (si on ne les mets pas, le programme "plante")
print(x," est un multiple de ",y) signifie "afficher x puis afficher la phrase <est un multiple de> puis afficher y
remarquer le décalage ( indentation ) avant le print ( à cause du if ) (si on ne respecte pas l'indentation, le programme "plante")
cette indentation permet de bien repérer la liste d'instructions à effectuer après le "if" qui est terminée quand on "désindente".
else signifie "sinon"
remarquer aussi les deux points à la fin de la ligne du if.
remarquer le décalage ( indentation ) avant le print ( à cause du else )
Exemple :
Dans la page accessible ici
Lancez le programme en cliquant sur Run
puis entrer les valeurs 18 pour a et 6 pour b
puis observez ce qu'écrit le programme puis recommencez avec d'autres valeurs