2017/2018
L1 : Algorithme et programmation
Travaux Dirigés
EXERCICE 1: Questions de cours
11 Trouver les types des données ci dessous :
1 43 'Vrai' 21.0 -100 4E-06 'Δ' Faux ‘10101’ 21.14192588
12 Evaluer les expressions :
a) A ← 5
iB ← 2
ECRIRE(A,’+’,iB)
ECRIRE(‘A+,iB’)
ECRIRE(A+iB)
b)
Evaluer l’expression suivante :
((nombreprop< >secret) ET (essai<5))
essai essai+1
sachant que nombreprop =100 essai =0; secret =1560
c) Intégrer la condition ci-dessus à la structure de contrôle tant que… et discuter de
conditions de sorties des itérations
d) Montrer en réécrivant la syntaxe qu'il est possible de transformer toute boucle 'pour' en structure de
contrôle 'tant que'.
13 Tracer l'algorithme en utilisant le tableau ci dessous pour 23 et 13, 7 et 3, 16 et 0
Algorithme Égypte Instruction x y p test
variable Lire(x,y) 23 13 - -
X,y,p :entier P 0
debut
lire(x,y)
p 0
tantque 0<y faire
si (y mod 2=0) alors
x 2*x
y y div 2
sinon
p p+x
y y-1
finsi
fintantque
ecrire(p)
finalgorithme
1/4
14 Le tableau ci-dessous représente le résultat d’un examen
Nom Age Note1 Note2 Note3 Moyenne Rang
Koffi Moïse 17 8.5 11 12
Alike Josué 16 5.0 17 08
Droh David 15 15 16.5 14.5
… … … … …
Déclarer la structure de données correspondante
15 Dans la liste des sous algorithmes ci dessous, identifier les fonctions et les procédures en proposant
une signature en algorithme (un prototype ou une entête):
(a) Le nombre d’étudiants ayant obtenu une moyenne supérieure à 10 dans une liste de classe.
(b) La remise à zéro de tous les éléments d'un tableau d'entiers t.
(c) Trier le tableau t.
(d) calculer la probabilité d'apparition de la face 6 dans 1000 lancer de dé
(e) Calculer et afficher la somme des n premiers entiers
(f) Repondre par oui ou non si un nombre fourni est multiple de trois
16 Trouver les erreurs dans l'algorithme et les corriger
1 ALGORITHME exemple5bis
2 VARIABLE a, b, c : reels
3 PROCEDURE Produit (x, y , z : reel): reel { paramètres }
4 DEBUT
5 z ←- x * y
6 FIN
7 DEBUR
8 Ecrire ('a b ? ')
9 Lire (a, 'b')
10 Produit (a, b, c); { passage de }
11 Produit (5, 10); { parametres }
12 Ecrire ('c = ', c, ' d = ', d);
13 FIN
EXERCICE 2 factoriel itératif et récursif
a) Ecrire un algorithme permettant de calculer factorielle n !. Transformer en fonction.
b) Soit l'exécution d'un programme factorielle (3)
fac 3 :
3 ne vaut pas 1, donc je continue
j'ai besoin de fac(n-1) : je calcule fac(2) :
2 ne vaut pas 1, donc je continue
j'ai besoin de fac(n-1) : je calcule fac(1) :
1 vaut 1, donc fac(1) renvoie 1
fac(1) vaut 1, donc fac(2) renvoie 2 * fac(1) = 2 * 1 = 2
fac(2) vaut 2, donc fac(3) renvoie 3 * fac(2) = 3 * 2 = 6
Quelle est la particularité de ce programme. Expliquer. Ecrire l'algorithme.
2/4
c) On veut écrire une fonction qui retourne n telle que n soit le premier entier qui vérifie 2^n >=k. La
fonction prend comme paramètre d’entrée k et retourne un entier. Elle n'utilisera ni logarithme ni
exponentielle.
On utilisera une fonction qui permet de calculer 2^n.
EXERCICE 3
a) En mathématiques, la méthode de Héron ou méthode babylonienne est une méthode efficace
d'extraction de racine carrée, c’est-à-dire de résolution de l'équation x2 = a, avec a positif. Elle porte le
nom du mathématicien Héron d'Alexandrie, qui l'expose dans le tome I de son ouvrage Metrica (Les
métriques), découvert seulement en 18961 mais certains calculs antérieurs, notamment égyptiens2,
semblent prouver que la méthode est plus ancienne.
Expliquer et écrire l algorithme
Tracer pour 3 , 8 et 25
b) Gregory–Leibniz series
The Gregory–Leibniz series
Utiliser cet formule pour trouver une valeur approchee de Pi grâce a un algorithme itératif.
EXERCICE 4
a) En utilisant la notion de fonction et de procédure ecrire les sous algorithmes ci dessous :
• recherche séquentielle
• recherche du Minimum
• tri sélection
Le tri à bulles n’est pas la seule La méthode de tri de tableau. Il en existe plusieurs comme la
méthode de tri par sélection dont le principe est le suivant:
On parcourt le tableau pour rechercher le plus petit élément. On le permute avec le premier
élément du tableau. On effectue le même traitement avec le tableau privé de son premier
élément. Et on répète l’opération jusqu’à ce que tout le tableau soit trié
• recherche dichotomique
Mettre en œuvre tous ces sous algorithmes dans un menu et les appeler dans un programma principal.
b) Ercire sous forme de fonction et de procedure le produit de matrices,
Problème : Comprendre le tri sous Excel
3/4
Le tableau ci-dessus montre les ventes d’une PME de vente de fruits et légumes pour le 1èr
trimestre 2013.
2.1 Ecrire la déclaration des variables permettant d’enregistrer ces données.
2.2 Ecrire la procédure avec paramètres pour calculer les totaux et les ranger dans le tableau.
2.3 Trier ce tableau en fonction du total par ordre décroissant et renseigner les rangs à l’aide
d’une procédure. Quel sera le nouveau contenu du tableau ?
2.4 Trier à nouveau le tableau en fonction du numéro pour retrouver la disposition de la
figure.
2.5 Ecrire une fonction pour calculer le chiffre d’affaire trimestrielle. ( de 2 manières
différentes)
2.6 Appeler les procédures et les fonctions dans un programme principal de la manière
suivante :
Initialisation
Calcul_totaux
Trier
Retour_tri
Chiffe_affaire
4/4