Ecrire un programme Python permettant de vérifier si la différence entre deux éléments consécutifs d’un tableau T de n entiers (avec 1<= n <= 30) formés par deux chiffres est constante ou non. Dans le cas d’une différence constante le programme doit afficher un message. Dans le cas d’une différence non constante le programme affichera un message d’erreur. Exemple :
Cas d’une différence non constante
12 | 15 | 20 | 24 | 28 | 32 | 34 | 45 | 21 | 56 |
Cas d’une différence constante égale à 4
16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 |
Pour vérifier si la différence entre deux éléments consécutifs d'un tableau T de n entiers est constante, nous pouvons suivre les étapes suivantes :
1- Déclaration du tableau: Un tableau de taille est déclaré.
2- Saisie n taille du tableau :
Le programme demande à l'utilisateur de demander un entier ( 1<=n <= 30 ) Si <= 0 ou n >30 , l'algorithme affiche un message qui demande une autre fois d'entrer l'entier 1<=n <= 30 . 3- Remplissage du tableau:
L'algorithme parcourt chaque indice du tableau de 0 à n−1 .
Pour chaque indice, il demande à l'utilisateur d'entrer un entier et le stocke dans le tableau.
4- Affichage du tableau: Une fois le tableau rempli, l'algorithme affiche le contenu du tableau.
5- Calcul de la première différence : Calculez la différence entre les deux premiers éléments du tableau.
6- Vérification des différences : Pour chaque paire d'éléments consécutifs dans le tableau, calculez la différence et comparez-la avec la première différence calculée.
5- Affichage du résultat :
Si toutes les différences sont égales à la première différence, affichez un message indiquant que la différence est constante.
Si une différence diffère de la première différence, affichez un message indiquant que la différence est non constante.
Dans cet algorithme, On va utiliser deux fonctions et deux procédures :
Algorithme du programme principal
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Algorithme remplir_tableau Debut n<-saisie() Ecrire('remplissage du tableau t') remplir(t,n) Ecrire('tableau t') afficher(t,n) Si test_difference(t,n) alors Ecrire('différence constante dans le tableau') Sinon Ecrir('différence non constante dans le tableau') Finsi Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
t | tableau de 30 entiers |
La fonction saisie_numerique
Cette fonction retourne un entier n entre 1 et 30 saisi par l'utilisateur.
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie_numerique() Début Ecrire('donner un entier entre 1 et 30') lire (n) Tant que n<1 ou n>30 faire Ecrire('donner un entier entre 1 et 30') lire (n) Fin tant que retourner n Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La procédure remplir
Cette procédure remplit le tableau t de n entiers.
1 2 3 4 5 6 7 |
Procédure remplir(@t:Tab,n:entier) Début Pour i de 0 à n-1 faire Ecrire('donner elt N°',i,':') lire(t[i]) Fin pour Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
La procédure afficher_tableau
Cette procédure affiche_tableau les éléments du tableau.
1 2 3 4 5 6 7 |
Procédure afficher_tableau(t:Tab,n:entier) Début Pour i de 0 à n-1 faire Ecrire('t[',i,']=') Ecrire(t[i]) Fin pour Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
La fonction test_difference
Cette fonction détermine la différence pour chaque paire d'éléments consécutifs dans le tableau et retourne le résultat de la différence.
1 2 3 4 5 6 7 8 9 |
foncttion test_difference(t,n) Début d<-t[2]-t[1] i<-2 Tant que (i<n-2) et (t[i+1]-t[i]==d) faire i<-i+1 Fin tant que retourner (t[i+1]-t[i]==d) Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
d | 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 |
from numpy import array t=array([int()]*30) def saisie_taille() : n=int(input("donner un entier entre 1 et 30 ")) while(1>n) and(n>30) : n=int(input("donner un entier entre 1 et 30 ")) return n def remplir(t,n): for i in range (n) : t[i]=int(input("donner elt N°"+str(i)+":")) def afficher_tableau(t,n): for i in range (n) : print('t['+str(i)+']= '+ str(t[i])) def test_difference(t,n): d=t[2]-t[1] i=2 while (i<n-2) and (t[i+1]-t[i]==d) : i=i+1 return t[i+1]-t[i]==d n=saisie_taille() print('remplissage du tableau t') remplir(t,n) print('tableau t') afficher_tableau(t,n) if test_difference(t,n): print('différence constante dans le tableau') else: print('différence non constante dans le tableau') |
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
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info