1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2015
    Messages
    144
    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 : 144
    Points : 47
    Points
    47

    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 : 70
Taille : 3,9 Ko

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



    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de vttman
    Homme Profil pro
    Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Inscrit en
    décembre 2002
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2002
    Messages : 714
    Points : 1 344
    Points
    1 344

    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 
    
    posy = posy+1 deplacement balai de 1 vers la droite ...
    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
    Je suis sympa comme tout Mosellan mais ...
    ... (m')aider ou (me) mettre sur la voie c'est une chose
    ... tout (me) faire de A à Z, c'est pas ma conception du rôle d'un forum X ou Y
    Si vous n'êtes pas satisfait de mes réponses, n'hésitez pas à me le faire savoir Merci !

  3. #3
    Membre expérimenté Avatar de vttman
    Homme Profil pro
    Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Inscrit en
    décembre 2002
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2002
    Messages : 714
    Points : 1 344
    Points
    1 344

    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) ...
    Je suis sympa comme tout Mosellan mais ...
    ... (m')aider ou (me) mettre sur la voie c'est une chose
    ... tout (me) faire de A à Z, c'est pas ma conception du rôle d'un forum X ou Y
    Si vous n'êtes pas satisfait de mes réponses, n'hésitez pas à me le faire savoir Merci !

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2015
    Messages
    144
    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 : 144
    Points : 47
    Points
    47

    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
    144
    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 : 144
    Points : 47
    Points
    47

    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 expérimenté Avatar de vttman
    Homme Profil pro
    Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Inscrit en
    décembre 2002
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2002
    Messages : 714
    Points : 1 344
    Points
    1 344

    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.)
    Je suis sympa comme tout Mosellan mais ...
    ... (m')aider ou (me) mettre sur la voie c'est une chose
    ... tout (me) faire de A à Z, c'est pas ma conception du rôle d'un forum X ou Y
    Si vous n'êtes pas satisfait de mes réponses, n'hésitez pas à me le faire savoir Merci !

  7. #7
    Membre expérimenté Avatar de vttman
    Homme Profil pro
    Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Inscrit en
    décembre 2002
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur COBOL et le WE (CSS, PHP, JS et MYSQL)
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2002
    Messages : 714
    Points : 1 344
    Points
    1 344

    Par défaut

    Passer d'une pièce à une autre et recherche d'optimisation ou pas ...
    Nom : Algo.PNG
Affichages : 50
Taille : 27,4 Ko
    Je suis sympa comme tout Mosellan mais ...
    ... (m')aider ou (me) mettre sur la voie c'est une chose
    ... tout (me) faire de A à Z, c'est pas ma conception du rôle d'un forum X ou Y
    Si vous n'êtes pas satisfait de mes réponses, n'hésitez pas à me le faire savoir Merci !

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2015
    Messages
    144
    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 : 144
    Points : 47
    Points
    47

    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, 18h15
  2. Uploader des fichiers via ssh
    Par Michaël dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2005, 21h47
  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, 17h34
  4. Réponses: 7
    Dernier message: 20/03/2005, 15h53
  5. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 17h24

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