Vous êtes sur la page 1sur 2

Section BTS DSI

Niveau 1ere Année

DEVOIR SURVEILLE EN
ALGORITHMIQUE Durée : 2heures
Questions de cours : 3pts
1. Quel type de mémoire utilise la récursivité ?
2. Qu’appelle-t-on la récursivité indirecte ?
3. Quelle est la structure d’un algorithme récursif dans le cas général ?

Exercice 1 : 2pts
Soit la fonction Mystère dont l’algorithme est ci-dessous :

,
Question : On considère la tableau T contenant la suite 5,9,7,3,12,15,0 et les variables
n=7,a=4, b=3, que va rendre alors l’appel de la fonction Mystère(T,n,a,b), que vont
contenir les variables a et b à la fin de l’appel ?
Attention : les paramètres a et b sont passés par référence. Toute modification de X
est donc une modification de a et toute modification de Y est une modification de b.

Exercice 2 : 2pts
Ecrire l’algorithme d’une fonction appelée « Diag » qui met à zéro les éléments de la
diagonale principale d’une matrice carrée A donnée. La fonction reçoit la matrice et
la dimension de la matrice en paramètres.
Exercice 3 : 4pts

Ecrire un programme qui lit une liste de Nb nombres, la range dans un tableau, la
décale d’un cran vers le haut, l’affiche, la décale d’un cran vers le bas puis l’affiche, le
programme doit être décomposé en 4 modules : saisie, affiche, decalerbas,
decalerhaut.
Ecrire un algorithme qui fait appel aux 4 modules précédemment définis.

1
Exercice 2 : 3pts
Soient les deux algorithmes suivants :

1. Quel est le type des deux algorithmes ci-dessus ?


2. Quelle est la relation entre les deux algorithmes ? Que déduisez-vous alors ?
3. Dans un programme principal, on appelle la fonction Pair(4), Tracez alors le
schéma des appels successifs et justifiez la valeur de retour ?

Exercice 4 : 4pts
1. Ecrire une fonction récursive deux_puiss(n en entier) qui calcule 2n avec n est un
nombre entier positif ou nul.

2. On utilise un tableau pour stocker un nombre binaire de 8 bits. Ecrire un


algorithme qui permet de saisir la valeur binaire et de calculer l’équivalent
décimal de ce nombre binaire. Dans cet algorithme faites appel à la fonction
deux_puiss (n) que vous avez définie dans la question 1 de l’exercice 4.

Exercice 5 : 2pts

Etablir la version récursive de l’algorithme qui calcule le Nième élément d’une suite
de Fibonacci : c’est une suite où un élément est la somme des deux précédents.
Excepté le premier FIBO(0) qui vaut 0 et le deuxième FIBO(1) qui vaut 1.

Vous aimerez peut-être aussi