[Spoiler] Exercice Algo 3.1.3 Chercher Un Mot Dans Une Phrase
2 participants
Page 1 sur 1
[Spoiler] Exercice Algo 3.1.3 Chercher Un Mot Dans Une Phrase
L'algo de principe est pas terrible, mais le reste est juste.
- Code:
Algo De Principe
Répéter
Rechercher Un Mot dans la phrase
Comparer le mot trouvé au mot recherché
Passer au Suivant
Jusqu'a la fin de la phrase ou que la mot soit trouvé
1-
Entrée Sortie
phrase------->
MotàChercher->ChercherMot----->MotPresent
LongeurMot--->
2-
Définir Type Chaine
N=80
Chaine = Tableau[N] Caractères
3-
/ Phrase / LongeurMot / MotàChercher / MotPresent /
/ "OK." / 1 / K / Faux /
/ "Blabla Car." / 3 / Car / Vrai /
/ "." / 0 / "" / Vrai /
4-
Outils
procédure ChercherMot(entrée phrase:chaine, entrée MotàChercher : chaine, entrée LongeurMot : entier, sortie MotPresent : booleen)
// Cette procédure permet de chercher un mot dans une phrase
// Phrase est la phrase dans laquelle le mot est recherché
// LongeurMot est la longeur du mot recherché
// MotàChercher est le mot à rechercher
// MotPresent indique si le mot a trouvé dans la phrase
5-
Programme
Constantes
N=80 //Longeur max du tableau
STOP='.' // Caractère terminatoire
Type
chaine=tableau[N]caractères // Type des phrases traitées
chainemot=tableau[N]caractères // Type des phrases traitées
Variable
Phrase : chaine // Phrase dans laquelle chercher les succession de lettres
MotàChercher : chainemot // Mot recherché
LongeurMot : entier // Longeur du mot recherché
MotPresent : booleen // Indique si le mot a été trouvé dans la phrase
Outils
procédure ChercherMot(entrée phrase:chaine, entrée MotàChercher : chainemot, entrée LongeurMot : entier, sortie MotPresent : booleen)
// Cette procédure permet de chercher un mot dans une phrase
// Phrase est la phrase dans laquelle le mot est recherché
// LongeurMot est la longeur du mot recherché
// MotàChercher est le mot à rechercher
// MotPresent indique si le mot a été trouvé dans la phrase
Debut
ecrire("Donnez votre phrase : ")
lire(phrase)
ecrire("Mot recherché ?")
lire(MotàChercher)
ecrire("Longeur du mot ?")
lire(LongeurMot)
ChercherMot(Phrase,MotàChercher,LongeurMot,MotPresent)
Si MotPresent=VRAI
ecrire(MotàChercher," est présent dans la phrase")
Sinon
ecrire(MotàChercher," n'est pas présent dans la phrase")
Finsi
Fin
6-
procédure ChercherMot(entrée phrase:chaine, entrée MotàChercher : chainemot, entrée LongeurMot : entier, sortie MotPresent : booleen)
Outils
Procedure repererMot( entrée phrase : chaine, entrée sortie i : entier, sortie lg : entier)
// Repère un mot dans la phrase lg = 0 si il n'y a plus de mot
// phrase : texte où je cherche le mot
// i : - entrée : indice de départ de la recherche du mot - sortie : indice juste après le mot ou sur le STOP
// lg : longueur du mot trouvé ou 0 si il n'y a pas de mot.
Procedure comparerMot(entrée longeur : entier, entrée longeur2 : entier, entrée MotàChercher : chainemot, entrée phrase : chaine, entrée i : entier, sortie MotPresent : booleen)
//Comparer mot permet de comparer deux mots
// Phrase est la phrase dans laquelle le mot est recherché
// longeur est la longeur du mot recherché
// longeur est la longeur du mot à comparer
// MotàChercher est le mot à rechercher
// MotPresent indique si le mot a été trouvé dans la phrase
// i est l'emplacement du mot à comparer
//
Debut
i:=0
Répéter
repererMot(phrase,i,longeur2)
comparerMot(longeur,longeur2,MotàChercher,phrase,i,MotPresent)
Jusqu'a Longeur=0 et MotPresent=VRAI
// Arrêt si la phrase est terminé ou si le mot a été trouvé
Fin
Procedure comparerMot(entrée longeur : entier, entrée longeur2 : entier, entrée MotàChercher : chainemot, entrée phrase : chaine, entrée i : entier, sortie MotPresent : booleen)
//Comparer mot permet de comparer deux mots
// Phrase est la phrase dans laquelle le mot est recherché
// longeur est la longeur du mot recherché
// longeur est la longeur du mot à comparer
// MotàChercher est le mot à rechercher
// MotPresent indique si le mot a été trouvé dans la phrase
// i est l'emplacement du mot à comparer
Variables
k : entier //Indice de parcours des mots
Début
k:=0
Tantque k<longeur et MotàChercher[k]=Phrase[i-longeur2+k] // Arrêt de la comparaison lorsque le mot est terminer
k:=k+1
FinTantQue
Si k=longeur
MotPresent=VRAI
Sinon
MotPresent=FAUX
FinSi
Fin
Procedure repererMot( entrée phrase : chaine, entrée sortie i : entier, sortie lg : entier)
// Repère un mot dans la phrase lg = 0 si il n'y a plus de mot
// phrase : texte où je cherche le mot
// i : - entrée : indice de départ de la recherche du mot - sortie : indice juste après le mot ou sur le STOP
// lg : longueur du mot trouvé ou 0 si il n'y a pas de mot.
Variables
Début
Tantque phrase[i] = SEPARATEUR
// Avance jusqu'au premier caractère ou au STOP
i := i + 1
FinTantQue
lg := 0
Tantque phrase[i] <> SEPARATEUR et phrase[i] <> de STOP faire
// S'arrête si on rencontre séparateur ou si on rencontre STOP
i := i + 1
lg := lg +1
FinTantQue
// i s'arrête après le dernier caractère du mot trouvé
Fin
Euh.....
Question, si je demande a chercher le mot "chat" avec une phrase du genre: "je suis un lapin"
ton algo va me dire que c'est bon, vu, que ne compare que la longueur? (suis = chat; 4 lettres)
non?
ton algo va me dire que c'est bon, vu, que ne compare que la longueur? (suis = chat; 4 lettres)
non?
Re: [Spoiler] Exercice Algo 3.1.3 Chercher Un Mot Dans Une Phrase
- Code:
Tantque k<longeur et MotàChercher[k]=Phrase[i-longeur2+k] // Arrêt de la comparaison lorsque le mot est terminer
k:=k+1
FinTantQue
Si k=longeur
MotPresent=VRAI
Sinon
MotPresent=FAUX
FinSi
Dans cette partie, tant que k<longueur je compare les lettres une à une, si j'arrive à la fin du mot, c'est qu'ils sont pareils, donc je renvoie MotPresent=VRAI.
Sujets similaires
» (Spoiler) Proposotion d'algo pour le tri bulle...
» [Spoiler] Exercice 7 à 10
» [Spoiler] Exercice 29
» [Spoiler] Recopie phrase inversée
» [Spoiler] Justifier une phrase JAVA
» [Spoiler] Exercice 7 à 10
» [Spoiler] Exercice 29
» [Spoiler] Recopie phrase inversée
» [Spoiler] Justifier une phrase JAVA
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|