Académique Documents
Professionnel Documents
Culture Documents
Corrigé type
Programmation Avancée
2023
Exercice 1:
1. Equation de récurrence :
𝑛2 𝑛 02 points
T(n)= Θ(𝑙𝑜𝑔 𝑛) + a T( 4 )+ Θ(n2)
𝑛
T(n)= a T( 4 )+ Θ(n2)
𝑛
(ii) lorsque a = 16; T(n)= 16 T( 4 )+ Θ(n2)
𝑛
(iii) lorsque a = 32; T(n)= 32 T(4 )+ Θ(n2)
Exercice 2:
1. Fonction récursive pour calculer le terme 𝒖𝒏
Fonction suite (n : entier) : entier ;
Début
Si n=0 alors
Retourner (0.8) ;
Sinon 02 points
Si n=1 alors
Retourner (1.2) ;
Sinon
Retourner (0.6*suite (n-1)* suite (n-2)) ;
Fin si ;
Fin si ;
Fin.
1
2. Fonction de programmation dynamique pour calculer le terme 𝒖𝒏
Exercice 3:
1. Comment rendre la somme de 263 dinars:
Pour rendre la monnaie sur 263 dinars, on choisie une pièce de 200, puis une pièce de
50, puis une de 10, de 2 et enfin une pièce de 1 dinars. 1 point
2
Algorithme rendre-pièces;
Var T : tableau[1..7] ;
somme, valeur, cpt, i, n : entier ;
Début
Lire (n) ;
Pour i allant de 1 à n Faire
Lire (T[i]) ; // T doit être trié
Fin
Lire (somme) ; 1.5 points
cpt ← 0;
TQ ( 𝐬𝐨𝐦𝐦𝐞 > 0 ) Faire
Valeur ← 𝑇[𝑛];
Si (valeur > somme) Alors
𝒏← 𝒏−𝟏
Sinon
Ecrire (’ la pièce à rendre est de ‘ , 𝑇[𝑛] , ′𝑑𝑖𝑛𝑎𝑟𝑠′) ;
somme ← somme − valeur;
cpt ← cpt + 1;
𝐅𝐢𝐧 𝐬𝐢;
Fin TQ ;
Ecrire (‘le nombre de pièces à rendre est’ ; cpt) ;
Fin.
3. Pour la somme 263 c’est la meilleure solution possible car l’algorithme glouton
choisit le minimum de pièces à rendre. En d'autres termes, on ne peut pas faire mieux. 1 point
Exercice 4:
- Donnez les étapes à suivre pour appliquer le Pattern Observer.
1 point
1. Création des interfaces Observables et Observateurs.
2. Tous les observateurs doivent implémenter l'interface Observateur.
3. L'objet Observable doit implémenter l'interface Observable.
4. L’observable doit gérer ses Observateurs (avoir une liste des observateurs
pour les mettre à jours)
5. Les observateurs doivent mettre à jours leurs interfaces graphiques.
- Expliquez le rôle de chaque composant dans le Modèle MVC. 1 point
3
1. Modèle: représentation des données manipulées par le programme (texte,
fichier mp3, etc.)
2. Vue: représentation(s) visuelle des données (vue 3D, tableau, texte, etc.)
3. Contrôleur: gestion de l’interaction (effets de la souris, du clavier, etc.)