Correction d'un algo
theniet
-
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Bonjour, est ce que cet algo-palindrome est juste?
algo mot_palindrome
variables n,x,y : entier
mot : chaine
debut
ecrire("entrer un mot : ")
lire(mot)
n:=len(mot) //longueur de mot
x:=0
y:=1
pour i=1 à n/2
si milieu(mot,i,1)=milieu(mot,n-i+1,1) alors
x:=1
sinon
y:=0
finsi
finpour
si y:=0 alors
ecrire("Bravo! ce mot est un palindrome")
sinon
ecrire("Désolé, ce mot n'est pas un palindrome")
finsi
fin
algo mot_palindrome
variables n,x,y : entier
mot : chaine
debut
ecrire("entrer un mot : ")
lire(mot)
n:=len(mot) //longueur de mot
x:=0
y:=1
pour i=1 à n/2
si milieu(mot,i,1)=milieu(mot,n-i+1,1) alors
x:=1
sinon
y:=0
finsi
finpour
si y:=0 alors
ecrire("Bravo! ce mot est un palindrome")
sinon
ecrire("Désolé, ce mot n'est pas un palindrome")
finsi
fin
A voir également:
- Correction d'un algo
- Activer correction automatique android - Guide
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Le correcteur automatique de votre smartphone vous rend fou ? Voici comment le désactiver - Accueil - Mobile
- Mode correction word - Guide
- Correction yeux rouges windows 10 - Télécharger - Retouche d'image
2 réponses
Hello,
Il m'a l'air correct.
Juste tu ne te sers pas de ton "x" ?
Tu peux aussi mettre la vérification de ton palindrome dans ta boucle for pour arrêter dès que le mot détecte qu'il ne l'ai pas, et éviter des boucles inutiles
(A quoi correspond exactement la fonction milieu ? surtout le 3eme argument ? )
Il m'a l'air correct.
Juste tu ne te sers pas de ton "x" ?
Tu peux aussi mettre la vérification de ton palindrome dans ta boucle for pour arrêter dès que le mot détecte qu'il ne l'ai pas, et éviter des boucles inutiles
(A quoi correspond exactement la fonction milieu ? surtout le 3eme argument ? )
En effet x ne sert à rien. Et la fin est fausse, c'est un palindrome si y vaut 1. Pour faire un test d'égalité (en algorithme), il faut utiliser le '=' pas le ':=' (et en C++ ça serait '==')
Pour définir un algorithme on a moins de contrainte qu'une fois dans un langage donné, autant ne pas se contraindre à des variables mal typées ou mal nommées. Par exemple 'y' devrait s'appeler 'estPalindrome' et devrait être un booléen qui vaut 'vrai' ou 'faux'.
Et en C++, l'équivalent de
Pour définir un algorithme on a moins de contrainte qu'une fois dans un langage donné, autant ne pas se contraindre à des variables mal typées ou mal nommées. Par exemple 'y' devrait s'appeler 'estPalindrome' et devrait être un booléen qui vaut 'vrai' ou 'faux'.
Et en C++, l'équivalent de
milieu(mot,i,1)serait
mot[i-1].