Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1455 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  Probleme pour implementer une file en ada

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme pour implementer une file en ada

n°1302383
dentan
Posté le 09-02-2006 à 18:15:09  profilanswer
 

Bonjour, j'essai d'implementer une module de file en ada, en me serant d'un tableau pour stocker les elements.
Voici la structure de donné que j'essai d'utiliser:
 
   type File is
      record
  Taille: Integer := 10;
         Tab: array (Integer range 1..Taille) of Integer;
         Premier, Dernier : Integer := 0;
         Longueur : Natural := 0;
      end record;
 
Lors de la compilation j'ai le message:
       files_limited.ads:13:15: anonymous arrays not allowed as components
 
C'est sur la ligne ou je declare le tableau evidement. Quelqu'un pourrait-il m'aider a comprendre l'erreur?
Ca veux dire quoi "anonymous arrays"?
Merci d'avance.

mood
Publicité
Posté le 09-02-2006 à 18:15:09  profilanswer
 

n°1302989
apprentitu​x
Posté le 10-02-2006 à 15:06:54  profilanswer
 

Ben ça veut dire Tableau anonyme.
 
Les champs d'un article doivent être d'un type NOMMÉ et non anonyme.
(C'est d'ailleurs la même chose pour les sous-programmes)

n°1302999
Profil sup​primé
Posté le 10-02-2006 à 15:12:07  answer
 

tu peut ecrire ça plutôt :

Code :
  1. type Tableau is array (Integer range <> ) of Integer;
  2.   type Ma_File(Taille : Integer) is
  3.      record
  4.         Tab: Tableau (1..Taille);
  5.         Premier : Integer := 0;
  6.         Dernier  : Integer := 0;
  7.         Longueur : Natural := 0;
  8.      end record;

n°1303997
dentan
Posté le 13-02-2006 à 07:48:10  profilanswer
 

Ok merci pour cette aide.
Je comprends pas vraiment ce que ca change pour le compilateur, mais en effet il n'y a plus d'erreurs a la compilation.
Etrange de pas pouvoir utiliser le type array directement.

n°1304003
chrisbk
-
Posté le 13-02-2006 à 09:08:51  profilanswer
 

une fille en ada ? [:sinking]

n°1305256
apprentitu​x
Posté le 14-02-2006 à 14:54:37  profilanswer
 

dentan a écrit :

Ok merci pour cette aide.
Je comprends pas vraiment ce que ca change pour le compilateur, mais en effet il n'y a plus d'erreurs a la compilation.
Etrange de pas pouvoir utiliser le type array directement.


 
C'est parceque Ada est fortement typé.
 
Ada exige que les variables soit d'un type nommé pour que le compilateur puisse controller des erreur de typage.
ex:

Code :
  1. type jour is (lun,mar,mer,jeu,ven,sam,dim);
  2. type recette_de_la_semaine is array (jour) of float;
  3. type chronos_de_la_semaine is array (jour) of float;
  4. rec1,rec2 : recette_de_la_semaine;
  5. perf : chronos_de_la_semaine;


 
On peut écrire:

Code :
  1. rec1 := rec2;


Ce qui a pour effet d'affecter l'ensemble des recettes de la semaine 2 à celle de la semaine 1.
Mais on ne peut pas écrire (et c'est heureux):

Code :
  1. perf := rec1;


 
Car les 2 tableaux -bien que de même dimensions et contenant le même type - n'ont sémantiquement rien à voir.
 
Alors pourquoi peut-on écrire :

Code :
  1. mon_tableau : array (jour) of un_type;


 
C'est parceque Ada permet aussi de créer des tableau dit anonymes (i.e sans type).
Et ainsi permet de créer des tableaux sans avoir à créer un nouveau type, lorsque par exemple tu ne veux créer qu'un seul tableau sans exporter de type...
 
Alors là tu te dis : " mais j'veux créer qu'un seul tableau, juste pour mon article !!!!"
 
Oui mais non car à ce moment là, ton article (qui est évidemment typé) contient des champs non typés, et là c'est la pagaille dans l'abstraction de ton type, et :

Code :
  1. file1 := file2;


Affecterait des champs qui n'ont pas le même type.
 
Donc en conclusion, pas de tableau anonyme comme champ d'article.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  Probleme pour implementer une file en ada

 

Sujets relatifs
Probleme bisard de fichier batch au démarrageProblème "restreindre l'accès à la page" sous Dreamweaver 8
Probleme Regex :(Probleme de séléction multiple
Problème de mise à la ligne[C] Producteur/Consommateur avec file de messages et signaux
probleme Value sur bouton (POST)[wxwidgets]Probleme de positionnement de texte static
[PHP&JAVASCRIPT] Probleme pour recuperer les variables d'un formulaireprobleme avec preparedStatement
Plus de sujets relatifs à : Probleme pour implementer une file en ada


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR