Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

langage c

Posté par
SCAR
03-06-20 à 16:21

BONJOUR , QUELQU'UN PEUT M'AIDER S'IL VOUS PLAIT

On désire créer un algorithme pour chercher un mot déjà désiré par un utilisateur. premièrement , on exige à l?utilisateur de choisir un mot composé de quatre lettres minuscules et on le stocke dans une variable X, deuxièmement, notre algorithme doit trouver ce mot. Cet algorithme doit demander à l?utilisateur de saisir uniquement les lettres minuscules.
Questions:
- Traduire cet algorithme en langage C.
N.P : je serai trés reconaissant si  le choix des boucles utilisées est  justifié

**forum modifié**

Posté par
sanantonio312
re : langage c 03-06-20 à 16:49

Bonjour,
Il est curieux ce cahier des charges:
L'algorithme doit trouver ce mot or, il le connaît puisqu'il est stocké dans X. Non?

Posté par
SCAR
re : langage c 04-06-20 à 15:07

sanantonio312 @ 03-06-2020 à 16:49

Bonjour,
Il est curieux ce cahier des charges:
L'algorithme doit trouver ce mot or, il le connaît puisqu'il est stocké dans X. Non?


oui je crois que l'algorithme  connait ce mot

Posté par
mathafou Moderateur
re : langage c 04-06-20 à 17:20

Bonjour

c'est stupide :
puisqu'il le connait il n'a pas à le chercher : il est directement dans X et c'est fini instantanément sans rien faire du tout : il l'a "deviné" en le récupérant directement dans X !!!


de toute façon on ne sait même pas quel pourrait bien être la forme du dialogue entre l'homme et la machine pour que l'un des deux devine le mot de l'autre (deviner le mot qu'on connait déja soi-même n'a aucun sens !!!)

Citation :
Cet algorithme doit demander à l'utilisateur de saisir ...
de saisir quoi donc ? (la signification de ce qu'on saisit, pas sa forme, on s'en fiche) et on en fait quoi par rapport à l'objectif ?
qui répond quoi sous quelle forme à la demande ou proposition de l'autre ?
à partir de quelle sorte de dialogue faut il deviner le mot de l'autre ?

Posté par
sanantonio312
re : langage c 04-06-20 à 18:07

Missa est!

Posté par
woo3
ex LANGAGE C 04-06-20 à 18:58

Un Algorithme : l'utilisateur de choisir un mot composé de quatre (4) lettres minuscules
et on le stocke dans une variable X, après, notre algorithme doit trouver ce mot. Cet algorithme
doit exiger à l'utilisateur de saisir uniquement les lettres minuscules.

*** message déplacé ***autant réunir le énoncés absurdes***

Posté par
mathafou Moderateur
re : ex LANGAGE C 04-06-20 à 19:28

Bonjour ?????

tout aussi absurde que langage c
(en supposant même que ce ne soit pas un multicompte pour cacher un multipost)

l'algorithme n'a aucune difficulté à trouver ce mot instantanément : il le connait déja , il est dans la variable X !!!

*** message déplacé ***

Posté par
woo3
re : ex LANGAGE C 05-06-20 à 01:41

bonjour,
non, je suis un autre personne,
pouvez-vous m' expliquer s'il vous plaît?

*** message déplacé ***

Posté par
mathafou Moderateur
re : ex LANGAGE C 05-06-20 à 07:49

il n'y a rien à expliquer de plus : cet énoncé ne tient pas debout.

la question est très certainement tout à fait autre chose que ce qui est décrit là dedans !!!
mais va savoir quoi ...

*** message déplacé ***

Posté par
mathafou Moderateur
re : langage c 05-06-20 à 10:38

histoire de faire avancer le schmillblick, je propose deux interprétations possibles de cette absurdité.
c'est à dire des énoncés différents.

déja :
celui qui doit chercher le mot ne le connait évidemment pas au départ !!!
on supprime la phrase absurde consistant à demander de chercher quelque chose qui est déja dans la variable X

même en faisant ça, ça ne tient pas debout :
celui qui cherche et celui qui connait le mot ont ici des rôles mélangés
celui qui connait le mot ne propose pas des candidats ! (ici les deux connaissent le nombre au départ !!)
c'est l'autre , celui qui cherche, qui propose des candidats !!
et celui qui le connait doit répondre quelque chose en accord avec cette proposition
réponse qui doit être spécifiée dans une règle du jeu

par exemple de dialogues :

ce mot contient il un "a" ?
réponse : " oui" ou "non"
y a -t-il plusieurs "a" ?
réponse : " oui" ou "non"
le "a" est il avant le "b" dans ce mot ?
réponse : " oui" ou "non"
etc (les seules réponses possibles étant oui ou non)
mais il ne sera pas facile de formaliser de telles propositions par programme !!

