Chaîne de caractère

Fermé
Anna - 9 nov. 2016 à 17:19
 Anna - 12 nov. 2016 à 19:40
Bonjour,

Mon prof nous a corrigé l'exercice suivant :

Ecrire un algorithme qui permet de compter le nombre de mots dans une phrase.
La phrase commence obligatoirement par une lettre et les mots sont séparés par des espaces.

Correction:

Algorithme Comptage_Mots
Variables
i, L, nb_mot : Entier
phrase : Chaîne
Début
Ecrire(”Entrer une phrase non vide : ”)
Lire(phrase)
L<--Long(phrase)
nb_mot <-- 1
Pour i de 1 à L Faire
Si(phrase[i] = ” ”) Alors
nb_mot <-- nb_mot + 1
FinSi
FinPour
Ecrire(”Nombre de mots = ”,nb_mot)
Fin.

Mais je vois que dans la correction, il n'a pas testé si le premier caractère est une lettre ou non , il se peut que le premier caractère soit un chiffre ou autre chose ?
Qui peut m'expliquer ça SVP !

2 réponses

Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 888
9 nov. 2016 à 17:39
Bonsoir

tel qu'est formulé le sujet
La phrase commence obligatoirement par une lettre et les mots sont séparés par des espaces.
est un fait pas un truc à vérifier.
0
Merci bien.
0
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 1 043
9 nov. 2016 à 18:25
Par contre, il n'est rien précisé au sujet du dernier caractère de la chaîne.

Du coup, je pense que l'algorithme donne un résultat faux si la chaîne saisie se termine par un espace... il comptera à mon sens un mot en trop

:-P
0
Anna > [Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023
9 nov. 2016 à 18:28
Il ne faut pas oublier que le parcours ne dépasse pas la longueur de phrase.
0
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 1 043
9 nov. 2016 à 19:23
Je ne vois pas le rapport avec ma remarque.

Un espace est un caractère et peut se trouver à la fin de la chaîne, si l'utilisateur l'y met.
0
Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 888
9 nov. 2016 à 20:50
Bonsoir Dal, très juste.
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 947
9 nov. 2016 à 22:12
Il faudrait de plus maintenir un drapeau indiquant les espaces consécutifs.
0
T'as raison merci
0