ELBILIA SUP Année scolaire : 2003/2004
Section : BTS-GI
Classe : 1ère Année
Responsable : Mme ANOUAR
DEVOIR SURVEILLE EN
ALGORITHMIQUE
Durée : 2heures
Questions de cours : ............................................................................................................ 6pts
1
1
1.
..
Expliquez par un exemple la différence entre le passage des paramètres par valeur et
par référence.
2
2
2.
..
Quel type de mémoire utilise la récursivité ? Quelle est la structure d’un algorithme
récursif dans le cas général ?
Exercice 3: ............................................................................................................................. 3pts
Ecrire un algorithme qui permette à l’utilisateur de supprimer une valeur d’un tableau
préalablement saisi. L’utilisateur donnera l’indice de la valeur qu’il souhaite supprimer.
Attention, il ne s’agit pas de remettre une valeur à zéro, mais de la supprimer du tableau lui
même.
Exemple :
Tableau initial :
12
8
4
45
64
9
2
7
Si l’utilisateur désire supprimer la valeur d’indice 4, le nouveau tableau qui sera de dimension
égale à la dimension du tableau initial moins 1 donnera :
Tableau final :
12
8
4
9
2
7
Indication :
L’algorithme devra copier dans le deuxième tableau toutes les valeurs du premier tableau sauf
celle à supprimer
Exercice 4 : ------------------------------------------------------------------------------------------ 3pts
1. Ecrire une fonction récursive deux_puiss(n en entier) qui calcule 2n (en utilisant
seulement le produit) 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.
Exercice5 : -------------------------------------------------------------------------------------------- 2pts
Ecrire une fonction calculant la somme de deux matrices dont les éléments sont de type double. Les adresses
des trois matrices et leurs dimensions (communes) seront transmises en argument.
Exercice 2
Ecrire un programme qui met à zéro les éléments de la diagonale principale d'une matrice
carrée A donnée.
Exercice6 : ---------------------------------------------------------------------------------------------------------- 5pts
a. Ecrire un algorithme qui permet la saisie d’une note et son affichage. Afficher en plus un
message d’avertissement si la note est en dessous de la moyenne.
b. Ajouter à l’algorithme précédent une vérification de la note (nombre compris entre 0 et
20), une note incorrecte ne doit pas être affichée ( afficher un message d’erreur si note
incorrecte)
c. Ecrire un algorithme qui permet de :
Lire N notes,
Compter le nombre de notes incorrectes ;
Compter le nombre de notes <10 ;
De calculer la moyenne de notes correctes
Exercice 1 : ........................................................................................................................ 2pts
Dans les séquences suivantes x, y et z sont trois variables numériques :
Pour chacune de ces séquences, donner les valeurs après exécution de X, Y et Z si l’on
suppose qu’à l’état initial ces variables ont les valeurs :
X=1 ; Y = 3 ; Z = 1
Exercice 4 : ------------------------------------------------------------------------------------------------------------ 4pts
On donne en entrée d’une procédure un tableau de N éléments de type entier. Donner
l’algorithme de la procédure Double qui pour chaque élément du tableau affiche cet élément
si son double (au sens mathématique x : 2x) est aussi présent dans le tableau. Les éléments
sont rangés dans un ordre aléatoire à l’intérieur du tableau. Le tableau est considéré comme
intégralement rempli.
Exemple :
1 16 2 4 6 8
Éléments dont les doubles sont présents :
1, 2, 4, 8
Exercice5 : -------------------------------------------------------------------------------------------- 2pts
Ecrire une fonction récursive S(n) qui calcule la somme des n premiers entiers, n étant un
entier positif donné.
Exercice 2 : ------------------------------------------------------------------------------------------------------------ 3pts
Ecrire un algorithme qui remplit et imprime une matrice carré 8*8 avec un terme constant d
sur la diagonale et un autre terme constant t partout ailleurs.
Exercice 6 : ------------------------------------------------------------------------------------------ 3pts
Séquence 1
SI (((x < 5) OU (y > 2)) ET ( Z > 3)) alors
X = 1
SI ((Z-Y) >0) alors
Z = 0
FinSi
Y = Y+Z
SINON
X = 2
Z = Y+Z
FinSi
Séquence 2
SI ((x < 5) OU ((y > 2) ET ( Z > 3)) alors
X = 1
SI ((Z-Y) >0) alors
Z = 0
FinSi
Y = Y+Z
SINON
X = 2
Z = Y+Z
FinSi
Ecrire un programme qui lit deux tableaux A et B et leurs dimensions N et M au clavier et qui ajoute
les éléments de B à la fin de A.
Exercice 6 :
Etablir la version récursive de l’algorithme qui calcule le Nè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 (F0) qui vaut 0 et le deuxième (F1) qui vaut 1.
1 / 3 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 !