Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/01/2012, 20h22   #1
Membre habitué
 
Avatar de Roland Chastain
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 168
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 168
Points : 149
Points : 149
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
Expert Confirmé
 
Inscription : août 2006
Messages : 3 195
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 195
Points : 3 342
Points : 3 342
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
Membre habitué
 
Avatar de Roland Chastain
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 168
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 168
Points : 149
Points : 149
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
Expert Confirmé
 
Inscription : août 2006
Messages : 3 195
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 195
Points : 3 342
Points : 3 342
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
Membre habitué
 
Avatar de Roland Chastain
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 168
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 168
Points : 149
Points : 149
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 Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h17.


 
 
 
 
Partenaires

Hébergement Web