Section BTS Informatique
Niveau 1ere Année
1
DEVOIR SURVEILLE EN
ALGORITHMIQUE Durée : 2heures
Questions de cours : 5pts
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 ?
4. Sans le réécrire, expliquer le principe de l’algorithme de tri par insertion.
5. Faites le tourner (faites une simulation) sur un tableau contenant la suite d’entier 4,7,2,8,6,1,5
afin de trier le tableau en ordre croissant.
Exercice 1 : 2pts
Quel résultat produira l’algorithme suivant :
Tableau T[4,2] en Entier
Variables K,m en Entier
DEBUT
Pour (K=0 à 3) Faire
Pour ( m=0 à 1) Faire
T[k,m] = 2*k+m+1
FinPour
FinPour
Pour (K=0 à 3) Faire
Pour ( m=0 à 1) Faire
Ecrire T[k,m]
FinPour
FinPour
FIN
Exercice 2 : 2pts
Ecrire un algorithme qui remplit et affiche une matrice carré 8*8 avec un terme
constant d sur la diagonale et un autre terme constant t partout ailleurs.
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.
2
Exercice 4 : 3pts
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.
Exercice 6 : 2pts
Ecrire un algorithme qui permet de transposer (remplacer le contenu des lignes par le
contenu des colonnes) une matrice N*N.
Exemple : Soit une matrice [3,3] :
Matrice Initiale : 1 2 3 Matrice après Transposition :1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !