Vous êtes sur la page 1sur 3

Institut Supérieur d’Electronique et de Année Universitaire 

: 2008-2009
Communication de Sfax Section : 1 T2I

Structures de Données et Algorithmique II


TP N° 3 : Les fonctions

Partie I : passage par valeur

Exercice 1 :
Ecrivez 4 fonctions permettent chacune d’effectuer les tâches suivantes :
- Une fonction Pair permettant de déterminer si N est paire ou non.
- Une fonction Somme_div permettant de calculer la somme des diviseurs de N.
- Une fonction Factorielle permettant de calculer la factorielle de N.
- Une fonction de type void Etoiles permettant d’afficher une ligne de 20 étoiles.

Ecrivez un programme principal permettant de saisir un entier N (N > 0). Ce programme fera appel
à ces 4 fonctions décris au-dessus. D’autre part, ce programme doit produire un affichage
identique à l’exemple proposé ci-dessous, en supposant que l’entier saisi au départ est égal à 6 :

******************************
Donnez N > 0 : 6
******************************
6 est pair
******************************
Somme_div ( 6 ) = 12
******************************
Factorielle ( 6 ) = 720
******************************

Exercice 2 :
Ecrivez une fonction qui calcule la puissance nième d’un réel x quelconque. Les paramètres de cette
fonction sont n et x et le résultat est xn. Ecrire un programme principal qui permet de saisir un réel
x et un entier n, tous les deux quelconques pour calculer et afficher xn.

Exercice 3 :
Ecrivez et testez une fonction permettant de convertir une lettre minuscule en une lettre majuscule
et vis et versa.

Ecrivez un programme principal qui lit un caractère et qui permet d’appeler la fonction.

Exercice 4 :
Ecrivez deux fonctions à un argument entier et une valeur de retour entière, permettant de
préciser, respectivement, si l’argument reçu est multiple de 2 ou multiple de 3.

Utilisez ces deux fonctions dans un programme principal qui lit un nombre entier et qui précise s’il
est :
- pair,
- multiple de 3,
- multiple de 3 et multiple de 6.

SDA II / TP N°3 / ISECS / Page 1 sur 3


Institut Supérieur d’Electronique et de Année Universitaire : 2008-2009
Communication de Sfax Section : 1 T2I

Partie II : Passage par adresse

Exercice 5 :
Ecrire une fonction Permute, avec passage d’arguments par adresse, permettant de permuter
deux entiers a et b.
Dans le programme principal main :
- Saisir deux entiers x et y.
- Permuter les valeurs de x et y en utilisant la fonction Permute.

Exercice 6 :
Ecrivez :
- une fonction de type void Saisie_V qui permet de saisir un vecteur V de 10 entiers,
- une fonction de type void Affiche_V qui permet d’afficher un vecteur V de 10 entiers,
- une fonction de type int Somme qui permet de retourner la somme des éléments de V,
- une fonction de type void Min_Max qui permet de trouver le minimum et le maximum des
éléments de V,
- une fonction de type int Occurrence qui permet de trouver l’occurrence d’une valeur x0 au
sein de V,
- une fonction de type void Ajout_V qui permet d‘incrémenter tous les éléments de V par 1.

Ecrivez un programme principal permettant d’appeler les 6 fonctions définies ci-dessus pour
effectuer les tâches demandées.

Exercice 7 :
Ecrivez :
- une fonction qui permet de calculer la longueur d’une chaîne donnée, sans utiliser les
fonctions de la bibliothèque string.h.
- une fonction qui permet d’afficher à l’ordre inverse une chaîne donnée.
- une fonction qui permet de convertir et les lettres minuscules en lettres majuscules et vice
versa dans une chaîne donnée.
- une fonction qui permet calculer le nombre d’occurrences d’un caractère donné au sein d’une
chaîne donnée.

Ecrivez un programme principal permettant de saisir une chaîne de caractère de taille maximale
100. Selon le choix de l’utilisateur :
- Afficher la chaîne à l’ordre inverse.
- Convertir les lettres minuscules en lettre majuscules et vis versa.
- Afficher le nombre d’occurrences d’un caractère donné.

Exercice 8 :
Ecrivez :
- une fonction de type void Saisie_M qui permet de saisir un matrice M de k lignes et n
colonnes.
- une fonction de type void Affiche_M qui permet d’afficher la matrice M,
- une fonction de type int Somme_D qui permet de retourner la somme de la diagonale de s
éléments de V.

Ecrivez un programme principal permettant d’appeler les 3 fonctions définies ci-dessus pour
effectuer les tâches demandées.

SDA II / TP N°3 / ISECS / Page 2 sur 3


Institut Supérieur d’Electronique et de Année Universitaire : 2008-2009
Communication de Sfax Section : 1 T2I

SDA II / TP N°3 / ISECS / Page 3 sur 3

Vous aimerez peut-être aussi