Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Langage
Langage Vos questions sur langage Pascal en général, ses évolutions, les technologies, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/01/2012, 20h22   #1
Roland Chastain
Membre Expert
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 687
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Âge : 39
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 687
Points : 1 003
Points : 1 003
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 !
Roland Chastain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 13h39   #2
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 417
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 417
Points : 3 772
Points : 3 772
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.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 14h09   #3
Roland Chastain
Membre Expert
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 687
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Âge : 39
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 687
Points : 1 003
Points : 1 003
Merci bien pour ta réponse, et pour l'exemple qui est très clair. Je vais m'en servir tout de suite.
Roland Chastain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 17h17   #4
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 417
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 417
Points : 3 772
Points : 3 772
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.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 20h15   #5
Roland Chastain
Membre Expert
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 687
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Âge : 39
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 687
Points : 1 003
Points : 1 003
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
Roland Chastain est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h42.


 
 
 
 
Partenaires

Hébergement Web