Soit l'algorithme suivant :
|
1 2 3 4 5 6 7 |
Algorithme Nombres Début Lire(n) Si verif(n) alors Ecrire(n," est valable") Fin si Fin |
L'algorithme ci-dessus permet de saisir un entier positif n formé de quatre chiffres et de l'afficher avec la mention " est valable", s'il vérifie la condition suivante : le chiffre des milliers, qui ne doit pas être nul, est suivi par ses multiples.
Exemple :
n=2888 8 est multiple de 2
n=3696 6 et 9 sont multiples de 3
n=1541 5,4 et 1 sont multiples de 1
Questions
1- Traduire l'algorithme Nombres en Python
2- Transformer la séquence 1) en une fonction saisie en ajoutant les contrôles nécessaires et en tenir compte dans le programme principal.
3- Ecrire la fonction Verif permettant de vérifier si le premier chiffre du nombre n est effectivement par ses multiples ou on.
L’algorithme principal Nombres permet de saisir un entier composé de 4 chiffres, puis de vérifier si cet entier respecte la condition définie par la fonction verif(n).
Il réalise les étapes suivantes :
1- Saisir un entier n de 4 chiffres à l’aide de la fonction saisie().
2- Vérifier la validité de n en appelant la fonction verif(n).
3- Si verif(n) retourne Vrai, afficher que n est valable.
4- Sinon, afficher que n est non valable.

|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Algorithme Nombres Debut # Appeler la fonction saisie() pour demander # à l'utilisateur un entier formé de 4 chiffres. # La valeur retournée est affectée à la variable n. n <-- saisie() # Appeler la fonction verif(n) pour vérifier # si les chiffres de n respectent la condition # définie dans la fonction. Si verif(n) alors # Afficher un message si n respecte la condition. Ecrire(n, ' est valable') Sinon # Afficher un message si n ne respecte pas # la condition. print(n, ' est non valable') Fin si Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| n | entier |
La fonction saisie() permet de demander à l’utilisateur un entier composé exactement de 4 chiffres et de contrôler la validité de la valeur saisie.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Fonction saisie():entier Début # La variable test permet de contrôler # la validité de la valeur saisie par l'utilisateur. # Au départ, test vaut False car aucune valeur correcte # n'a encore été saisie. test <-- Faux # Répéter la saisie tant que la valeur de n # n'est pas comprise entre 1000 et 9999. Tant que test == Faux faire # Demander à l'utilisateur de saisir # un entier formé de 4 chiffres. Ecrire("Donner un entier n formé de 4 chiffres : ") Lire(n) # Vérifier si l'entier saisi possède exactement # 4 chiffres. Si 1000 <= n <= 9999 alors # La valeur saisie est correcte. # On affecte True à test afin d'arrêter # la boucle de contrôle. test <-- Vrai Fin si Fin tant que # Retourner la valeur correcte de n # vers le programme principal. Retourner n Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| n | entier |
| test | booléen |
La fonction verif(n) permet de vérifier si les chiffres d’un entier n composé de 4 chiffres sont divisibles par son premier chiffre.
Elle réalise les étapes suivantes :
1- Convertir l’entier n en chaîne de caractères afin d’accéder séparément à ses chiffres.
2- Extraire le premier chiffre de n et le stocker dans m.
3- Commencer la vérification à partir du deuxième chiffre.
4- Vérifier successivement si les chiffres rencontrés sont divisibles par le premier chiffre m.
5- Arrêter la vérification dès qu’un chiffre n’est pas divisible par m ou lorsque les chiffres concernés ont été parcourus.
6- Retourner Vrai si la condition est satisfaite, sinon Faux.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Fonction verif(n:entier):booléen Début # Convertir l'entier n en chaîne de caractères. # Cette conversion permet d'accéder facilement # à chacun de ses chiffres grâce à leurs indices. ch <-- Convch(n) # Récupérer le premier chiffre de n. # ch[0] représente le premier chiffre. # Il est ensuite converti en entier. m <-- Valeur(ch[0]) # Initialiser l'indice i à 1 afin de commencer # la vérification à partir du deuxième chiffre. i <-- 1 # Vérifier successivement les chiffres suivants. # Pour chaque chiffre ch[i], on teste s'il est divisible # par le premier chiffre m. # # La condition i < 3 permet de vérifier les chiffres # d'indice 1 et 2 dans la boucle. Tant que (Valeur(ch[i]) MOD m = 0) et (i < 3) faire # Passer au chiffre suivant. i <-- i + 1 Fin tant que # Après la boucle, vérifier une dernière fois # si le chiffre courant est divisible par m. # # La fonction retourne True si la condition est vraie, # sinon elle retourne False. Retourner (Valeur(ch[i]) MOD m = 0) Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| i | entier |
| m | entier |
| ch | chaîne des caractères |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# ========================================================== # Fonction de saisie # ========================================================== def saisie(): # La variable test permet de contrôler # la validité de la valeur saisie par l'utilisateur. # Au départ, test vaut False car aucune valeur correcte # n'a encore été saisie. test = False # Répéter la saisie tant que la valeur de n # n'est pas comprise entre 1000 et 9999. while test == False: # Demander à l'utilisateur de saisir # un entier formé de 4 chiffres. n = int(input("Donner un entier n formé de 4 chiffres : ")) # Vérifier si l'entier saisi possède exactement # 4 chiffres. if 1000 <= n <= 9999: # La valeur saisie est correcte. # On affecte True à test afin d'arrêter # la boucle de contrôle. test = True # Retourner la valeur correcte de n # vers le programme principal. return n # ========================================================== # Fonction de vérification # ========================================================== def verif(n): # Convertir l'entier n en chaîne de caractères. # Cette conversion permet d'accéder facilement # à chacun de ses chiffres grâce à leurs indices. ch = str(n) # Récupérer le premier chiffre de n. # ch[0] représente le premier chiffre. # Il est ensuite converti en entier. m = int(ch[0]) # Initialiser l'indice i à 1 afin de commencer # la vérification à partir du deuxième chiffre. i = 1 # Vérifier successivement les chiffres suivants. # Pour chaque chiffre ch[i], on teste s'il est divisible # par le premier chiffre m. # # La condition i < 3 permet de vérifier les chiffres # d'indice 1 et 2 dans la boucle. while (int(ch[i]) % m == 0) and (i < 3): # Passer au chiffre suivant. i = i + 1 # Après la boucle, vérifier une dernière fois # si le chiffre courant est divisible par m. # # La fonction retourne True si la condition est vraie, # sinon elle retourne False. return (int(ch[i]) % m == 0) # ========================================================== # Programme principal # ========================================================== # Appeler la fonction saisie() pour demander # à l'utilisateur un entier formé de 4 chiffres. # La valeur retournée est affectée à la variable n. n = saisie() # Appeler la fonction verif(n) pour vérifier # si les chiffres de n respectent la condition # définie dans la fonction. if verif(n): # Afficher un message si n respecte la condition. print(n, ' est valable') else: # Afficher un message si n ne respecte pas # la condition. print(n, ' est non valable') |
Exécution du programme

Vous pouvez voir aussi :
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info