L'algorithme suivant est celui d'un programme permettant de déterminer et d'afficher si les éléments d'un tableau T de n entiers constituent ou non une suite arithmétique.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Algorithme Suite Début n <-- saisie() Pour i de 0 à n-1 faire Ecrire("T[",i,"]: ") Lire(T[i] Fin pour Si verif(t,n) alors Ecrire("Les elts du tableau forment une suite arithmétique") Sinon Ecrire("Les elts du tableau ne forment pas une suite arithmétique") Fin si Fin |
Question :
1- Traduire cet algorithme en Python
2- Ecrire la fonction saisie qui permet de saisir un entier entre 2 et 15
2- Transformer la séquence (2) en une procédure remplir
3- Ecrire la fonction Verif, de type booléen, permettant de vérifier si les éléments du tableau T forment ou non une suite arithmétique.
N.B : Une suite U est dite arithmétique si et seulement si il existe un réel tel que pour tout entier n on a Un=Un-1+r


Cet algorithme permet de déterminer le nombre d'éléments à saisir, de remplir les premières cases du tableau T, puis de vérifier si les éléments du tableau forment une suite arithmétique. Enfin, il affiche un message indiquant si le tableau constitue ou non une suite arithmétique.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Algorithme Suite Debut # Appeler la fonction saisie pour déterminer le nombre d'éléments n. n <-- saisie # Appeler la procédure remplir pour remplir les n premières cases. remplir(t,n) # Appeler la fonction verif pour vérifier si les éléments # du tableau forment une suite arithmétique. Si verif(t,n) alors Ecrire("Les elts du tableau forment une suite arithmétique") Sinon Ecrire("Les elts du tableau ne forment pas une suite arithmétique") Finsi Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| t | tableau des chaînes des caractères |
| n | entier |
Cette fonction permet de saisir et de contrôler la taille du tableau.
Elle demande à l’utilisateur une valeur n et vérifie que celle-ci respecte la condition 2 <= n <= 15. Tant qu’une valeur incorrecte est saisie, la fonction redemande une nouvelle valeur. Lorsque la taille est valide, la fonction retourne n au programme principal.
|
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 |
Fonction saisie():entier Début # La variable test permet de contrôler # la validité de la taille saisie. # 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 taille # n'est pas correcte. Tant que test = Faux faire # Demander à l'utilisateur de saisir # la taille du tableau. Ecrire("donner 2<n<20 : ") Lire(n) # Vérifier que n dans [2..15] Si 2 <= n <= 15 alors # La taille 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 taille correcte du tableau # vers le programme principal. Retourner n Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| n | entier |
| test | booléen |
Cette procédure permet de remplir les n premières cases du tableau T en demandant à l'utilisateur de saisir un entier pour chaque case, puis en enregistrant chaque valeur saisie dans la case correspondante.
|
1 2 3 4 5 6 7 8 9 10 |
Procédure remplir(var t:tab;n:entier) Début # Parcourir les n premières cases du tableau. Pour i de 0 à n-1 faire # Afficher un message demandant la saisie de l'élément T[i]. Ecrire('T[',i']') # Lire la valeur saisie et la stocker dans la case T[i]. Lire(t[i] Fin pour Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| i | entier |
Cette fonction verif permet de vérifier si les éléments du tableau t forment une suite arithmétique, c’est-à-dire si la différence entre deux éléments consécutifs est constante et égale à la raison r.
Elle retourne Vrai si le tableau vérifie cette propriété, sinon elle retourne Faux.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Fonction verif(t:tab;n:entier) Début # Calculer la raison r en faisant la différence # entre les deux premiers éléments du tableau. r <-- t[1] - t[0] # Initialiser l'indice i à 2 pour commencer # la vérification à partir du troisième élément. i <-- 2 # Vérifier si la différence entre deux éléments # consécutifs est égale à la raison r. # La vérification continue tant que i est inférieur à n-1 # et que la différence calculée est égale à r. Tant que (i < n-1) et (t[i] - t[i-1] = r) faire # Incrémenter i pour passer à l'élément suivant. i <-- i + 1 Fin tant que # Comparer la dernière différence avec la raison r. # Retourner True si les deux valeurs sont égales, # sinon retourner False. Retourner (t[i] - t[i-1] = r) Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| i | entier |
| r | entier |
|
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 |
# ========================================================== # Importation de la bibliothèque NumPy # ========================================================== # Importer la fonction array qui permet de créer des tableaux. from numpy import array # ========================================================== # Déclaration du tableau des entiers # ========================================================== # Déclarer un tableau t contenant 30 éléments entiers. t = array([int()] * 30) # ========================================================== # Fonction de saisie du nombre d'éléments # ========================================================== def saisie(): # Initialiser le booléen test à False. test = False # Répéter la saisie tant que n n'appartient pas à [2, 15]. while test == False: # Demander à l'utilisateur de saisir le nombre d'éléments. n = int(input("Donner n entre 2 et 15 : ")) # Vérifier si n appartient à l'intervalle [2, 15]. if 2 <= n <= 15: # La valeur saisie est valide. test = True # Retourner la valeur de n. return n # ========================================================== # Procédure de remplissage du tableau # ========================================================== def remplir(t, n): # Parcourir les n premières cases du tableau. for i in range(n): # Saisir un entier et le placer dans la case t[i]. t[i] = int(input('T['+str(i)+']:')) # ========================================================== # Fonction de vérification d'une suite arithmétique # ========================================================== def verif(t, n): # Calculer la raison r en faisant la différence # entre les deux premiers éléments du tableau. r = t[1] - t[0] # Initialiser l'indice i à 2 pour commencer # la vérification à partir du troisième élément. i = 2 # Vérifier si la différence entre deux éléments # consécutifs est égale à la raison r. # La vérification continue tant que i est inférieur à n-1 # et que la différence calculée est égale à r. while (i < n-1) and (t[i] - t[i-1] == r): # Incrémenter i pour passer à l'élément suivant. i = i + 1 # Comparer la dernière différence avec la raison r. # Retourner True si les deux valeurs sont égales, # sinon retourner False. return (t[i] - t[i-1] == r) # ========================================================== # Programme principal # ========================================================== # Appeler la fonction saisie pour déterminer le nombre d'éléments n. n = saisie() # Appeler la procédure remplir pour remplir les n premières cases. remplir(t, n) # Appeler la fonction verif pour vérifier si les éléments # du tableau forment une suite arithmétique. if verif(t, n): # Afficher un message si le tableau forme une suite arithmétique. print("Les éléments du tableau forment une suite arithmétique") else: # Afficher un message si le tableau ne forme pas une suite arithmétique. print("Les éléments du tableau ne forment pas une suite arithmétique") |
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