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

  FORUM HardWare.fr
  Programmation
  Ada

  liste double chainee et paquetage generique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

liste double chainee et paquetage generique

n°1487911
diwanet
Posté le 07-12-2006 à 12:42:05  profilanswer
 

Bonjour! je suis ravie d'avoir trouvé ce forum et cette partie consacrée au langage ADA, car on trouve rarement des gens qui s'y connaissent au contraire des autres langages...
 
Au fait... j'ai un projet ADA à preparer et j'ai besoin du maximum de conseils car je suis debutante... car j'ai envie de bien le reussir... pouvez vous m'aider à le generer?
 
il s'agit de faire un paquetage generique d'une liste doublement chainee, c'est à dire qui un curseur qui se balade dans la liste, ceci est permit car la liste contient un prededent un element et un suivant... voilà la difference avec une liste simple...
 
je vous remercie bcp bcp d'avance!
 
allez! on commence si vous voulez bien!  ;)  
 

Code :
  1. -- partie specification du programme
  2. GENERIC
  3.   type T is private;
  4.   with procedure aff_t (t:in T);
  5.  
  6. package P_listedb_gen is
  7.  
  8.   type liste_double is private;
  9.   LISTE_DB_VIDE : exception;
  10.  
  11. function creer_ldb_vide return liste_double;
  12. -- creer une liste vide
  13.  
  14. procedure afficher_ldb_curfin (cur: IN liste_double);
  15. --afficher une liste du curseur à la fin
  16.  
  17.  
  18. procedure afficher_ldb_debfin (cur: IN liste_double);
  19. --afficher une liste du debut à la fin
  20.  
  21. function copier_ldb_debfin (cur: IN liste_double) return liste_double;
  22. --copier une liste
  23.  
  24. --j'ajouterai d'autres une fois celle ci finies et une fois assurées que tout est bon
  25.  
  26. PRIVATE
  27.   type noeud;
  28.   type liste_double is access noeud;
  29.   type noeud is record
  30.     val: T;
  31.     precedent: liste_double
  32.     suivant: liste_double;
  33.   end record;
  34.  
  35. end P_listedb_gen;


Code :
  1. -- partie implementation du programme
  2. with text_io; use text_io;
  3. package body P_listedb_gen is
  4. PACKAGE entier is new integer_io(integer);
  5. USE entier;
  6.  
  7. --
  8. --
  9. --


Message édité par diwanet le 07-12-2006 à 20:51:19
mood
Publicité
Posté le 07-12-2006 à 12:42:05  profilanswer
 

n°1488126
Profil sup​primé
Posté le 07-12-2006 à 16:42:22  answer
 

Bonjour diwanet,
 
pour que ton code soit un peu plus lisible, tu peux mettre les balises ["code=ada"] [/"code"] sans les guillemets
 
Si non, quel est ton problème, maitrise tu les listes simplements chainées
 
a par ça, tu trouvera ici quelques exemple d'implementations, ensuite si tu a des difficultés pour les listes doublement chainées nous y reviendrons
 
Si non, moi je maitrise pas super, je me debrouille, donc pour faire dans les regles de l'art que je ne connait pas,  je ne peut rien. Mais bon sait-on jamais, si tu a des questions précises ou un code qui contien des erreurs, je me ferais un plaisir d'y jeter un coup d'oeuil.  :jap:

n°1488291
diwanet
Posté le 07-12-2006 à 20:55:03  profilanswer
 

voilà c'est bon j'ai changé la visualisation  :p  merci!
 
disons que je maitrise assez les listes simples, c'est sur que ça va ressembler enormement, mais là je ne sais pas si je dois mettre le curseur en enregistrement aussi, ou bien laisser le typage tel que je l'ai ecris?... au fait là j suis encore bloquée sur ce point pour l'instant... merci en tout cas

n°1488323
Profil sup​primé
Posté le 07-12-2006 à 22:39:15  answer
 

diwanet a écrit :

voilà c'est bon j'ai changé la visualisation  :p  merci!
 
disons que je maitrise assez les listes simples, c'est sur que ça va ressembler enormement, mais là je ne sais pas si je dois mettre le curseur en enregistrement aussi, ou bien laisser le typage tel que je l'ai ecris?... au fait là j suis encore bloquée sur ce point pour l'instant... merci en tout cas


 
qu'entends-tu par "mettre en enregistrement" ?
 
(demain je revise, je jete un premier code pour me souvenir et je t'en dis plus sur ta structure)

n°1488505
Profil sup​primé
Posté le 08-12-2006 à 13:12:06  answer
 

Bonjour diwanet,
Sachant qu'Ada garanti que les nouveaux pointeurs sont initialisés à null, et que ta procedure creer_ldb_vide consiste à retourner un pointeur null, celle-ci est a priori sans intéret. Donc je m'interroge  :??:  
 
Afficher un liste, quel soit double ou simple ne change rien.
 
Quant à la copie, elle consiste comme pour l'affichage à parcourir la liste du debut à la fin, en copiant l'element "val" de type T du type noeud.
 
En fonction de ce qui reste à faire, je vairai si ta structure reste adequate.
 
 

n°1488524
Profil sup​primé
Posté le 08-12-2006 à 13:33:40  answer
 


j'ai peut-etre ecris de grosse betise, ... je prend la journé pour y reflechir, excuser moi. :heink:


Message édité par Profil supprimé le 08-12-2006 à 13:42:40
n°1488530
Profil sup​primé
Posté le 08-12-2006 à 13:37:32  answer
 

Non, c'est ça, corrigez moi si je persite dans l'erreur.


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

  liste double chainee et paquetage generique

 

Sujets relatifs
Liste de formats d'ident. aux messageries instantannées (à compléter)[Access] Liste déroulante à partir d'une fonction (syntaxe)
liste des nbres premiers inferieurs a un nbre donnéComment avoir en ksh la liste des elements d'une colonne
[PHP] Traitement liste choix multiplespb liste déroulant
BLACKLIST - LISTE NOIR d'adresse IP à mettre sur vos site internetJavascript + Liste déroulante <select>
Utiliser SET mais avec une liste (SET IN etc...)gestion d'une liste d'attente ??
Plus de sujets relatifs à : liste double chainee et paquetage generique


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