Exo algo chaine de caractere fonctLONGUEUR

bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

7 réponses

ced18 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   125
 
bonjour,

oui ton algo est bon
mais tu ne dois pas faire la fonction LONGUEUR ?
0
Utilisateur anonyme
 
C'est aussi la question que je me posais...
Je vais regarder dans mes cours, mais il me semble que non
0
Utilisateur anonyme > Utilisateur anonyme
 
Alors dans la partie "Opérateurs et symboles" de mon cours d'Algo, moi je lis que c'est bon ^^

" ENTIER <-- LONGUEUR (chaine) "

Donc voilà, pour moi c'est bon ^^
0
bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   1
 
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:???
0
blux Messages postés 27124 Date d'inscription   Statut Modérateur Dernière intervention   3 360 > bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0
blux Messages postés 27124 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Salut,

moi j'afficherais mot_2 si i<j, pas l'inverse...

même problème ensuite.
0
ced18 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   125
 
pardon oui effectivement il faut inversé
puisque il faut le plus long
j'avais pas vu
0
Utilisateur anonyme
 
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^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ced18 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   125
 
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
0
fmvgld Messages postés 117 Date d'inscription   Statut Membre Dernière intervention   9
 
pour une question d'esthetisme tu peut egalement remplacer les condition si par une condition "cas"

cas j>i alors

casj<i alors

sinon
0
bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   1 > fmvgld Messages postés 117 Date d'inscription   Statut Membre Dernière intervention  
 
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...
0
Utilisateur anonyme
 
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 ! ;)
0
bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0
Utilisateur anonyme > bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention  
 
Mieux ^^

Reste donc à indenter ton code...
0
bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   1 > Utilisateur anonyme
 
Indenter??
Tu veux dire...faire des retraits pour bien distinguer les fonctions et conditions..??
0
Utilisateur anonyme > bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention  
 
Tout à fait
0
bansan Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   1 > Utilisateur anonyme
 
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
0
TuRKI med
 
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
0