Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////////////////////////////
- //Saisir un nom et calcul le nombre de caractères
- // - nom : chaine (Chaine utilisé et retourné au programme)
- // - longueurnon : entier (Nombre de caratère de nom calculé lors de la saisie)
- ////////////////////////////////////////////////////
- PROCEDURE saisieNom (;nom[] : CHAINE, nbrnom : ENTIER)
- AVEC
- i : ENTIER
- DEBUT
- AFFICHER "Saisir les noms (saisir -1 pour terminer) : "
- REPETER
- AFFICHER "nom n°",i+1," : "
- SAISIR nom[i]
- i <- i+1
- TANT QUE nom[i-1]!="-1" FAIRE
- FIN saisieNom
- ////////////////////////////////////////////////////
- //Fonction qui détermine si une chaine de caractère est un palyndrome
- // - nom : chaine (Chaine utilisé dans la fonction)
- ////////////////////////////////////////////////////
- FONCTION estPalyndrome(nom : CHAINE) RETOURNE BOOLEEN
- DEBUT
- AVEC :
- i : ENTIER
- palyndrome : BOOLEEN
- debut : CHAINE
- fin : CHAINE
- longueurnom <- longueur(nom)-1
- palyndrome <- VRAI
- POUR i ALLANT DE 1 A (longueurnom / 2) AU PAS DE 1 FAIRE
- debut <- nom[i]
- fin <- nom[longueurnom - i]
- SI (debut != fin) ALORS
- palyndrome <- FAUX
- FINSI
- FINFAIRE
- RETOURNER palyndrome
- FIN palyndrome
- ////////////////////////////////////////////////////
- //Procedure qui permet de mettre une chaine de caractère en majuscule :
- // - nom : chaine (Chaine utilisé dans la fonction puis renvoyé au programme)
- // - longueurnon : entier (Nombre de caratère de nom calculé lors de la saisie)
- ////////////////////////////////////////////////////
- PROCEDURE maj(; nom : CHAINE)
- DEBUT
- AVEC :
- i : ENTIER
- longueurnom : ENTIER
- longueurnom <- longueur(nom)
- POUR i ALLANT DE 0 A longueurnom AU PAS DE 1 FAIRE
- SI (nom[i] >= 'a' ET nom[i] <= 'z') ALORS //Sélection des minuscules
- nom[i] <- nom[i]-'a'+'A' //Leur ajoute la valeur correspondante à la différence entre une minuscule et une majuscule
- FINSI
- FINFAIRE
- FIN maj
- ////////////////////////////////////////////////////
- //Procedure d'affichage du menu qui affiche le menu
- ////////////////////////////////////////////////////
- PROCEDURE affichageMenu()
- DEBUT
- AFFICHER "Sélectionner votre option : "
- A LA LIGNE
- AFFICHER " 1- Afficher le nombre de voyelle"
- A LA LIGNE
- AFFICHER " 2- Vérifier si c'est un palyndrome"
- A LA LIGNE
- AFFICHER " 3- Afficher la chaine de caractère en majuscule"
- A LA LIGNE
- AFFICHER " 4- Quitter"
- FIN affichageMenu
- ////////////////////////////////////////////////////
- //Fonction qui calcul le nombre de voyelles et retourne cette valeur en entier (prend en compte la CASse) :
- // - nom : chaine (Chaine utilisé dans la fonction puis renvoyé au programme)
- // - nbrVoyelle : entier (Nombre calcul de voyelle)
- ////////////////////////////////////////////////////
- FONCTION nbrVoyelle(nom: CHAINE) RETOURNE ENTIER
- DEBUT
- AVEC :
- i : ENTIER
- nbrVoyelle : ENTIER
- longueurnom : ENTIER
- maj(;nom)
- nbrVoyelle <- 0
- longueurnom <- longueur(nom)
- POUR i ALLANT DE 0 A longueurnom PAR PAS DE 1 FAIRE
- SI (nom[nbrnom][i]='A' OU nom[nbrnom][i]='E' OU nom[nbrnom][i]='I' OU nom[nbrnom][i]='O' OU nom[nbrnom][i]='U' OU nom[nbrnom][i]='Y') ALORS
- nbrVoyelle <- nbrVoyelle + 1
- FINSI
- FINFAIRE
- RETOURNE nbrVoyelle
- FIN voyelle
- PROGRAMME testSurLeNom
- DEBUT
- AVEC :
- ////////////////////////////////////////////////////
- //Ce programme permet qu'après la saisie d'un nom, exécuter certaines opération :
- // - compter le nombre de voyelle d'un nom
- // - vérifier que c'est un palyndrome
- // - afficher le nom en majuscule
- ////////////////////////////////////////////////////
- nom[100] :
- choix : ENTIER
- nbrnom : ENTIER
- k : BOOLEEN
- PROCEDURE affichageMenu()
- PROCEDURE saisieNom (;nom[] : CHAINE, nbrnom : ENTIER)
- PROCEDURE maj(; nom : CHAINE)
- FONCTION nbrVoyelle(nom: CHAINE) RETOURNE ENTIER
- FONCTION estPalyndrome(nom : CHAINE) RETOURNE BOOLEEN
- REPETER
- affichageMenu()
- SAISIR choix
- SELON choix FAIRE
- CAS default :
- AFFICHER : "Erreur de sélection d'option"
- A LA LIGNE
- CAS 1 : //Calcul du nombre de voyelles et l'affiche
- saisieNom(;nom[],nbrnom)
- POUR i ALLANT DE 0 A nbrnom AU PAS DE
- FAIRE
- AFFICHER "Dans ",nom[i]," il y a "
- AFFICHER nbrVoyelle(i;nom[])," voyelle(s)"
- A LA LIGNE
- FINFAIRE
- CAS 2 : //Vérifie si c'est un palyndrome
- saisieNom(;nom[],nbrnom)
- POUR i ALLANT DE 0 A nbrnom AU PAS DE
- FAIRE
- SI (estPalyndrome(nom[i])) ALORS
- AFFICHER nom, " est un palyndrome"
- SINON
- AFFICHER nom, " n'est pas un palyndrome"
- FINSI
- FINFAIRE
- CAS 3 : //Affiche le nom en majuscule
- saisieNom(;nom[],nbrnom)
- POUR i ALLANT DE 0 A nbrnom AU PAS DE
- FAIRE
- maj(;nom[i])
- AFFICHER nom
- FINFAIRE
- CAS 4 : //Quitte le programme
- AFFICHER "Au revoir"
- A LA LIGNE
- TANT QUE choix !=4 FAIRE
- FIN testSurLeNom
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement