Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Rédacteur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 080
    Points : 2 113
    Points
    2 113

    Par défaut Comment présenter des données

    Bonjour à tous !

    Question d'un débutant en Pascal :

    Quel est l'équivalent du "data" employé en Basic ? S'il n'y en a pas (comme je crois le comprendre), quelle est la bonne façon de faire la même chose en Pascal ?

    Mettons que je veuille "stocker" dans mon programme les valeurs initiales d'un échiquier avec ses pièces pour pouvoir au moment voulu attribuer ces valeurs aux variables d'un tableau. En Basic, je fais ça :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    data 8, 4, 6, 10, 12, 6, 4, 8
    data 2, 2, 2, 2, 2, 2, 2, 2
    data 0, 0, 0, 0, 0, 0, 0, 0
    data 0, 0, 0, 0, 0, 0, 0, 0
    data 0, 0, 0, 0, 0, 0, 0, 0
    data 0, 0, 0, 0, 0, 0, 0, 0
    data 1, 1, 1, 1, 1, 1, 1, 1
    data 7, 3, 5, 9, 11, 5, 3, 7
    Comment dois-je faire en Pascal ? Pourriez-vous me mettre sur la voie ?

    Merci d'avance !

  2. #2
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 532
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 532
    Points : 4 015
    Points
    4 015

    Par défaut

    Vie,

    Comme il s'agit de valeurs du même type, tu crées un tableau du bon type, de bonne taille, et tu l'initialises comme constante.

    Ex:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    const maxDonnees = 3;
     
    type
       monTableauDonnees = array [0..maxDonnees] of integer;
     
    const
       monTableau : monTableauDonnees = (45,12,6);
    Et tu y accèdes comme comme pour n'importe quel tableau, avec des indices de 0 à 2 dans le cas cité.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  3. #3
    Rédacteur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 080
    Points : 2 113
    Points
    2 113

    Par défaut

    Merci bien pour ta réponse, et pour l'exemple qui est très clair. Je vais m'en servir tout de suite.

  4. #4
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 532
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 532
    Points : 4 015
    Points
    4 015

    Par défaut

    Bie,

    Oui, sauf qu'avec le code que j'ai donné, le tableau pourra contenir 4 données, indices 0 à 3.

    Ça commence à faire plus de 10 ans que je ne fais plus de Pascal, et j'ai vraiment pris le plis des tableaux en C, C++ ..., en mélangeant quand même un peu avec la syntaxe Pascal, sans trop réfléchir.

    Aïe, pas taper.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  5. #5
    Rédacteur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 080
    Points : 2 113
    Points
    2 113

    Par défaut

    Je me suis posé la question et, après vérification dans le manuel, j'ai compris que c'était une faute de frappe. Merci quand même d'avoir rectifié.

    Voici donc mon premier petit bout de programme en Pascal :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    program tablier; {Tableaux de constantes}
    uses crt;
    var i: shortint;
    type
       occupant=array [1..64] of integer;
       symboles=array [0..6] of char;
    const
    	occupantINI : occupant=(
    	-4,-2,-3,-5,-6,-3,-2,-4,
    	-1,-1,-1,-1,-1,-1,-1,-1,
    	-0,-0,-0,-0,-0,-0,-0,-0,
    	-0,-0,-0,-0,-0,-0,-0,-0,
    	-0,-0,-0,-0,-0,-0,-0,-0,
    	-0,-0,-0,-0,-0,-0,-0,-0,
    	+1,+1,+1,+1,+1,+1,+1,+1,
    	+4,+2,+3,+5,+6,+3,+2,+4);
    	symbolFR : symboles=(chr(176),'P','C','F','T','D','R');
    	symbolEN : symboles=(chr(176),'P','N','B','R','Q','K');
    BEGIN
    TextBackground(Blue);
    TextColor(White);
    clrscr;
    for i:=1 to 64 do
    	begin
    	write (symbolFR[Abs(occupantINI[i])]);
    	if i/8=trunc(i/8) then writeln;
    	end;
    readln;
    END.
    Il y a quelques jours que je me suis mis sérieusement au Pascal, après avoir écrit un programme d'échecs en Basic. Le C, je ne connais pas. Je le regrette d'ailleurs, car beaucoup de programmes que j'aimerais étudier sont écrits dans ce langage. Il faudra que je m'y mette.

    J'ai déjà posté dans une autre rubrique du forum un lien vers mon précédent programme (sur lequel je travaille toujours). Je me permets de le reproduire ici, au cas où cela intéresserait quelqu'un :

    http://www.eschecs.fr

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •