Vous êtes sur la page 1sur 3

Institut Supérieur des études

Technologiques de Sfax

DEVOIR SURVEILLÉ
Département : Technologies de l’Informatique Date : Novembre 2018
Section : LMD – L1 – Semestre1 Documents : Non autorisés
Matière : Algorithmique et Programmation I Durée : 1H
Nb pages : 2
Enseignants : FRIKHA N., ABID S., ELLOUZE S. & ZRIBI L.

Exercice 1
L'acide désoxyribonucléique, connu sous le nom d’ADN, est l’information génétique de la
plupart des organismes vivants. Un fragment d'ADN (un gène) comprend la séquence codant
pour une protéine. L'ADN peut être considéré comme un long texte rédigé à l'aide de quatre
lettres qui sont les quatre bases : Adénine, Thymine, Cytosine et Guanine (A, T, C, G).
L'information génétique dépend de l'ordre des bases, c'est la séquence de l'ADN.

Ces bases sont complémentaires deux à deux et ne peuvent s'apparier qu'ainsi : Adénine
avec Thymine, Guanine avec Cytosine.

Ecrire un algorithme et le programme C correspondant qui permet de saisir une suite de


caractères, se terminant par une entrée (code ascii 13), composant un fragment d’ADN et
d’afficher pour chaque caractère son complément.
Exemple :
Si les caractères saisis sont CATGC, on aura la trace d’exécution suivante :
C-G
A-T
T-A
G-C
C-G
Algorithme Génétique
Var Ch : car
Début
Répéter
Lire(Ch)
Selon (Ch) Faire
‘c’, ‘C’ : Ecrire("C - G", chr(13))
‘g’, ‘G’ : Ecrire("G - C", chr(13))
‘a’, ‘A’ : Ecrire("A - T", chr(13))
‘t’, ‘T’ : Ecrire("T - A", chr(13))
Fin Selon
Jusqu’à (ord(Ch) = 13)

Exercice 2
Le but de cet exercice est d'afficher le triangle de Pascal en calculant ses coefficients
j
binomiauxC i . Le triangle de Pascal a la forme ci-dessous :

1/2
j
Un coefficient binomialC i se trouvant à la ligne i et la colonne j se calcule comme suite :
i!
C ij=
j ! (i − j ) !
De ce fait, le triangle précédent, ayant en entrée 5 lignes, aura alors les valeurs suivantes :
1
11
121
1331
14641

1- Ecrire une fonction Fact qui calcule la factorielle d’un entier x, sachant que : x!
=1*2*3*……*x et que 0!=1.
j i!
2- Ecrire une fonction CoefBinomial qui calcule le coefficient C i = en utilisant la
j ! (i − j ) !
fonction Fact. Cette fonction doit avoir i et j comme paramètres.
3- Ecrire une procédure AfficheLigne qui affiche tous les coefficients binomiaux d’une ligne k
donnée, c'est-à-dire les éléments : C 0k C 1k … Ckk
4- Ecrire une procédure AfficheTriangle qui affiche n lignes du triangle de Pascal.
5- Ecrire un algorithme qui permet de saisir un nombre de lignes n (minimum 3) par
l'utilisateur et qui affiche le triangle de Pascal correspondant.

1.
Fonction Fact(x : Entier) : entier
Var i, F : Enier
Debut
F  1
Pour i de 2 à x Faire
F  F*i
Fin Faire
Fact  F
Fin Fact

2.
Fonction CoefBinomial(i, j : Entier) : Réel
Debut
CoefBinomial  Fact(i) / (Fact(j)*Fact(i-j))
Fin CoefBinomial

3.
Procédure AfficheLigne( ent K : Entier)
Var i : Entier
Debut

2/2
Pour i de 0 à K Faire
Ecrire(CoefBinomial(K, i), " ")
Fin Faire
Ecrire(chr(13))
Fin AfficheLigne
4.
Procédure AfficheTriangle (Ent N : Entier)
Var l : Entier
Debut
Pour l de 1 à N Faire
AfficheLigne(l)
Fin Faire
Fin AfficheLigne

5.
//Algorithme principal
VAR N : Entier
DEBUT
Repeter
Ecrire("Donnez l’ordre du triangle de PASCAL : ")
Lire(N)
Jusqu’à (N>0)
AfficheTriangle(N)
FIN

3/2

Vous aimerez peut-être aussi