autre exemple :
- je propose "beau"
réponse : "le mot cherché est avant dans le dictionnaire"
- je propose "accu"
réponse : "le mot cherché est après dans le dictionnaire"
etc (les seules réponses possibles concernent l'ordre alphabétique des mots)
bref une règle du genre "plus petit - plus grand"

autre exemple :
- je propose "truc"
réponse : une lettre bien placée et 1 lettre mal placée
- je propose "brin"
réponse : "deux lettres bien placées"
etc
(bref les règles du jeu "mastermind")

etc
cela DOIT être spécifié au départ, cette règle du jeu
le dialogue doit être codifié précisément dans le type de réponses à apporter à une proposition de mot, ou une question à propos de ce mot

enfin il faut clarifier précisément et sans ambiguïté celui des deux qui choisit le mot à trouver et qui est le seul à le connaitre au départ et qui répond à des propositions de l'autre

et cet autre, celui qui doit chercher ce mot inconnu, et qui ne le connait bien sur pas du tout au départ, celui qui propose des candidats , ou qui pose des questions au premier.

les rôles des deux protagonistes sont très différents

"le codeur" celui qui a choisi le mot à deviner, qui est le seul à le connaître, et qui se contentera de réponses "mécaniques" sans aucune intelligence aux questions et propositions de l'autre

le "décodeur" qui doit élaborer une stratégie pour trouver le mot inconnu le plus rapidement possible, par un choix intelligent des questions et propositions qu'il fait à l'autre

programmer le rôle du codeur est énormément plus facile que de programmer le rôle du décodeur !
en tout cas il y a deux énoncés possibles

1er cas :
le joueur humain choisit un mot en secret
le programme cherche à trouver ce mot qu'il ne connait pas, nulle part, en posant des questions
le joueur humain répond au programme, et certainement pas en lui donnant le mot secret !

2ème cas
le programme choisit un mot au départ (et le met dans une variable X si on veut, mais on s'en fout du nom de cette variable),
il le connait puisque c'est lui qui l'a choisi !!
et il est le seul à le connaitre, (à moins que l'humain ne triche en passant en mode "debug" pour aller examiner les variables internes au programme)
le joueur humain propose des candidats au programme (des mots de 4 minuscules)
LE PROGRAMME REPOND en comparant ces propositions au mot qu'il connait, en fonction de la REGLE DU JEU. (à préciser obligatoirement)

bref "sur ce thème" (mais certainement pas avec l'énoncé proposé) on peut imaginer des tas de choses, qu'il faut obligatoirement spécifier dans un "cahier des charges" précis et qui soit au minimum cohérent.

seulement bien après tout ça (un monde entier) on pourra éventuellement parler de langage C ...
vu que de toute façon on s'en fiche un peu du langage utilisé, on en est au stade de l'étude théorique et des spécifications fonctionnelles de ce qu'il y a à faire !

Posté par
flight
re : langage c 14-06-20 à 17:36

Salut

pour te faire une idée , moi j'ai ecris cela en vba à toi de t'inspirer avec le language que tu connais  

Citation :
Sub mot_a_deviner()
mot = "ABC"
i = 1
1:
choix = UCase(InputBox("choix de la" & i & " ier/ième lettre:"))
While choix <> Mid(mot, i, 1)
MsgBox "choix incorrect"
erreurs = erreurs + 1
choix = UCase(InputBox("choix de la" & i & " ier/ième lettre:"))
Wend
n = n + 1
If n = Len(mot) Then
  If erreurs > 0 Then
   MsgBox "Le mot a été reconstitué mais avec :" & erreurs & " choix eroné(s)"
      Else
   MsgBox "Le mot a été reconstitué sans erreurs apres :" & n & " essais"
   End If
Else
i = i + 1
GoTo 1
End If

End Sub

Posté par
mathafou Moderateur
re : langage c 15-06-20 à 11:59

à condition d'avoir au préalable clarifié le cahier des charges, la spécification de la tâche à faire faire par le programme :

le progamme choisit un mot et c'est à l'interlocuteur humain de le deviner
pour cela l'interlocuteur propose une à une les lettres du mot, et le programme répond juste ou faux jusqu'à ce que le mot entier soit bon, ou qu'on abandonne la recherche (en limitant le nombre d'essais par lettre ou sur tout autre critère)

le programme serait tout autre avec un autre cahier des charges

le problème ici n'est pas l'écriture du programme, mais la rédaction correcte d'un cahier des charges cohérent (d'un énoncé cohérent)



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !