Ec19 20

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

UNIVERSITE IBN TOFAIL Année : 2019/2020

Faculté des sciences Filières : SMI


Département d’Informatique Semestre : 3
Kenitra

Algorithmique II
Examen final
Corrigé

Exercice 1 : (Sur 7 points)

Corrigé

A) Déclarations
Type Joueur = Structure
NomJoueur : Caractere[1..30]
DateNaissance : Entier[1..3]
Identité : Caractere[1..15]
ButsMarqués : Entier
Fin Structure
Type Equipe = Structure
NomEquipe : Caractere[1..20]
Lesjoueurs : Joueur[1..40]
NbPoints : Entier
NbMarqués : Entier
NbEncaissés : Entier
Fin Structure

Var PremiereLigue : Equipe[1..16]

B) Procédure Champion

Procedure Champion()
Var maxPoint : Entier
i, j, k : Entier
Debut
maxPoint i  PremiereLigue[1].NbPoints
j1
Pour (i  2 à 16) Faire
Si (PremiereLigue[i].NbPoints > maxPoint) Alors
maxPoint  PremiereLigue[i].NbPoints
ji
Sinon
X1  PremiereLigue[i].NbMarqués - PremiereLigue[i].NbEncaissés
X2  PremiereLigue[j].NbMarqués - PremiereLigue[j].NbEncaissés
Si (X1 > X2) Alors

1
ji
Fin Si
Fin Si
Fin Pour
Ecrire ("Le champion du Maroc est ", PremiereLigue[j]. NomEquipe)
Fin //Fin de la procedure

Exercice 2 : (Sur 8 points)


Corrigé :

Résultats d’application de la procédure Partition au tableau T donné par :


T = [8, 2, 6, 7, 1, 2, 6, 4]

ième itération jème itération i T[i] j T[j] B Affichage


1ère itération 1 8 2 2 Faux
2ème itération 1 8 3 6 Faux
3ème itération 1 8 4 7 Faux
ème
4 itération 1 8 5 1 Faux
ème
1ère itération 5 itération 1 8 6 2 Faux
6ème itération 1 8 7 6 Faux
ème
7 itération 1 8 8 4 Faux (1,1)
ère
1 itération 2 2 3 6 Faux
2ème itération 2 2 4 7 Faux
2ème itération
3ème itération 2 2 5 1 Faux
4ème itération 2 2 6 2 Vrai (2,6)
3ème itération 1ère itération 7 6 8 4 Faux

1. But de la procédure Partition

La procédure Partition permet d’afficher l’ensemble des couples d’indices du tableau T qui
sont sous l’une des deux formes suivantes :

a) (i, i) où 1≤i<N tel qu’il n’existe pas de j, 1≤i<j≤N avec T[i]=T[j]


b) (i, j) si T[i]=T[j] avec 1≤i<j≤N et il n’existe pas d’indice k tel que i<k<j et T[i]=T[k]

2. Complexité temporelle dans les pires des cas de la procédure Partition

Soit t(N) la complexité temporelle dans les pires des cas de la procédure Partition.
Le pire des cas est réalisé lorsqu’on passe (N-1) fois dans la boucle externe "Tant que".
Ceci se produit lorsqu’on a la propriété a) ci-dessus. Dans ce dernier cas, pour chaque
1≤i<N on passe (N-i) fois dans la boucle interne "Tant que", d’où :
𝑵−𝟏
[𝒕𝒄𝒐𝒎𝒑 + 𝟐 ∗ 𝒕𝒂𝒇𝒇𝒆𝒄𝒕 + 𝒕𝒂𝒅𝒅𝒊 + (𝑵 − 𝒊) ∗ (𝟒 ∗ 𝒕𝒄𝒐𝒎𝒑 +
𝒕(𝑵) = 𝒕𝒂𝒇𝒇𝒆𝒄𝒕 + ∑
𝒕𝒂𝒇𝒇𝒆𝒄𝒕 + 𝒕𝒂𝒅𝒅𝒊) + 𝟒 ∗ 𝒕𝒄𝒐𝒎𝒑 + 𝒕𝒂𝒇𝒇𝒊𝒄𝒉𝒂𝒈𝒆]
=𝟏

2
𝒕(𝑵) = 𝒕𝒂𝒇𝒇𝒆𝒄𝒕 + (𝑵 − 𝟏)
∗ (𝒕𝒄𝒐𝒎𝒑 + 𝟐 ∗ 𝒕𝒂𝒇𝒇𝒆𝒄𝒕 + 𝒕𝒂𝒅𝒅𝒊 + 𝟒 ∗ 𝒕𝒄𝒐𝒎𝒑 + 𝒕𝒂𝒇𝒇𝒊𝒄𝒉𝒂𝒈𝒆)
𝑵−𝟏

+ ∑(𝑵 − 𝒊) ∗ (𝟒 ∗ 𝒕𝒄𝒐𝒎𝒑 + 𝒕𝒂𝒇𝒇𝒆𝒄𝒕 + 𝒕𝒂𝒅𝒅𝒊)


𝒊=𝟏

Donc t(N) = C0 + C1 N+ C2*N2 = (N2)

Exercice 3 : (Sur 5 points)

Corrigé :

1. Valeur retournée par Inconnue(A, X, N), où N=5, X=13 et A=[4, 9,17, 5, 3] :


1er appel de la fonction Inconnue
i=N=4, X=13 et A=[4, 9, 17, 5], on a donc i1
On pose m1=Inconnue(A, X, 3)
On compare Abs(X-m1) à Abs(X-A[4]), Inconnue(A, X, 4) sera égal à :
m1 si Abs(X-m1) < Abs(X-A[4]) ; ou A[4], sinon
2ème appel de la fonction Inconnue
i=3, X=13 et A=[4, 9,17, 5], on a donc i1
On pose m2=Inconnue(A, X, 2)
On compare Abs(X-m2) à Abs(X- A[3]), Inconnue(A, X, 3) sera égal à :
m2 si Abs(X-m2) < Abs(X-A[3]) ; ou A[3], sinon
3ème appel de la fonction Inconnue
i=2, X=13 et A=[4, 9,17, 5], on a donc i1
On pose m3=Inconnue(A, X, 1)
On compare Abs(X-m3) à Abs(X-A[2]), Inconnue(A, X, 2) sera égal à :
m3 si Abs(X-m3) < Abs(X-A[2]) ; ou A[2], sinon
4ème appel de la fonction Inconnue
i=1, X=13 et A=[4, 9, 17, 5], on atteint le critère d’arrêt
D’où, Inconnue(A, X, 1) =A[1]=4

Par suite, m3=4. Comme Abs(X-m3) = 9 > 4= Abs(X-A[2]) alors Inconnue(A, X, 2)=A[2]=9
Par suite, m2=9. Comme Abs(X-m2) =4= Abs(X-A[3]) alors Inconnue(A, X, 3) = A[3]=17
Par suite, m1=17. Comme Abs(X-m1) =4 < 8 =Abs(X-A[4]) alors Inconnue(A, X, 4) =m1 =17
Finalement la valeur retournée par Inconnue(A, X, 4) =17

2. En analysant les calculs de effectués à la question 1, on en déduit que la fonction


Inconnue(A,X,i) retourne l’élément de A le plus proche de X.

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy