WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Affectation de circuits d'une bibliothèque a des unités fonctionnelles d'une partie opérative avec des contraintes de surface, de vitesse et de consommation d'énergie.

( Télécharger le fichier original )
par Farida LOUACHENI
Université Saad Dahleb Blida - Ingénieur d'état Informatique  2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.3.3.7 Algorithme pour créer les différentes listes :

Cet algorithme, avec l'appel d'autres procédures, permet de créer les différentes listes nécessaires pour le traitement. Ces listes sont déterminées en considérant, pour chaque type d'opérateur utilisé dans le circuit, toutes les combinaisons possibles en se basant sur le nombre d'instances de cet opérateur qui sont présentes en bibliothèque ainsi que sur le nombre d'instances utilisées. Dans tous nos algorithmes, nous avons utilisé les variables suivantes :

- la variable ptr permet de parcourir la liste de tous les opérateurs utilisés dans le circuit.

- la variable ptr1 permet de parcourir la liste des combinaisons possibles pour un type d'opérateurs donné.

- la variable ptr11 permet d'accéder aux fichiers contenant les caractéristiques des instances qui constituent une combinaison donnée d'instances de même type.

Variables : chaine [20], svg_chaine [20], typ_op[20] : chaîne de caractères; num : entier;

ch_tmp[2] : chaîne de caractères;

/* Variables externes :

Début

head_operateurs variable qui pointe sur un élément de type OPERATEURS ; head_comb_typ_op variable qui pointe sur un élément de type COMB_TYP_OP;

head_instance variable qui pointe sur un élément de type INSTANCE; head_comb_ops variable qui pointe sur un élément de type COMB_OPS; Fin Déclaration des variables externes */

void inserer(OPERATEURS *);

void inserer2(COMB_TYP_OP *);

void inserer3(INSTANCE *);

create_lists ():

Variables : ptr : variable qui pointe sur un élément de type OPERATEURS ; ptr1 : variable qui pointe un élément de type COMB_TYP_OP ; ptr11 : variable qui pointe sur un élément de type INSTANCE ; fp : Pointeur de Fichier ;

ch : pointeur sur une chaîne de caractères;

temp [2] : chaîne de caractères ;

c : caractère ;

i : entier ;

nb_instances_bibl, nb_instances_systm : entier ;

DEBUT

Si ( Erreur d'ouverture du fichier DONNEES)

Alors Afficher (`'Erreur d'ouverture du fichier DONNEES») ; exit ;

Fsi

Tant que non fin du fichier DONNEES

Faire {

Lire le type d'opération ; // typ_op

Lire le nombre d'instances dans la bibliothèque ; Lire le nombre d'instances dans le système

Si (nb_instances_systm ? 0)

Alors {

Allocate (ptr) ;// Allocation de l'espace mémoire pour le pointeur ptr head_comb_typ:=0 ;

ptr-)operateur := contenu de la chaîne typ_op ; ptr-)next := 0 ;

ptr-)prev := 0 ;

ch :=adresse de chaine[0] ;

Pour (i :=1 jusqu'à nb_instances_bibl)

Faire {

temp := i ;

*ch++ := temp[0] ;

}

Ffaire

*ch := `\0' ;

ch:= adresse chaine[0] ;

num :=0 ;

//Faire appel a la fonction récursive t_arrgts () t_arrgts (ch, nb_instances_systm, 0, ptr1, ptr11) ; ptr-)head := head_comb_typ_op ;

inserer (ptr) ;

Fsi

}

FIN

Ffaire

LSHIFT

COMP

ADD

COMP6

COMP6

COMP6

ptr11

COMP1

COMP1

COMP1

ptr1

LSHIFT1

LSHIFT2

ptr11

LSHIFT7

ptr1

...

ptr

ADD1

ADD1

ptr11

ptr1

ADD4

ADD4

ADD1

ADD2

Figure 3.1 : Schéma des différentes listes chaînées.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore