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

SimulationAlgorithme : (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

SimulationTraduction 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