PDF Google Drive Downloader v1.1


Report a problem

Content text TDs TPs EXAMENs STRUCTURES DES DONNEES FST-SETTET.pdf

S4 TDs TPs EXAMENs STRUCTURES DES DONNEES SMA-SMI-FST FST-SETTET 2019-2020 https://sites.google.com/site/saborpcmath/ COURS DE SOUTIEN SMPC SMAI ENSAM ENSA FST Résumé des cours, corrigé des exercices et des examens, pour les étudiants niveau universitaire ملخص شامل للدروس + تمارين شاملة + تصحيح المتحانات PHYSIQUE : Mécanique & Thermodynamique & Electricité & Optique & Electrocinetique & Electronique MATH : Analyse & Algèbre & Probabilité & Statistique CHIMIE : ORGANIQUE &ATOMISTIQUE&CRISTALLOCHIMIE THERMODYNAMIQUE ET CINETIQUE Veuillez nous contacter : 06-38-14-88-74 par whatsapp :06-02-49-49-25
Université Hassan 1er Faculté des Sciences et Techniques -Settat- Département : Mathématiques & Informatique Filière : Mathématiques – Informatique – Physique (MIP) Module : Structures de données en C Travaux dirigés no1 Exercice 1 : 1. Définir un type Date pour des variables formées d’un numéro de jour, d’un nom de mois et d’un numéro d’année. 2. Écrire la déclaration d’un type Fiche permettant de mémoriser les informations sur un étudiant : — son nom ; — son prenom ; — sa date de Naissance, de type Date ; — sa formation, représentée par deux lettres ; — s’il est redoublant ou non ; — son groupe de TD, représenté par un entier ; — ses notes, représentées par un tableau note d’au plus MAXNOTES reéls ; — un entier nbnotes indiquant le nombre de notes valides dans le tableau note. 3. Écrire des fonctions de lecture et d’écriture d’une variable de type Date. Dans un premier temps, on ne se préocupera pas de la validité de la date entrée. 4. Écrire les fonctions LireFiche et EcrireFiche de lecture et d’écriture d’une Fiche. Aucune note n’est entrée par la fonction LireFiche. 5. Écrire une fonction AjouteNote qui reçoit une Fiche et ajoute une note, si cela est possible. 6. Écrire une fonction Moyenne qui reçoit une Fiche et renvoie, si cela est possible, la moyenne des notes de l’étudiant. Exercice 2 : On cherche à gérer les produits d’un magasin à l’aide d’une application en C. Chaque produit est défini par un code (entier), une description (chaîne de caractères), le nom de son producteur (chaîne de caractères) et année de production (entier). Cette application doit satisfaire l’ensemble de fonctions présentées ci-dessous. 1. Définir la structure nommée Produit qui représente un produit donné. 2. Écrire une fonction void SaisieProduit(Produit produits[], int n) qui permet de remplir un tableau de n produits. 3. Écrire une fonction void afficherProduit(Produit produits[], int n) qui permet d’afficher la liste des produits enregistrés dans le tableau des produits. 4. Écrire une fonction char*chercherProduit(Produit produits[], int n, int code) qui permet de chercher dans le tableau des produits, un produit dont son code est donné en argument et retourner sa description. (On suppose que le code est unique pour chaque produit donné). 5. Écrire une fonction void ajouterProduit(Produit produits[], int *n) permettant d’ajouter un produit à la fin du tableau des produits. Pr. Said El Kafhali 1 A.U. 2019/2020
6. Écrire une fonction void triProdProduct(Produit produits[], int n) permettant d’afficher les produits classés par ordre alphabétique selon les noms de leurs producteurs. 7. Écrire un programme principal qui teste cette application. Exercice 3 : On souhaite classer par ordre alphabétique une liste de personnes dont on a stocké le nom et le prénom. On respecte les règles de classement suivantes : — les personnes sont classées suivant leurs noms de famille, — si deux personnes ont le même nom de famille, elles sont classées d’après leur prénom. La structure de données suivante permet de stocker les renseignements concernant une personne : typedef struct personne { char nom[30]; char prenom[30]; } personne; 1. Écrire une fonction changeChaine() qui met en majuscule le premier caractère d’une chaîne de caractères passée en paramètre et en minuscules le reste des caractères de cette chaîne ? 2. Écrire une fonction changePersonne() qui applique la conversion précédente aux champs d’une variable personne ? 3. Écrire une fonction int comparePersonnes(personne p1, personne p2) qui compare deux va- riables personnes comme indiqué dans l’énoncé. La valeur de retour de cette fonction aura la même signification que celle de la fonction strcmp() : — inférieur strictement à 0 si p1 est situé avant p2, — supérieur strictement à 0 si p2 est situé avant p1, — égale à 0 si p1 et p2 sont identiques. 4. On supposera que les champs nom et prenom ont d’abord été convertis comme à la question précédente. Ecrire une fonction echangePersonnes() qui échange les contenus de deux variables de type personne ? 5. Ecrire une fonction triPersonnes() qui trie un tableau de donnees de type personne comme indiqué dans l’énoncé (on utilisera le tri à bulles) ? Exercice 3 : 1. Écrivez une fonction short* allouerTableau(int taille) qui crée un tableau de type short et qui l’initialise en affectant la valeur 1 à chaque élément. La taille du tableau (nombre d’éléments) et passée à la fonction sous la forme d’un paramètre taille. La zone de mémoire correspondant au tableau doit être allouée dynamiquement. L’adresse de cette zone est renvoyée par la fonction grâce à l’instruction return. La fonction doit renvoyer NULL en cas d’erreur lors de l’allocation. 2. Pour l’affichage du tableau, définir une fonction void afficherTableau(short *tab, int taille). 3. Testez votre application depuis la fonction main, en affichant le contenu du tableau créé. Exercice 5 : Soit S la suite de Syracuse définit comme suit, tel que n est un entier naturel strictement positif :    S0 = n Sk = Sk−1 div 2 Si Sk−1 est pair Sk = 3 × Sk−1 + 1 Si Sk−1 est impair 1. Écrire une fonction qui teste la parité d’un nombre entier donné en paramètre. Cette fonction retourne 1 si le nombre passé en paramètre est pair, 0 sinon. 2. Écrire une fonction qui calcule la suite de Syracuse. 3. Écrire une fonction qui affiche les N termes de la suite de Syracuse. Pr. Said El Kafhali 2 A.U. 2019/2020
Exercice 1: #include #define MAXNOTES 10 // Question 1 typedef struct{ int jour; char mois[10]; int annee; }DATE; // Question2 typedef struct{ char nom[10]; char prenom[10]; DATE date_naissance; char formation[3]; char redoublant; int groupe; float notes[MAXNOTES]; int nbnotes; }FICHE; // Question 3 DATE LireDate(){ DATE date; printf("Enter une date "); scanf("%d %s %d", &date.jour,date.mois,&date.annee); return date; }

Related document

x
Report download errors
Report content



Download file quality is faulty:
Full name:
Email:
Comment
If you encounter an error, problem, .. or have any questions during the download process, please leave a comment below. Thank you.