Rechercher : dans
Par :

Exo algo chaine de caractere fonctLONGUEUR

Dernière réponse le 7 mar 2008 à 11:42:34 bansan, le 7 mar 2008 à 10:46:24 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « Exo algo chaine de caractere fonctLONGUEUR » dans :
Javascript - Concaténation de chaînes de caractères VoirLe terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule. Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou...
Sed - Introduction à SED - Part I VoirSED - The Stream EDitor - Part I Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED" un...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...

1

ced18, le 7 mar 2008 à 10:48:32

Bonjour,

oui ton algo est bon
mais tu ne dois pas faire la fonction LONGUEUR ?

Répondre à ced18

5

K_Bahamut, le 7 mar 2008 à 10:54:18

C'est aussi la question que je me posais...
Je vais regarder dans mes cours, mais il me semble que non
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (proverbe Shadok)
--{[コンピュータ]}--

Répondre à K_Bahamut

8

K_Bahamut, le 7 mar 2008 à 11:06:59

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 ^^
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (proverbe Shadok)
--{[コンピュータ]}--

Répondre à K_Bahamut

6

bansan, le 7 mar 2008 à 11:01:39

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:???

Répondre à bansan

12

blux, le 7 mar 2008 à 11:09:55

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.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

9

bansan, le 7 mar 2008 à 11:08:28

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

Répondre à bansan

2

blux, le 7 mar 2008 à 10:49:02

Salut,

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

même problème ensuite.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

3

ced18, le 7 mar 2008 à 10:50:44

Pardon oui effectivement il faut inversé
puisque il faut le plus long
j'avais pas vu

Répondre à ced18

4

K_Bahamut, le 7 mar 2008 à 10:50:57

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^^

S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (proverbe Shadok)
--{[コンピュータ]}--

Répondre à K_Bahamut

7

ced18, le 7 mar 2008 à 11:03:57

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

Répondre à ced18

10

fmvgld, le 7 mar 2008 à 11:08:07

Pour une question d'esthetisme tu peut egalement remplacer les condition si par une condition "cas"

cas j>i alors

casj<i alors

sinon

Répondre à fmvgld

13

bansan, le 7 mar 2008 à 11:16:39

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...

Répondre à bansan

11

K_Bahamut, le 7 mar 2008 à 11:08:42

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 ! ;)
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (proverbe Shadok)
--{[コンピュータ]}--

Répondre à K_Bahamut

14

bansan, le 7 mar 2008 à 11:18:10

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

Répondre à bansan

15

K_Bahamut, le 7 mar 2008 à 11:21:30

Mieux ^^

Reste donc à indenter ton code...
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (proverbe Shadok)
--{[コンピュータ]}--

Répondre à K_Bahamut

16

bansan, le 7 mar 2008 à 11:30:41

Indenter??
Tu veux dire...faire des retraits pour bien distinguer les fonctions et conditions..??

Répondre à bansan

17

K_Bahamut, le 7 mar 2008 à 11:35:51

Tout à fait
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (proverbe Shadok)
--{[コンピュータ]}--

Répondre à K_Bahamut

18

 bansan, le 7 mar 2008 à 11:42:34

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

Répondre à bansan