Ecrire un programme Phyton intitulé Voyelles permettant de déterminer et d’afficher la position de la deuxième voyelle dans un tableau T, de N caractères alphabétiques, donné. S’il y a moins que deux voyelle dans T, le programme affichera -1.
Pour remplir un tableau de entiers, nous pouvons utiliser un algorithme simple. Nous allons demander à l'utilisateur de saisir chaque caractère un par un, puis les stocker dans le tableau.
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 caractère alphabétique.
4- Affichage du tableau: Une fois le tableau rempli, l'algorithme affiche le contenu du tableau.
Pour déterminer et afficher la position de la deuxième voyelle dans un tableau TT de NN caractères alphabétiques, on peut suivre l'algorithme suivant. Si le tableau contient moins de deux voyelles, le programme affichera −1-1.
Voici la liste les voyelles (voyelles = ['a', 'e', 'i', 'o', 'u','y', 'A', 'E', 'I', 'O', 'U', 'Y']
).
5- Initialiser un compteur de voyelles trouvées à zéro (compteur = 0
).
6- Parcourir chaque élément du tableau T en utilisant une boucle :
- Vérification de la voyelle : Pour chaque élément, vérifier s'il est une voyelle en le comparant avec la liste des voyelles.
- Incrémentation et vérification du compteur :
Si l'élément est une voyelle, incrémenter le compteur de voyelles trouvées.
Si le compteur atteint deux, afficher la position actuelle et arrêter le programme.
7- Fin de parcours : Si la boucle se termine sans trouver deux voyelles, afficher .
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 |
Algorithme Voyelles Debut n<-saisie() Ecrire('remplissage du tableau t') remplir(t,n) Ecrire('tableau t') afficher_tableau(t,n) Si recherche_2voyelle(t,n) alors Ecrire(la position de la 2eme voyelle= ', recherche_2voyelle(t,n)) sinon Ecrire(-1) Fin |
Déclaration des objets
Name | Age |
n | entier |
t | tableau de 30 caractères |
La fonction saisie
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() 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 |
La procédure remplir
Cette procédure remplit le tableau t de n caractères.
1 2 3 4 5 6 7 8 9 10 11 |
Procédure remplir(@t:Tab,n:entier) Début Pour i de 0 à n-1 faire Ecrire("donner un caractere alphabetique elt N°",i),":") lire(t[i]) Tant que non('A'<=Majus(t[i])<='Z') Ecrire("donner un caractere alphabetique elt N°",i),":") lire(t[i]) Fin tant que Fin pour Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
La procédure afficher_tableau
Cette procédure affiche 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 recherche_2voyelle
Cette fonction recherche et retourne la deuxième position de la voyelle s'il existe ou -1 dans le cas contraire .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
foncttion recherche_2voyelle(t,n) Début i<-1 cp<-0 Tant que (i<n-1) et (cp<2) faire i<-i+1 si Majus(t[i]) dans {'A','E','I','O','U','Y'} : cp<-cp+1 Fin Tant que Si (cp = 2) : retourner i Sinon: retourner -1 Finsi Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
cp | 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 |
from numpy import array t=array([str()]*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]=input("donner un caractere alphabetique elt N°"+str(i)+":") while not('A'<=t[i].upper()<='Z') : t[i]=input("donner un caractere alphabetique elt N°"+str(i)+":") def afficher_tableau(t,n): for i in range (n) : print('t['+str(i)+']= '+ str(t[i])) def recherche_2voyelle(t,n): i=-1 cp=0 while (i<n-1) and (cp<2): i=i+1 if t[i].upper() in {'A','E','I','O','U','Y'} : cp=cp+1 if (cp == 2) : return i else: return -1 n=saisie_taille() print('remplissage du tableau t par des chaines de caracteres') remplir(t,n) print('tableau t') afficher_tableau(t,n) print('la position de la 2eme voyelle= ' + str(recherche_2voyelle(t,n))) |
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