Advertisement
ecto

LOL

Nov 19th, 2014
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. ////////////////////////////////////////////////////
  2. //Saisir un nom et calcul le nombre de caractères
  3. // - nom : chaine (Chaine utilisé et retourné au programme)
  4. // - longueurnon : entier (Nombre de caratère de nom calculé lors de la saisie)
  5. ////////////////////////////////////////////////////
  6. Procedure saisieNom(;nom : chaine, longueurnom : entier)
  7. Debut
  8. Afficher "Saisir un nom : "
  9. Saisir nom
  10. longueurnom <- longueur(nom)
  11. Fin saisieNom
  12.  
  13. ////////////////////////////////////////////////////
  14. //Fonction qui détermine si une chaine de caractère est un palyndrome
  15. // - nom : chaine (Chaine utilisé dans la fonction)
  16. // - longueurnon : entier (Nombre de caratère de nom calculé lors de la saisie)
  17. ////////////////////////////////////////////////////
  18. Fonction estPalyndrome(longueurnom : entier, nom : chaine) Retourne Bool
  19. Debut
  20. Avec :
  21. i : entier
  22. palyndrome : bool
  23. debut : chaine
  24. fin : chaine
  25.  
  26. longueurnom <- longueurnom - 1
  27. palyndrome <- vrai
  28. Pour i allant de 1 à (longueurnom / 2) par pas de 1 faire
  29. debut <- nom[i]
  30. fin <- nom[longueurnom - i]
  31. Si (debut != fin) alors
  32. palyndrome <- faux
  33. Fin Si
  34. Fin Faire
  35. Retourner palyndrome
  36. Fin palyndrome
  37.  
  38. ////////////////////////////////////////////////////
  39. //Procedure qui permet de mettre une chaine de caractère en majuscule :
  40. // - nom : chaine (Chaine utilisé dans la fonction puis renvoyé au programme)
  41. // - longueurnon : entier (Nombre de caratère de nom calculé lors de la saisie)
  42. ////////////////////////////////////////////////////
  43. Procedure maj(longueurnom : entier; nom : chaine)
  44. Debut
  45. Avec :
  46. i : entier
  47.  
  48. Pour i allant de 0 à longueurnom par pas de 1 faire
  49. Si (nom[i]>='a' Et nom[i]<='z') alors //Sélection des minuscules
  50. nom[i] <- nom[i]-'a'+'A' //Leur ajoute la valeur correspondante à la différence entre une minuscule et une majuscule
  51. Fin si
  52. Fin maj
  53.  
  54. ////////////////////////////////////////////////////
  55. //Procedure d'affichage du menu qui affiche le menu
  56. ////////////////////////////////////////////////////
  57. Procedure affichageMenu()
  58. Debut
  59. Afficher "Sélectionner votre option : "
  60. A la ligne
  61. Afficher " 1- Afficher le nombre de voyelle"
  62. A la ligne
  63. Afficher " 2- Vérifier si c'est un palyndrome"
  64. A la ligne
  65. Afficher " 3- Afficher la chaine de caractère en majuscule"
  66. A la ligne
  67. Afficher " 4- Quitter"
  68. Fin affichageMenu
  69.  
  70. ////////////////////////////////////////////////////
  71. //Fonction qui calcul le nombre de voyelles et retourne cette valeur en entier (prend en compte la casse) :
  72. // - nom : chaine (Chaine utilisé dans la fonction puis renvoyé au programme)
  73. // - longueurnon : entier (Nombre de caratère de nom calculé lors de la saisie)
  74. // - nbrVoyelle : entier (Nombre calcul de voyelle)
  75. ////////////////////////////////////////////////////
  76. Fonction nbrVoyelle(longueurnom : entier, nom: chaine) Retourne Entier
  77. Debut
  78. Avec :
  79. i : entier
  80. nbrVoyelle : entier
  81. maj(longueurnom; nom)
  82. nbrVoyelle <- 0
  83. Pour i allant de 0 à longueurnom par pas de 1 faire
  84. Si (nom[i]='A' Ou nom[i]='E' Ou nom[i]='I' Ou nom[i]='O' Ou nom[i]='U' Ou nom[i]='Y') alors
  85. nbrVoyelle <- nbrVoyelle + 1
  86. Fin si
  87. Fin faire
  88. Retourne nbrVoyelle
  89. Fin voyelle
  90.  
  91.  
  92.  
  93. Programme testSurLeNom
  94. Debut
  95. Avec :
  96. ////////////////////////////////////////////////////
  97. //Ce programme permet qu'après la saisie d'un nom, exécuter certaines opération :
  98. // - compter le nombre de voyelle d'un nom
  99. // - vérifier que c'est un palyndrome
  100. // - afficher le nom en majuscule
  101. ////////////////////////////////////////////////////
  102. nom : chaine
  103. choix : entier
  104. longueurnom : entier
  105. k : bool
  106.  
  107. Procedure saisieNom(;nom : chaine, longueurnom : entier)
  108. Fonction nbrVoyelle(nom: chaine) Retourne Entier
  109. Fonction estPalyndrome(longueurnom : entier, nom : chaine) Retourne Bool
  110. Procedure maj(longueurnom : entier; nom : chaine)
  111. Procedure affichageMenu()
  112.  
  113.  
  114. Repeter
  115. affichageMenu()
  116. saisir choix
  117. controler choix : choix>0 Et choix<5
  118. selon choix faire
  119. cas default :
  120. Afficher : "Erreur de sélection d'option"
  121. A la ligne
  122. cas 1 : //Calcul du nombre de voyelles et l'affiche
  123. saisieNom(;nom)
  124. Afficher "Il y a ", nbrVoyelle(nom), " de voyelles"
  125. cas 2 : //Vérifie si c'est un palyndrome
  126. saisieNom(;nom)
  127. Si (estPalyndrome(nom)) alors
  128. Afficher nom, " est un palyndrome"
  129. Sinon
  130. Afficher nom, " n'est pas un palyndrome"
  131. Fin si
  132. cas 3 : //Affiche le nom en majuscule
  133. saisieNom(;nom)
  134. maj(;nom)
  135. afficher nom
  136. cas 4 : //Quitte le programme
  137. afficher "Au revoir"
  138. A la ligne
  139. Tant que choix !=4 faire
  140.  
  141. Fin testSurLeNom
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement