Université Djilalli Liabes.
Algorithmique et structure des données
Faculté des sciences exactes.
• 1 ere année INFO.
Département des mathématiques • Fiche de TD N ˚5.
Les fonctions et procédures
Exercice 1:
Ecrire une procédure permet la permutation entre deux entiers (passage par adresse).
Exercice 2: "SOMME VECTEUR"
Ecrire un sous algorithme qui calcule la somme des éléments d'un vecteur V de nombres
réels de taille n (n<=50) a partir d'une position d jusqu'a f.
Ecrire un algorithme qui utilise le sous programme précédent pour calculer :
la somme de tous les éléments de V.
La somme des k premiers éléments de v.
La somme des éléments de V a partir d'une position p donnée.
Exercice 3:
1- Ecrire une procédure qui permet de calculer la somme des éléments d'une colonne
d'une matrice.
2- Ecrire une procédure qui permet de permuter deux colonnes d'une matrice.
3- Ecrire un programme qui utilise les procédures précédentes pour déterminer l'indice
de la colonne dont la somme des éléments est minimale et celui dont la somme est
maximale et permuter ces deux colonnes.
Exercice 4:
Ecrire une fonction booléenne qui cherche si une valeur existe ou non dans un vecteur
dont les éléments sont rangés dans un ordre croissant.
Exercice 5: "TRI par comptage"
- On considère un tableau de valeurs entières, on veut trier le tableau en utilisant la
méthode de tri par comptage. Ecrire la procédure correspondante.
Exp:
Vecteur a trier : 1|5|4| 3
Vecteur indices avant le tri : 0|0|0|0
Vecteur d'indice après : 0|3|2|1 (par exemple le 5 est plus grand que 3 valeurs (1,4 et
3))
Vecteur trie : 1|3| 4| 5
Exercice 6: Deux nombres entiers n et m sont qualifiés d'amis si la somme des diviseurs
de n est égal a m et la somme des diviseurs de m égal a n. (On ne compte pas comme
diviseur le nombre lui même et 1).
exp: 48 et 75 sont deux nombres amis :
La somme de diviseurs de 48 est 2+3+4+6+8+12+16+24=75
La somme des diviseurs de 75 est 3+5+15+25=48
- Ecrire un algorithme qi permet de déterminer si deux entiers n et m (n>1 et m>1)
sont amis ou non en utilisant le sous algorithme qui renvoie la somme de diviseurs d'un
nombre entier x (x>1).
Exercice 7:
Ecrire une fonction qui permet de calculer la nième puissance d'une valeur x et le
programme appelant (La version itérative et récursive ).
Exercice 8:
Ecrire une fonction récursive qui calcule le factoriel d'un entier n.
Exercice 9:
Ecrire une fonction récursive qui calcule le PGCD entre deux entiers.
Exercice 10:
A l'aide d'une fonction recursive, écrire un algorithme qui calcule le terme Un de la suite
de Fibonacci définit comme suit:
𝑈0 = 0
𝑈1 = 1
𝑈𝑛 = 𝑈𝑛 − 1 + 𝑈𝑛 − 2 𝑠𝑖 𝑛 ≥ 2
Exercice 11:
Réaliser une fonction de la recherche dichotomique en utilisant la récursivité.