IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

IA plus ou moins où la machine devine


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 9
    Par défaut IA plus ou moins où la machine devine
    Bonjour !

    Je suis nouvelle ici, donc je m'excuse d'avance si le post n'est pas au bon endroit ou quoi que ce soit.
    Je suis étudiante en première année de BTS SNIR et je suis complètement débutante en programmation.
    J'ai un devoir qui consiste à créer un algorithme pour la rentrée (le 8 Novembre), et je suis un peu perdue. J'ai l'impression qu'il y a des choses qu'on a pas encore vu pour faire cet exercice.

    Voici l'énoncé :
    Ecrire l'algorithme qui permet de découvrir le plus rapidement possible le nombre perdu compris entre 1 et 1000 uniquement en donnant comme réponse la lettre "s" si le chiffre est supérieur, la lettre "i" si le chiffre est inférieur et la lettre "t" si le chiffre est trouvé.
    C'est donc l’ordinateur qui doit deviner le nombre que nous avons choisi et en proposer un en fonction de notre réponse.
    Voici mon algorithme pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
        Algorithme : Laisser l'ordinateur deviner un nombre entre 1 et 1000
        Auteur : Moi !
        Date : 26 Octobre 2021
     
        Variables : indice = caractères
                    essaiMachine = entier
                    reponse = entier
     
        Début
            essaiMachine<-(1;1000) //je ne suis ABSOLUMENT pas sûre de ça aha
            Afficher "Faisons un jeu. L'ordinateur doit deviner un nombre entre 1 et 1000 que vous avez choisi."
            Répéter
                Afficher "L'ordinateur vous propose",essaiMachine,"."
                Afficher "Tapez s si le chiffre est trop grand, i si il est trop petit, ou t si il a trouvé."
                Saisir indice
                Si indice='s'
                    Alors essaiMachine>reponse
                Si indice='i'
                    Alors essaiMachine<reponse
            Jusqu'à indice='t'
            Afficher "L'ordinateur a deviné votre nombre !"
        Fin
    J'ai d'abord voulu essayer de la traduire en C++ pour voir où sont mes erreurs et tenter de les corriger (c'est le seul langage que nous apprenons en cours pour l'instant), mais plein de choses me bloquent. J'aimerais avoir des conseils de la part de gens qui ont l'habitude

    Merci beaucoup !

  2. #2
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Les réponses au format caractère 's', 'i', 't' n'ont de raison d'être que si elles sont affichées à l'écran, et lues par la personne au clavier: c'est logiquement cette dernière (et non l'ordinateur) qui propose un nouveau nombre en fonction des réponses déjà obtenues, et s'efforce de parvenir au plus vite à la solution.

    Ton énoncé n'est pas clair, ou quelque chose m'a échappé.

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 229
    Par défaut
    Oublie le mot 'algorithme'.

    Essaie de jouer avec un membre de ta famille X.
    X pense à un nombre entre 1 et 1000. Il l'écrit sur un papier si nécessaire.
    Tu proposes un nombre, et X doit te répondre plus ou moins.
    Et ton objectif est : de découvrir le plus rapidement possible le nombre

    Tu proposes quoi comme premier nombre.
    Puis tu proposes quoi ensuite, si X te répond 'plus grand' ? ou s'il te répond 'Plus petit'.

    Quand tu auras joué 5 ou 10 parties avec un membre de ta famille, tu auras peut-être une stratégie efficace pour gagner le plus rapidement possible.

    Décris cette stratégie.

    On te dira si la stratégie est bonne.

    Jusque là, on est entre joueurs, on joue, on cherche une bonne stratégie pour gagner le plus vite possible.

    Et ensuite, on va devenir programmeurs, on pourra parler algorithme ... plus tard.

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 9
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Oublie le mot 'algorithme'.

    Essaie de jouer avec un membre de ta famille X.
    X pense à un nombre entre 1 et 1000. Il l'écrit sur un papier si nécessaire.
    Tu proposes un nombre, et X doit te répondre plus ou moins.
    Et ton objectif est : de découvrir le plus rapidement possible le nombre

    Tu proposes quoi comme premier nombre.
    Puis tu proposes quoi ensuite, si X te répond 'plus grand' ? ou s'il te répond 'Plus petit'.

    Quand tu auras joué 5 ou 10 parties avec un membre de ta famille, tu auras peut-être une stratégie efficace pour gagner le plus rapidement possible.

    Décris cette stratégie.

    On te dira si la stratégie est bonne.

    Jusque là, on est entre joueurs, on joue, on cherche une bonne stratégie pour gagner le plus vite possible.

    Et ensuite, on va devenir programmeurs, on pourra parler algorithme ... plus tard.
    Bonjour,

    Ça y est j'y vois plus clair. Il faut utiliser le principe de la dichotomie (division par deux).

    J'ai modifié ma "stratégie" en conséquence, mais je pense que quelque chose m'échappe encore, c'est bizarre dit comme ça mais mon intuition me dit que les passages dans les boucles se feront mal...
    En fait je ne suis pas sûre des "si indice='s'", "si indice='i'"... et encore moins du "jusqu'à indice='t'".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
        Variables : indice = caractère
                       essaiPc,min,max = entiers
     
        Début
            min <- 0
            max <- 1000
            essaiPC <- 500
            Afficher "Faisons un jeu. L'ordinateur doit deviner un nombre entre 1 et 1000 que vous avez choisi."
            Répéter
                Afficher "L'ordinateur vous propose",essaiPc,"."
                Afficher "Tapez s si le chiffre est trop grand, i si il est trop petit, ou t si il a trouvé."
                Saisir indice
                Si indice='s'
                    min <- essaiPc
                    essaiPc <-(max+min)/2
                Si indice='i'
                    max <- essaiPc
                    essaiPc <- (max-min)/2
            Jusqu'à indice='t'
            Afficher "L'ordinateur a deviné votre nombre !"

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 229
    Par défaut
    Bien. Et tu as glissé le mot dichotomie dans ta réponse, c'était le mot attendu.

    Il y a une erreur en ligne 19.

    Mais sinon, ça me paraît pas trop mal. (sans garantie, ce n'est pas une discipline que je pratique)

  6. #6
    Membre expérimenté
    Avatar de anadoncamille
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 395
    Billets dans le blog
    1
    Par défaut
    Pour trouver ton erreur de la ligne 19, déroule le calcul sur une feuille de papier et regarde si le calcul te donne le résultat attendu. Tu devrais trouver facilement.

  7. #7
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 9
    Par défaut
    Citation Envoyé par wiwaxia Voir le message
    Bonjour,

    Les réponses au format caractère 's', 'i', 't' n'ont de raison d'être que si elles sont affichées à l'écran, et lues par la personne au clavier: c'est logiquement cette dernière (et non l'ordinateur) qui propose un nouveau nombre en fonction des réponses déjà obtenues, et s'efforce de parvenir au plus vite à la solution.

    Ton énoncé n'est pas clair, ou quelque chose m'a échappé.
    Bonjour,

    En fait notre professeur nous a expliqué un peu l'exercice avant qu'on s'y attarde, et il a bien précisé que c'est l'ordinateur qui doit deviner notre chiffre. Du coup ça ajoute de la difficulté à la chose, et notre cours n'étant pas encore très rempli je bloque sur beaucoup de points.
    J'ai aussi l'impression qu'ils aiment bien faire des énoncés compliqués à comprendre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] case avec plus et moins a coté
    Par budiste dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2005, 14h09
  2. Comparer une valeur à plus ou moins quelque chose...?
    Par Thierry8 dans le forum Langage
    Réponses: 4
    Dernier message: 11/10/2005, 13h17
  3. [C#] 3 chiffres ni plus ni moins
    Par niPrM dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/06/2004, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo