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

Discussion :

Tableau multi-dimensionnel ( pseudo-language )

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Par défaut Tableau multi-dimensionnel ( pseudo-language )
    Bonjour à toutes et à tous, je me ballade souvent sur ce forum et voilà , je me suis inscris !

    Étudiant en Bachelier d'informatique de gestion, nous avons des cours d’algorithmique au-cours du quel nous voyons du pseudo-code

    Nous avons un devoir maison pour le-quel nous devons réaliser l'algorithme d'un jeu de dames

    Ne trouvant pas de solution pour notre exercice, j'ai donc décidé de m'y rendre pour y voir la solution de l'exercice ( car l'énoncé est exactement le même ) mais pas simplement pour prendre la solution mais surtout pour comprendre cette solution !

    Voici donc l'énoncé :

    Bon ok tu parles tu parles mais ton problème c'est quoi ?

    Ah oui pardon! Voilà , je ne comprends pas vraiment ce que donne ces instructions :

    Choix 0 : pion en haut à droite
    Mouv(0, 0) ← -1
    Mouv(0, 1) ← -1
    Choix 1 : pion en haut à droite
    Mouv(1, 0) ← -1
    Mouv(1, 1) ← 1
    Choix 2 : pion en bas à gauche
    Mouv(2, 0) ← 1
    Mouv(2, 1) ← -1
    Choix 3 : pion en bas à droite
    Mouv(3, 0) ← 1
    Mouv(3, 1) ← 1

    Alors ok , c'est pour définir le mouvement du pion mais j'aimerai que ce soit plus précis :/

    Par avance merci pour vos réponses et merci d'avoir pris le temps de lire mon post!

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Euh, je trouve que c'est assez horrible d'utiliser un tableau de deux int pour les coordonnées, au lieu d'une structure.

    De plus, leur convention pour les dimensions du tableau n'indique pas la taille de la dimension, mais sa valeur maximale.
    Ainsi, le tableau (3, 1) est en réalité un tableau de 4x2 cases. Une autre chose qu'ils auraient du préciser est que les ordonnées augmentent en allant vers le bas.

    De plus, il y a une typo dans le corrigé, le choix zéro est déplacement vers "en haut à gauche".

    Enfin bref l'explication: Pour le second indice de ton tableau, tu as 0 pour X et 1 pour Y. Ces valeurs sont ajoutées aux coordonnées actuelles du pion pour indiquer son déplacement.
    Ainsi, pour déplacer vers "en haut à gauche" (choix 0) le déplacement sera négatif en X et négatif en Y.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Par défaut
    Ah ok , merci pour ton explication , c'est plus claire !

    Mais j'aimerai revenir sur ce que tu dis avant , que pour toi utilisé deux tableaux au lieu d'une structure est horrible mais penses-tu qu'avec ce que nous avons vu ( nous ne pouvons nous servir que de cela ) nous pouvons faire autrement ( oui je te demande sûrement beaucoup, ça sous-entend que tu aies jeté un coup d'oeil sur les chapitres précédents ) ?

    Parce que le but de cet exercice c'est justement de nous faire travailler les tableaux ( il faut savoir que c'est en cours du soir ) mais si tu as une autre alternative , je suis curieux !

    Encore merci pour ta réponse


    EDIT : Bon , j'ai relus plusieurs fois l'algorithme et j'ai encore quelques questions :p

    Premièrement , à un moment on utilise la variable Dep , mais elle n'est déclaré nul part et n'est pas initialisé , c'est une erreur n'est-ce pas ?

    deuxièmement , cette partie est là pour afficher le nouveau damier ( après le choix du déplacement du pion )

    Pour i ← 0 à 7
    Pour j ← 0 à 7
    Si Damier(i, j) Alors
    Ecrire " O ";
    Sinon
    Ecrire " X ";
    FinSi
    j suivant
    Ecrire "" <== je ne comprends pas l'intérêt ???
    i suivant
    Sinon

    Voilà, ces deux points m'intriguent !

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu as raison pour l'erreur sur la variable Dep manquante; elle devrait être déclarée en tant qu'entier.

    Quant à la ligne que tu as montré, il y a en effet une erreur; son but est d'écrire un retour à la ligne avant d'écrire la ligne suivante case par case.

    PS: Pour la déclaration des tableaux, personnellement je connais deux écoles: Soit les deux bornes, (genre Tab(0 ... 7)) soit la taille (genre Tab(8)). Ça me déroute beaucoup de voir des tableaux déclarés avec leur borne supérieure, même si le premier langage que j'aie appris (BASIC sur Amstrad CPC) faisait ça.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Par défaut
    D'accord donc pour la structure , infaisable puisqu'on ne l'a pas encore étudié ( mais merci de m'en avoir parlé , du coup je m'y suis intéressé )

    Et pour le retour à la ligne , je comprends mieux, c'est pour que ça n'affiche rien à l'écran , merci

    En tout cas merci beaucoup pour tes réponses, il est vrais que j'aurai préféré qu'on commence à apprendre un langage plutôt que du pseudo-code mais en même temps, notre prof est très rigoureux sur la forme, l'incrémentation, la logique que l'on doit adopté , donc je pense que ce n'est pas un mal de commencer par ça ( l'année prochaine on attaque le java )

    Je pense que je vais me mettre tranquillement sur le pascal, j'en entends beaucoup de bien pour l'apprentissage mais pensez vous que, comme je suis déjà initié à la base avec mes cours d'algo, je ne ferai pas mieux de passer à un autre langage, qui soit orienté objet par exemple ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Par défaut
    Me revoilà avec encore une fois, une question =)

    Voilà , à un moment dans la correction je trouve ça :

    i2 et j2 sont les futures coordonnées du pion. La variable booléenne MoveOK vérifie la validité de ce futur emplacement

    i2 ← posi + Mouv(Dep, 0)
    j2 ← posj + Mouv(Dep, 1)
    MoveOK ← i2 >= 0 et i2 <= 7 et j2 >= 0 et j2 <= 7

    Mais voilà , MoveOk est un booléen donc je ne comprends pas... Est-ce que le fait que ce soit un booléen vérifie si i2 est supérieur ou égal à 0 ET i2 inférieur ou égale à 7 Et etc etc... ?

    C'est peut-être idiot mais ça me perturbe ^^'

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2007, 10h52
  2. Réponses: 5
    Dernier message: 04/10/2006, 18h49
  3. [Tableaux] Tableau multi dimensionnel
    Par gids01 dans le forum Langage
    Réponses: 7
    Dernier message: 02/10/2006, 16h18
  4. [Tableaux] tri sur un tableau multi-dimensionnel
    Par nicoaix dans le forum Langage
    Réponses: 1
    Dernier message: 12/04/2006, 21h23
  5. Réponses: 4
    Dernier message: 24/08/2005, 14h09

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