UVHC-ISTV Licence 2 semestre 3 : ALGO3 Fiche de TD 1 d’Informatique-algorithmiq
UVHC-ISTV Licence 2 semestre 3 : ALGO3 Fiche de TD 1 d’Informatique-algorithmique Exercice 1 On veut calculer la somme des n premiers termes de la série suivante : 1 + 1/ 1.5 + 1/ 2.25 + 1/ 3.375 + ... + 1/ (1.5)n 1- Ecrire un programme effectuant ce calcul en utilisant une boucle for. 2- Transformer la solution précédente en utilisant while puis do while . 3- Ecrire une fonction fex1 effectuant ce calcul, puis la fonction principale . Exercice 2 1- Ecrire une fonction nommée f1 se contentant d’afficher « Vive l’informatique » (elle ne possédera aucun argument ni valeur de retour) . 2- Ecrire une fonction nommée f2 qui affiche « Vive l’informatique» un nombre de fois égal à la valeur reçue en argument ( int ) et qui ne renvoie aucune valeur. 3- Ecrire une fonction nommée f3 qui fait la même chose que f2 mais qui de plus renvoie la valeur (int ) 1 si l’argument est strictement positif et 0 sinon . . 4- Ecrire un petit programme appelant successivement chacune de ces 3 fonctions après les avoir convenablement déclarées sous forme d’un prototype. Exercice 3 1- Ecrire une fonction qui reçoit 3 arguments (2 nombres réels et un caractère) et qui fournit un résultat correspondant à l’une des 4 opérations appliquées à ses deux premiers arguments en fonction de la valeur du dernier : + - * / . 2- Que faut-il faire pour tenir compte des risques de division par zéro. 3- Ecrire un petit programme ( main ) utilisant cette fonction pour effectuer les 4 opérations sur 2 nombres fournis en entrée. Exercice 4 1. Définir un type tableau de MAX réels (Tmax) où MAX est une constante. 2. Ecrire la fonction de lecture d’un tableau t de nb valeurs réelles ( nb supposé connu ). void lect1 ( Tmax t , int nb ) 3. Ecrire une autre fonction de lecture du tableau t où nb est à lire aussi. int lect2 ( Tmax t ) 4. Ecrire une fonction d’affichage des N valeurs du tableau en mettant 10 valeurs par ligne avec 2 digits décimaux ( cf poly une introduction au C) void affich ( Tmax t, int n ) 5. Ecrire une fonction tri de tri des valeurs du tableau ( ordre croissant) . void tri ( Tmax t , int nb ) UVHC-ISTV Licence 2 semestre 3 : ALGO3 Fiche de TD 2 d’Informatique-algorithmique Exercice 1 Soient 2 tableaux a et b de type Tab (tableau de 10 entiers) déclarés ainsi : Tab a , b ; Ecrire les 2 fonctions permettant de recopier, dans b, tous les éléments positifs de a, en complétant éventuellement a par des zéros : cas 1 : les éléments restent à la même place cas 2 : les zéros sont mis à la fin du tableau. Exercice 2 1- Définir un type Chaine de caractères. 2- Ecrire une fonction length qui calcule la longueur d’une chaîne ch. 3- Ecrire une fonction logique egal qui compare 2 chaînes de caractères ch1 et ch2. int egal ( Chaine ch1 , Chaine ch2 ) 4- Ecrire une fonction concat qui recopie la chaîne ch2 à la suite de la chaîne ch1 dans une nouvelle chaîne ch3 ( attention de bien reconstituer correctement la chaîne finale avec le caractère de fin ‘\0’) void concat ( Chaine ch1 , Chaine ch2 , Chaine ch3 ) 5- Ecrire le programme principal Exercice 3 : La notion de Structure en C La communauté européenne (CE) désire réaliser un outil informatique capable de manipuler des données géographiques concernant les 25 pays de la CE. Chaque pays est représenté par les informations suivantes :le nom du pays (chaîne de 25 caractères), le nom de la capitale (chaîne de 20 caractères), la superficie en km2 (entier) , la population en million d’habitants (réel), la monnaie locale (chaîne de 20 caractères). Exemple Nom Capitale superficie habitants monnaie a) Déclarer le type Pays. b) Ecrire une fonction Pays saisie1 ( ) permettant de saisir les données concernant un pays c) Ecrire une fonction void affiche (Pays p) permettant d’afficher les données concernant un pays p. d) L’ensemble des données sur les 15 pays européens est représenté par un tableau de type Pays15: typedef Pays Paysce [MAX] ; Ecrire une fonction saisie void saisie_ totale ( Paysce ce) utilisant la fonction saisie1 de la question 1 et permettant de saisir la totalité des données sur les 25 pays de CE. e) Ecrire une fonction void resultats1 ( Paysce ce) permettant de calculer et d’afficher les valeurs suivantes : la superficie totale des 15 pays de CE, la population totale de la CE, la densité moyenne (en nombre d’habitants/Km2) Exercice 4 facultatif Ecrire un sous-programme qui fusionne deux tableaux triés d’entiers ayant n1 et n2 valeurs en un troisième de taille à calculer. France Paris 550000 64.5 euro UVHC - Institut des Sciences et Techniques ISTV Licence Sciences, Technologies et Santé 2 semestre 3 TP d’Algorithmique et Programmation N° 1 Exercice 0 Se connecter dans l’environnement Linux ( identifiant et mot de passe ) , ouvrir la fenêtre terminal, lister ses fichiers et répertoires ( ls ), créer un répertoire Tpapri3 ( mkdir Tpapri3 ) , lister ( ls ) , changer de répertoire ( cd Tpapri3 ) , lister ce nouveau répertoire vide (ls) , lancer un éditeur ( gedit & ), enfin positionner les deux fenêtres sur votre écran pour occuper tout l’espace. S’habituer avec la souris à passer de la fenêtre Editeur à celle de Terminal. Exercice 1 #include<stdio.h> /* texte à saisir sous le nom tp1_ex1.c */ int length ( char ch [ ] ) { int i = 0; while ( ch[ i ] != ‘\0’) i ++; return i; } main ( ) { char chaine [ 80 ] ; printf (“entrer une chaine “) ; scanf ( “%s”, chaine); printf ( “\nlongueur de %s = %d\n”, chaine, length (chaine) ) ; } 1) Saisir sous éditeur puis dans la fenêtre Terminal lister ( ls ) et compiler ( cc ). cc -o tp1_ex1 tp1_ex1.c 2) S’il n’y a pas d’erreurs, exécuter ce programme pour différentes valeurs de n ./tp1_ex1 3) Saisir la fonction suivante et modifier le programme principal pour la tester. int egal ( char c1 [ ], char c2 [ ]) { int i =0, tmp=1 ; while ( tmp && c1[ i ] != ‘\0’ ) if (c1[i] !=c2[i] ) tmp =0 ; else i++ ; return tmp && c1[i] == c2[i]; } 4) Exécuter plusieurs fois le programme avec différentes chaînes. 5) Modifier le programme en introduisant une boucle POUR de 3 répétitions. 6) Rajouter la fonction concat vue en TD 2 et compléter le programme. Exercice 2 Soient 2 tableaux a et b de type Tab (tableau de MAX entiers) déclarés ainsi : Tab a , b ; 1. Ecrire les 2 fonctions permettant de recopier, dans b, tous les éléments positifs de a, en complétant éventuellement a par des zéros : cas 1 : les éléments restent à la même place cas 2 : les zéros sont mis à la fin du tableau. 2. Après avoir écrit deux sous-programmes de lecture et affichage, tester ces deux fonctions. 3. Ecrire un sous-programme qui fusionne deux tableaux triés d’entiers ayant n1 et n2 valeurs en un troisième de taille à calculer et retourner. 4. Compléter la fonction principale qui permettra de lire deux tableaux, les fusionner et les afficher. UVHC-ISTV Licence 2 semestre 3 : ALGO3 Fiche de TD 3 d’Informatique-algorithmique Exercice 1 : Les pointeurs Nous allons reprendre l’exercice précédent 3 du TD 2 en utilisant les pointeurs. a) Ainsi au lieu d’avoir dans la question b une fonction renvoyant un pays, nous allons utiliser un pointeur ppy sur un pays. La fonction saisie devient : void saisie2 ( Pays *ppy) Ecrire la fonction saisie2 b) Reprenant maintenant la question e de l’exercice 1, réécrire la fonction resultats1 en renvoyant les 3 résultats (superficie totale, population totale et densité) au lieu de les afficher. Exercice 2 : Les pointeurs Dans l’exercice 3 du TD1 nous avons écrit une fonction int operation ( float nb1, float nb2, char oper ) permettant de calculer le résultat de l’application de l’opérateur oper aux deux nombres nb1 et nb2. Réécrire une fonction permettant de calculer les 4 résultats nb1-nb2, nb1+nb2, nb1*nb2 et nb1/nb2 dans les variables pointées par les 4 paramètres résultats. Exercice 3 : Pointeurs et tableaux Reprendre dans la fiche 2 les exercices suivants en remplaçant le paramètre tableau par un paramètre pointeur sur ... 1- exercice 1 questions 2 et 3 - Ecrire une fonction length qui calcule la longueur d’une chaîne ch. - Ecrire une fonction logique egal qui compare 2 chaînes de caractères ch1 et ch2. int egal ( char * ch1 , char * ch2 ) - Ecrire une fonction concat qui recopie la chaîne ch2 à la suite de la chaîne ch1 dans une nouvelle chaîne ch3 ( attention de uploads/Geographie/ lic2-s3-td-pdf.pdf
Documents similaires










-
51
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 30, 2021
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.2737MB