Documente Academic
Documente Profesional
Documente Cultură
Facult des
es sciences et techniques de Tanger
PARCOURS
MIPC II-1
Ralis par :
Farid ELMASSMOUDI
Omayssa AZOUZI
FST Tanger
Dpartement Informatiques
Sommaire
Introduction................................................................................................................................... 2
1.
3.
2.5.1.
2.5.2.
Conclusion ...................................................................................................................................... 8
F. ELMASSMOUDI O. AZOUZI
Page 1
FST Tanger
Dpartement Informatiques
Introduction
On dfinie dans ce mini projet la notion de la structure qui va
nous permettre de designer sous un seul nom un ensemble de
valeurs pouvant tre de types dfrents. On va utiliser la notion de
structure sous des formes diverses (en particulier les tableaux de
structure et leur initialisation, et aussi des structures sous des
formes simples).
On dfinie par typedef une nouvelle notion quon appelle en C
types synonyme qui sadresse au compilateur, il sert rendre le
programme plus lisible.
Enfin les fonctions avec des structure, et la transmission dune
structure en valeur de retour.
Aussi on propose ici des exemples de programmation classiques
ayant trait aux tris et en mme temps la fusion des tableaux (ici
les deux sous tableaux du mme tableau principal).
F. ELMASSMOUDI O. AZOUZI
Page 2
FST Tanger
Dpartement Informatiques
Dfinition
Un rpertoire est un ensemble des informations sur des contacts dont chaque
contact possde plusieurs informations comme le nom le prnom, adresse.
Pour classer les contacts on les stocker dans un tableau de structure.
1.2.
||
||
||
||
||
typedef struct
{
type 1 variable 1;
type variable ;
}
nomstructure;
numero_adresse,
Adresse;
code postale;
long
Adresse point;
}
Contact;
F. ELMASSMOUDI O. AZOUZI
Page 3
FST Tanger
1.3.
Dpartement Informatiques
En utilisant les fonctions on dfinie une fonction ajouter qui permet de saisir
tout les informations dun contact, cette fonction contient deux arguments, un
variable de modle contact, et un entier n qui reprsente le nombre des contactes
a ajouter, noter bien que cette fonction est de type v o i d, mais aussi on peut
nommer ce type contact. La fonction ajoute en langage C :
void AJOUT (contact lve)
{
int i;
for (i=0;i<n;i++)
printf (" Nom de contact : ") ;
scanf ("%s", eleve.nom) ;
1.4.
Laffichage des informations saisies se fait par la fonction printf, pour les
structures le format dlment dans printf scrit comme suite :
Printf ( %s , eleve.nom) ; loperateur . nous permet daccder aux
1.5.
type variable ;
Noter bien que contact est un nom de modle, tandis que lve est un tableau de
40 lments de type contact. La notation : lve[i].nom reprsente le nom de
contact de rang (position) i ; il sagit donc dune valeur de type char.
Donc pour chercher un contact on utilise les foncions : Consulter (Int indice) a
pour argument lindice de contact ; recherche (char nom) ; et la fonction
Re_Mul (char nom, char prnom,) plusieurs argument comme critres.
Dans les trois fonctions ; le principe cest de comparer les critres avec celles
contenu dans le tableau jusqu' trouver le contact recherch et lafficher.
F. ELMASSMOUDI O. AZOUZI
Page 4
FST Tanger
Dpartement Informatiques
void
{
Int i;
) ;
1.6.
int i=1;
if (i==indice)
Int i;
if(strcmp(eleve[i].nom,nom)==0)
lve[i] =lve [i+1] ;
Dfinition
La structure de programme
2.2.
typedef struct
{
char
F. ELMASSMOUDI O. AZOUZI
Page 5
FST Tanger
Dpartement Informatiques
long num ;
double solde;
}
2.3.
Compte ;
int
SAISIR ()
i; compte
T;
Printf("le nom:") ;
scanf("%s",T.nom) ; ;
return T ; }
2.4.
Pour lister les dbiteurs on utilise le numro de compte comme critre et ensuite
en fait lappel la fonction affiche pour montrer les infos correspond.
Or pour lister tous les comptes on na pas besoin de paramtre.
2.5.
return (i);
else
return -2;
Ce tri sert classer les lments de tableau par ordre dcroissant par
slectionner le premier lment comme maximum ; et on le compare avec
lnime lment, si le max inferieur t[i], on les permute :
F. ELMASSMOUDI O. AZOUZI
Page 6
FST Tanger
Dpartement Informatiques
PMAX=I;
for (J=I+1; J<N; J++)
if (A [J]>A [PMAX]) PMAX=J;
{AIDE=A [I]; A[I] = A[PMAX]; A[PMAX] = AIDE;}
3.2.
Le tri par bulle ou par propagation classe les lments de tableau par ordre
croissant, on comparant chaque lment avec le suive on permute si selon le cas.
for (i=0; i<*N; i++){
for (j=i+1; j<*N; j++){
if (*(T+i)>*(T+j)){
/***on fait la permutation*****/
Remarque : on utilise la deuxime boucle de rptition pour rpter lopration entre les lments
dj tries par la premire boucle. Ex : 421 ------ 2 4 1------- la 2eme boucle---- 214.
3.3.
3.4.
Tri rapide
Ce genre de tri aussi classe tous les lments par ordre croissant, utilisant un
pivot, on classe sa gauche les lments inferieurs et son droit les lments
suprieurs, et on rpte cette opration pour chaque partie de tableau.
3.5.
F. ELMASSMOUDI O. AZOUZI
Page 7
FST Tanger
Dpartement Informatiques
Conclusion
F. ELMASSMOUDI O. AZOUZI
Page 8