Exo algo chaine de caractere fonctLONGUEUR
bansan
Messages postés
125
Statut
Membre
-
TuRKI med -
TuRKI med -
Bonjour,
J'ai un cours d'algo sur les fonctions et chaines de caracteres tres mal foutu (pas un exemple concret, je sais meme pas comment il faut "appeler" la fonction quand j'ecris mon algo
J'aimerais savoir si l'exercice que jai fait suite a cet enoncé si dessous est bon...
Merci de me repondre...
Merci bcp
Exercice 3 – Comparaison des Longueurs
Ecrire un algorithme dont le role est de permettre a l'utilisateur de saisir deux chaines de caractéres puis d'afficher la chaine la plus longue. Si les deux chaines sont de longueurs identiques, les deux chaines sont affichees.
Voila ce que j'ai fait...
Début
Afficher("Ecrire un mot")
Saisir(mot_1)
Afficher("Ecrire un autre mot"
Saisir (mot_2)
i<--LONGUEUR(mot_1)
j<--LONGUEUR(mot_2)
Si i<j Alors
Afficher(mot_1)
Sinon Si i>j Alors
Afficher(mot_2)
Sinon Si i=j Alors
Afficher(mot_1, mot_2)
Finsi
Fin
J'ai un cours d'algo sur les fonctions et chaines de caracteres tres mal foutu (pas un exemple concret, je sais meme pas comment il faut "appeler" la fonction quand j'ecris mon algo
J'aimerais savoir si l'exercice que jai fait suite a cet enoncé si dessous est bon...
Merci de me repondre...
Merci bcp
Exercice 3 – Comparaison des Longueurs
Ecrire un algorithme dont le role est de permettre a l'utilisateur de saisir deux chaines de caractéres puis d'afficher la chaine la plus longue. Si les deux chaines sont de longueurs identiques, les deux chaines sont affichees.
Voila ce que j'ai fait...
Début
Afficher("Ecrire un mot")
Saisir(mot_1)
Afficher("Ecrire un autre mot"
Saisir (mot_2)
i<--LONGUEUR(mot_1)
j<--LONGUEUR(mot_2)
Si i<j Alors
Afficher(mot_1)
Sinon Si i>j Alors
Afficher(mot_2)
Sinon Si i=j Alors
Afficher(mot_1, mot_2)
Finsi
Fin
Configuration: Windows XP Firefox 2.0.0.12
7 réponses
-
bonjour,
oui ton algo est bon
mais tu ne dois pas faire la fonction LONGUEUR ?-
-
Bonjour
Et Merci pour vos reponses...
Je pensais justement l'avoir fait avec la Fonction LONGUEUR...
Je ne sais pas comment on appelle la fonction LONGUEUR...
Mon cours est vraiment a ch...
Cependant...comment mon algo peut etre bon...si je n'ai pas mis la fonction longueur..:d:d:d:d:???- Le but d'un algorithme est d'écrire un ensemble de traitements que l'on va appliquer à des données.
C'est pourquoi la formulation importe peu : langage naturel, langage structuré (type TANT QUE... FIN TANT QUE, SI..IS...) ou autre...
Mais lorsque l'on écrit un algorithme, il faut se demander jusqu'où on va décrire les 'primitives' d'action ainsi que les fonctions.
Dans ce cas-là, on peut se poser la question pour la fonction 'LONGUEUR', mais on pourrait aussi se poser la question pour la fonction 'Saisir' et la fonction 'Afficher'.
Il est quand même fréquent que l'on fasse du 'pseudo-langage' car on sait que la plupart des fonctions sont implémentées dans la grande majorité des langages de dernière génération (opérations sur les chaines, sur les nombres, fonctions statistiques, gestion des fichiers et des E/S...).
Sinon, la fonction LONGUEUR peut se voir remplacée par 'Calculer la longueur de x', comme ça, on la transforme en 'primitive' de langage.
-
Voila..
J'ai rectifié quelques trucs mais bon..je ne sais pas si c bon pour autant...
Début
Afficher("Ecrire un mot")
Saisir(mot_1)
Afficher("Ecrire un autre mot" )
Saisir (mot_2)
i<--LONGUEUR(mot_1)
j<--LONGUEUR(mot_2)
Si i<j Alors
Afficher(mot_2)
Sinon Si i>j Alors
Afficher(mot_1)
Sinon Si i=j Alors
Afficher(mot_1, mot_2)
Finsi
Fin
-
-
Salut,
moi j'afficherais mot_2 si i<j, pas l'inverse...
même problème ensuite.
-
pardon oui effectivement il faut inversé
puisque il faut le plus long
j'avais pas vu -
Salut,
Si on oublie la parenthèse manquante /* Afficher("Ecrire un autre mot" */ , et l'indentation inexistante, c'est pas mal.
Comme ils le disent, inverse " i < j" et " i > j " ^^
Moi je n'ai pas appris avec ces mots-clés, mais c'est compréhensible^^
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
si tu l'appelle ta fonction
en faisant LONGUEUR(mot_1)
mais je parlé de la créer
si tu l'a pas vu c'est que tu dois pas le faire a mon avis-
pour une question d'esthetisme tu peut egalement remplacer les condition si par une condition "cas"
cas j>i alors
casj<i alors
sinon- Salut,
D'aprés mon cours on utilise "cas" avec "selon"
Or, ici
Je ne vois pas comment faire plus esthetique
Si je commence par selon ca ferait
selon expression
Cas expression 1: Bloc instruction 1
Cas expression 2: Bloc instruction 2
....
Je ne vis pas trop quoi mettre aprés "selon" dans l'exo present...
-
-
Oh, je viens de voir un truc !
Tu n'as déclaré AUCUNE de tes variables !!
Comment ne l'ai-je pas vu plus tôt ??!
Va vite corriger ça ! ;)-
Voila,
3) Comparaison de longueurs
Variables :
mot_1,mot_2 : chaine de caractere
i,j : entier
Début
Afficher("Ecrire un mot")
Saisir(mot_1)
Afficher("Ecrire un autre mot" )
Saisir (mot_2)
i<--LONGUEUR(mot_1)
j<--LONGUEUR(mot_2)
Si i<j Alors
Afficher(mot_2)
Sinon Si i>j Alors
Afficher(mot_1)
Sinon Si i=j Alors
Afficher(mot_1, mot_2)
Finsi
Fin- Cela semble t'il correct??
question subsidiaire qui n'a rin a voir: dois je ouvrir une autre question pour exposer un autre exo ou je peux rester là???
3) Comparaison de longueurs
Variables :
mot_1, mot_2 : chaine de caractère
i,j : entier
Début
Afficher ("Ecrire un mot")
Saisir (mot_1)
Afficher("Ecrire un autre mot" )
Saisir (mot_2)
i<--LONGUEUR(mot_1)
j<--LONGUEUR(mot_2)
Si i<j Alors
Afficher(mot_2)
Sinon Si i>j Alors
Afficher(mot_1)
Sinon Si i=j Alors
Afficher(mot_1, mot_2)
Finsi
Fin
-
-
salut,
Tu peux utiliser la forme `' selon sélecteur faire `'
Tu gardes la fonction longueur et par la suite tu fais la soustraction de deux longueurs
On a trois proposition selon un teste logique sur le résultat : négatif, nulle, positif et tu affiche le résultat