Algorithmique & Structures de données : Fiche TD n°3
Classe : Bachelor 1 | Année : 2024-2025 | Proposée par : M. DIFFOUO TAZO E.
Partie I : Procédures et fonctions
EXERCICE 1 : Écrire une procédure qui affiche la parité d’un nombre entier pris en paramètre.
EXERCICE 2 : Écrire une fonction qui calcule la somme des entiers compris entre i et j (j>i>0).
EXERCICE 3 : Écrire une procédure qui permet de classer par ordre croissant trois entiers a, b et c prix
en paramètre et affiche le maximum et le minimum.
EXERCICE 4 : a) Écrire une fonction récursive facto qui prend en paramètre un entier n positif, calcule
et affiche la factorielle de n.
b) Écrire une fonction comb qui prend en paramètre deux entiers n et p (n>p) positifs
et renvoie le nombre de combinaisons de p éléments parmi n en utilisant facto.
c) Écrire une fonction estDivisible qui prend en paramètre deux entiers a et b (a>b)
positifs et qui renvoie 1 si a est divisible par b et 0 sinon.
d) Écrire une fonction estPremier qui prend en paramètre un entier n positif et renvoie 1
si n est premier et 0 sinon en utilisant estDivisible.
Note : Un entier positif a est premier s’il n’admet pas de diviseur compris entre 2 et (a-1).
e) Ecrire une fonction récursive fibo qui prend en paramètre un entier n calcule et affiche
la suite de Fibonacci (un) définie par : u0=1 ; u1=1 ; un= un-1 + un-2 pour n>2.
EXERCICE 5 : On appelle palindrome un mot ou une phrase qui, lu de gauche à droite ou inversement,
de droite à gauche garde le même sens. Les mots : « radar », « elle », « ressasser » ou la phrase : « esope
reste et se repose » sont des palindromes. Écrire une fonction qui prend en paramètre une chaîne de
caractères et teste si elle est un palindrome. Elle retourne Vrai si c’est le cas et Faux sinon. (Vous pouvez
utiliser des tableaux)
EXERCICE 6 : Écrire une fonction récursive calculPgcd qui prend en entrée deux entiers a et b et
calcule et affiche leur PGCD.
Partie II : Les tableaux et les matrices
NOTE : La taille d’un tableau est une constante et doit être connue d’avance avant toute manipulation sur ce dernier.
EXERCICE 7 : Ecrire un algorithme qui saisit N éléments réels d’un tableau et qui affiche la somme de ces
éléments ainsi que sa moyenne, sa variance et son écart type.
EXERCICE 8 : Ecrire un algorithme qui affiche les éléments du triangle de pascal.
EXERCICE 9 : Ecrire un algorithme qui saisit un tableau de N réels et qui l’affiche de telle sorte que tous les réels
négatifs se retrouvent avant les réels positifs. Par exemple, l’algorithme affichera pour un tableau contenant -7 8 -4.2
6 3 -9 les valeurs suivantes : -7 -4.2 -9 8 6 3.
EXERCICE 10 : Ecrire un algorithme qui saisit un tableau d’entiers de taille N et qui l’affiche de telle sorte que
tous les entiers pairs se retrouvent avant les entiers impairs. Par exemple, l’algorithme affichera pour un tableau
contenant 7 4 7 8 4 6 3 9 6 les valeurs suivantes : 4 8 4 6 6 7 7 3 9.
EXERCICE 11 : Ecrire un algorithme qui lit 50 notes d’étudiants stockées dans un tableau et ajoute 2 aux notes
comprises entre 0 et 10 et 3 à celles comprises entre 10.5 et 20.
EXERCICE 12 : Ecrire un algorithme qui lit 1 nombre entier positif, converti et affiche sa représentation en base 2.
EXERCICE 13 : Ecrire une fonction qui prend en paramètre deux matrices de réels A et B toutes de taille 50 x 50 ;
évalue et retourne la somme de ces deux matrices.
EXERCICE 14 : Ecrire un algorithme qui lit un coefficient réel k et une matrice M d’entiers de taille n x m, calcul
et affiche le produit de M par k.
EXERCICE 15 : a) Ecrire une fonction qui prend en paramètre deux matrices M et N de réels de taille respective n
x m et m x p ; évalue et retourne le produit M*N.
b) Dans quel cas le produit N*M est-il possible ?
EXERCICE 16 : Ecrire un algorithme qui lit une matrice M d’entiers de taille n x m et affiche sa transposée.
(Transposée une matrice revient à transformer les lignes en colonnes et vis versa).
EXERCICE 17 : Ecrire un algorithme qui lit une matrice M d’entiers de taille 4 x 4, calcul et affiche le déterminant
et la matrice inverse de M.
Partie III : Les enregistrements
EXERCICE 18 : Soit la structure Info_Personne constituée par : le nom, le numéro de téléphone et le numéro
de carte bancaire. Ecrire un algorithme qui saisit puis affiche les enregistrements pour 3 personnes.
EXERCICE 19 : Ecrire un algorithme qui crée un tableau Tab_Emp qui contiendra les informations sur les 50
employés d’une entreprise (Un employé est caractérisé par : son Matricule, son Nom, son Salaire, son Etat_civil) ; le
remplit puis affiche le nombre d’employés donc le salaire est compris entre 50.000 et 200.000.
EXERCICE 20 : Un étudiant à KEYCE I&IA est caractérisé par son matricule, son nom, son prénom, sa date de
naissance (jour, mois, année), son sexe et sa classe.
1) Déclarez un enregistrement pour la structure étudiant.
2) Écrire un algorithme qui saisit puis affiche les enregistrements de deux étudiants.