Vous êtes sur la page 1sur 5

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Centre Universitaire Abdelhafid Boussouf - Mila
Institut des Sciences et de la Technologie
Département de Mathématiques Matière : Algorithmique et structure de données
et Informatique Date : 12/03/2022 Durée : 1h30

Concours d’accès à la formation de 3ème cycle (Doctorat LMD)


Filière : Informatique, Spécialités : VA, RSD, IAA

Corrigé Type : Sujet 01

Exercice 1 (04 Pts)

Début
//Déclaration de la chaine ADN de taille N
Ch : chaine de caractères
N : entier  longueur de Ch
// On utilise un tableau d’occurrence Tab[] avec indice 1 pour A, 2 pour C, 3 pour G et 4 pour T
Tab[][0, 0, 0, 0]
i : entier
Suivant le cas de Ch[1] Faire
"A" : Si ( Ch[1] ≠Ch[2]) Alors Tab[1] Tab[1]+1
1 pt
"T" : Si ( Ch[1] ≠Ch[2]) Alors Tab[2] Tab[2]+1
"C" : Si ( Ch[1] ≠Ch[2]) Alors Tab[3] Tab[3]+1
"G": Si ( Ch[1] ≠Ch[2]) Alors Tab[4] Tab[4]+1
Fin suivant

Suivant le cas de Ch[N] Faire


"A" : Si ( Ch[N] ≠Ch[N-1]) Alors Tab[1] Tab[1]+1
"T" : Si ( Ch[N] ≠Ch[N-1]) Alors Tab[2] Tab[2]+1 1 pt
"C" : Si ( Ch[N] ≠Ch[N-1]) Alors Tab[3] Tab[3]+1
"G": Si (Ch[N] ≠Ch[N-1]) Alors Tab[4] Tab[4]+1
Fin suivant

Pour i allant de 2 jusqu’à N-1 Faire


Suivant le cas de Ch[i] Faire
"A" : Si ( Ch[i] ≠Ch[i+1] et Ch[i] ≠Ch[i-1]) Alors Tab[1] Tab[1]+1
"T" : Si ( Ch[i] ≠Ch[i+1] et Ch[i] ≠Ch[i-1]) Alors Tab[2] Tab[2]+1 1.5 pt
"C" : Si ( Ch[i] ≠Ch[i+1] et Ch[i] ≠Ch[i-1]) Alors Tab[3] Tab[3]+1
"G": Si ( Ch[i] ≠Ch[i+1] et Ch[i] ≠Ch[i-1]) Alors Tab[4] Tab[4]+1
Fin suivant
Fin pour
Afficher ("Occurrence de A= Tab[1]", " Occurrence de C= Tab[2]" , " Occurrence de G= Tab[3]" , 0.5 pt
"Occurrence de T= Tab[4]" )
Fin

1/5
Exercice 2 (06 Pts)

Algorithme Triangle_Pascal
Var
Const M← 100 ;
𝑇[𝑀, 𝑀] ∶ 𝑇𝑎𝑏𝑙𝑒𝑎𝑢 d’entiers;
i,j: entier ;
𝑫[𝑀]: tableau d’entiers;
Début
//1
Pour 𝑖 ← 1 à M faire
Pour 𝑗 ← 1 à M faire ( 0.25)
Si (𝑗 = 1) alors ( 0.5)
𝑇[𝑖, 𝑗] ← 1 ; ( 0.5)
Sinon
𝑇[𝑖, 𝑗] ← 0 ( 0.5)
FinSi
FinPour
FinPour

//2
Lire (N) ;
Pour 𝑖 ← 2 à N faire
Pour 𝑗 ← 2 à i faire (0.5)
𝑇 [𝑖, 𝑗] ← 𝑇 [𝑖 − 1, 𝑗 − 1] + 𝑇 [𝑖 − 1, 𝑗]; ( 1.0)
FinPour
FinPour

//3
Pour 𝑖 ← 1 à N faire
𝐷[𝑖] ← 0; ( 0.25)
Pour 𝑖 ← 1 à N faire
Pour 𝑗 ← 1 à 𝑖 faire ( 0.5)
Pour 𝑘 ← 1 à N faire ( 0.5)
Si ((𝑖 − 𝑗) = (𝑘 − 1)) ( 1.0)
𝐷[𝑘] ← 𝐷[𝑘] + 𝑇[𝑖, 𝑗]; ( 0.5)
FinSi
FinPour
FinPour
FinPour
Fin

2/5
Exercice 3 (10 Pts)

Exercice 3 :
1. Fonction égale (L1, L2) : 2 points
Fonction égale (L1, L2 : liste) : booléen
C1, C2 : liste
Début
0.25
C1Nil ; C2Nil ;
0.25 0.25
Tantque C1 ≠ Nil ou C2 ≠ Nil et C1 -> ele = C2->ele faire

C1 C1-> suiavant ; 0.5


C2C2->suivant ;
Fintantque
Si C1 = Nil et C2 = Nil alors
Retourne vrai ;
0.75
Sion
Retourne faux ;
Fin si

2. Fonction somme (L1, L2) : 4.5 points

Procédure Ajouter (var L1 : liste, x : entier)


P : liste
Début
Pallouer (entier)
P->ele  x ; 0.25
P->suivant L;
LP
Fin

Fonction Miroir ( L : Liste) : Liste


M1, Courant : Liste
Debut
courant L ; M Nil; 0.25
Tant que courant ≠ Nil faire
Ajouter (L1, courant-> ele) ; 0.75
Courantcourant->suivant ;
Fintantque
Retourne M1 ;
Fin

3/5
Fonction somme (L1, L2 : liste) : entier

M1, M2, C1, C2 : liste

r, s : entier ;

Début

M1Miroir (L1) ; 0.25

M2Miroir (L2) ; 0.25

C1M1 ; C2M1 ; r0 ; 0.25

Tantque C1 ≠ Nil ou C2 ≠ Nil alors 0.25

Sr ; 0.25

Si C1 ≠ Nil alors

S S+C1->ele ; 0.5
C1 C1->suivant ;

Finsi

Si C2 ≠ Nil alors

S S+C2->ele ;
0.5
C2 C2->suivant ;

Finsi

Si S<2 alors
Ajouter (L3, S) ; 0.5
Sinon
Si s=2 alors
r1
0.5
Ajouter (L3, 0) ;
Sinon
R1 ;
0.5
Ajouter (L3, 1) ;
Finsi
Finsi
Fintantque
Retourne L3

Fin

3. La procédure Addition () : 3.5 points

Fonction binaire (x : entier) : entier


L : liste

4/5
Début
LNil ;
Si x=0 alors
Ajouter (L1, x); 0.25

Sinon
Tantque x ≠ 0 faire 0.25
Ajouter (L1, x mod 2) ; 0.25
x  x div 2 ; 0.25
Fintantque
Retourne L ;
Fin ;

Fonction décimal (L : Liste) : entier


c : liste ;
x, i : entier ;
Début
X0 ; i 0 ; 0.25
c miroir (L) ; 0.25
Tantque c ≠ nil faire 0.25
X X + c->ele * 2i; 0.25
Cc->suivant;
0.25
Fintantque
Retourne X ;
Fin

Procédure Addition ()
X1, X2 : entier ;
L1, L2 : liste
Début
Lire (X1, X2) ; 0.25

L1  binaire (X1) ; 0.25

L2 binaire (X2) ; 0.25


L3somme (L1, L2) ; 0.25
Sdécimal (L3) ;
0.25
Ecrire (S);
Fin

5/5

Vous aimerez peut-être aussi