3 réponses
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
24 janv. 2021 à 22:53
24 janv. 2021 à 22:53
Bonjour,
SI tu veux que des personnes puissent t'aider à comprendre le code que tu as récupéré ... il faut que tu le montre...
NB: Pour poster du code sur le forum, tu devras utiliser les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
SI tu veux que des personnes puissent t'aider à comprendre le code que tu as récupéré ... il faut que tu le montre...
NB: Pour poster du code sur le forum, tu devras utiliser les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
voici la fonction dont je parle
function inverse(ch:string; i:integer):string;
begin
if(i<=length(ch))then
inverse:=inverse(ch,i+1)+ch[i];
end;
1- j'ai pas pu comprendre le résonnement
2- est ce que je ne peut pas faire un algo avec une boucle, soit pour soit tantque ?
function inverse(ch:string; i:integer):string;
begin
if(i<=length(ch))then
inverse:=inverse(ch,i+1)+ch[i];
end;
1- j'ai pas pu comprendre le résonnement
2- est ce que je ne peut pas faire un algo avec une boucle, soit pour soit tantque ?
Utilisateur anonyme
25 janv. 2021 à 11:37
25 janv. 2021 à 11:37
Bonjour,
Pour un code plus important (là ça va encore : il n'y a que 5 lignes), penser à bien lire et appliquer les consignes données par Jordane45 : utiliser les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour comprendre ce que fait le programme, il faut avoir en tête que un palindrome est un mot ou une phrase qui peut se lire aussi bien de la droite vers la gauche que, de façon habituelle, de la gauche vers la droite : ex. le mot Anna ; larousse.fr cite le mot <ital>ressasser ou la phrase Ésope reste ici et se repose.</ital>
Le programme écrit donc le mot à l'envers en utilisant une propriété appelée la récursivité c'est à dire la possibilité pour une fonction de s'appeler elle-même.
Considérant qu'une chaine textuelle est considérée par Pascal (et d'autres langages) comme un tableau de caractères dont l'indice 1 contient le premier caractère, la fonction inverse réalise l'écriture du mot de la droite vers la gauche.
On pourrait donc en effet utiliser une boucle (for ou autre) pour partir du caractère le plus à droite (length de la chaine) et en remontant jusqu'à 1 l'écrire à l'envers.
Si c'est une palindrome alors chaine = chaine_inverse.
Cordialement
Pour un code plus important (là ça va encore : il n'y a que 5 lignes), penser à bien lire et appliquer les consignes données par Jordane45 : utiliser les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour comprendre ce que fait le programme, il faut avoir en tête que un palindrome est un mot ou une phrase qui peut se lire aussi bien de la droite vers la gauche que, de façon habituelle, de la gauche vers la droite : ex. le mot Anna ; larousse.fr cite le mot <ital>ressasser ou la phrase Ésope reste ici et se repose.</ital>
Le programme écrit donc le mot à l'envers en utilisant une propriété appelée la récursivité c'est à dire la possibilité pour une fonction de s'appeler elle-même.
Considérant qu'une chaine textuelle est considérée par Pascal (et d'autres langages) comme un tableau de caractères dont l'indice 1 contient le premier caractère, la fonction inverse réalise l'écriture du mot de la droite vers la gauche.
On pourrait donc en effet utiliser une boucle (for ou autre) pour partir du caractère le plus à droite (length de la chaine) et en remontant jusqu'à 1 l'écrire à l'envers.
Si c'est une palindrome alors chaine = chaine_inverse.
Cordialement