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 :

Nettoyer des chambres via un aspirateur


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Points : 49
    Points
    49
    Par défaut Nettoyer des chambres via un aspirateur
    Bonjour,

    J'ai un Exercice à faire qui permet de déterminer une façon de parcourir 4 chambres via un aspirateur de taille 15 cm ( largeur et hauteur ).

    Chaque chambre est limité par [x, y]


    Les données :

    on a deux axes : (ox) et (oy).

    1er chambre [0..25, 0..25]
    2eme chambre [25..50, 0..25]
    3eme chambre [0..25, 25..50]
    4eme chambre [25..50,25..50]


    l'axe ox=[0..50]
    l'axe oy=[0..50]

    Alors, si la chambre est propre, l'aspirateur avance.Nom : Algo.PNG
Affichages : 208
Taille : 3,9 Ko

    Sinon, l'aspirateur doit parcourir la chambre sale et continuer le processus.



    Merci d'avance.

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Une façon uniquement ?
    Et pas de portes/cloisons entre les chambres ? C'est un open space quoi

    On va prendre une strategie par exemple
    je pars vers la droite tant que je peux, ensuite je remonte
    et repars vers la gauche tant que je peux etc.

    ------>--->-----
    -----<----<-----
    ----->---->-----

    je prends un point de référence de mon aspirateur (15,15)
    et la dimension de ma pièce (xend,yend)
    donc au départ mon aspirateur est en position
    Application de ma stratégie (sauf erreur de ma part bien sûr ...)

    Tant que (je ne suis pas en haut à gauche ou en haut à droite)
    1)Tant que Ok droite
    mouvement(droite)
    ftque
    2)mouvement(haut)
    3)Tant que Ok gauche
    mouvement(gauche)
    ftque
    fin tant que
    ensuite traduction pseudo-code
    1)Tant que (
    je ne suis PAS (en haut (xend) et à gauche complètement (15))
    ET
    je ne suis PAS (en haut (xend) et à droite complètement (yend))
    )

    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tant que  ( !(posx = xend et posy = 15) et !(posx = xend et posy = yend))
    Tant que Ok droite
    =>

    2)mouvement(droite)
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    si posy < yend alors 
    <div style="margin-left:40px">  posy = posy+1
      deplacement balai de 1 vers la droite ...</div>fsi
    etc.

    Ce genre quoi ...
    Après il y a sans doute des stratégies et façon de faire plus subtiles mais c'est juste pour aider à démarrer la réflexion ...
    bon ça fait une réponse
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    J'ajouterai aussi que quand je "remonte", je ne dois pas
    remonter de trop et dépasser une certaine hauteur,
    sans quoi je ne vais pas balayer toute la surface ... à intégrer
    dans l'algorithme ... rien n'est jamais figé (réflexion/ test) ...
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par vttman Voir le message
    J'ajouterai aussi que quand je "remonte", je ne dois pas
    remonter de trop et dépasser une certaine hauteur,
    sans quoi je ne vais pas balayer toute la surface ... à intégrer
    dans l'algorithme ... rien n'est jamais figé (réflexion/ test) ...

    Ok.

    Je vais démarrer avec cette aider.

    Un grand Merci vttman.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Je tiens à préciser quelque informations pour la solution que vous m'avez proposée.

    1- Déclaration des variables :

    #positions de l'aspirateur
    posx, posy :entier

    #positions des chambres
    1ere chambre : x_1end, y_2end
    2eme chambre _2end, y_2end
    3eme chambre _3end, y_3end
    4eme chambre _4end, y_4end

    Questions:
    Est ce que je déclare tous ces variables ou je vais déclarer deux seulement (xend, yend) pour les positions des chambres car j'ai 4 chambres ?

    2- Corps de programme:

    J'ai pas bien compris le critère d’arrêt que vous avez proposé :

    Tant que (je ne suis pas en haut à gauche ou en haut à droite)

    car je suis limités de 50 sur l'axe ox et oy.

    Merci d'avance

  6. #6
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Citation Envoyé par hichem0550 Voir le message

    Questions:
    Est ce que je déclare tous ces variables ou je vais déclarer deux seulement (xend, yend) pour les positions des chambres car j'ai 4 chambres ?

    2- Corps de programme:

    J'ai pas bien compris le critère d’arrêt que vous avez proposé :

    Tant que (je ne suis pas en haut à gauche ou en haut à droite)
    Pour l'instant essayer de se débrouiller avec une chambre et ensuite adapter pour que ça marche pour les 4
    => Bien sûr comment on passe d'une chambre à l'autre et si on peut optimiser le déplacement par la suite
    ça serait sympa
    ex :
    PIECE3/PIECE4
    PIECE1/PIECE2
    Je passe PIECE1 à l'aspirateur puis selon ma position (haut gauche ou haut droite) je peux soit passer à la PIECE2 ou PIECE3
    et peut-être que là il faut que je me déplace en "zigzaguant" d'une autre manière ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tant que (je ne suis pas en haut à gauche ou en haut à droite)
    en zigzaguant dans notre première chambre du bas gauche vers le droite puis en remontant et en repartant de la droite vers la gauche etc.
    eh bien finalement on terminera soit en haut à gauche ou en haut à droite selon les dimensions de la chambre non ?

    Mais encore une fois tout ça c'est à réfléchir (d'où partir, condition d'arrêt etc.)
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  7. #7
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Passer d'une pièce à une autre et recherche d'optimisation ou pas ...
    Nom : Algo.PNG
Affichages : 221
Taille : 27,4 Ko
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Un grand Merci vttman.

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

Discussions similaires

  1. [MFC] Faible utilisation des sockets via les MFC ?
    Par Yellowmat dans le forum MFC
    Réponses: 1
    Dernier message: 25/08/2005, 17h15
  2. Uploader des fichiers via ssh
    Par Michaël dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2005, 20h47
  3. Récupérer des données via le port usb
    Par matmuth dans le forum C++Builder
    Réponses: 12
    Dernier message: 11/05/2005, 16h34
  4. Réponses: 7
    Dernier message: 20/03/2005, 14h53
  5. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 16h24

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