Ecrire la fonction SaisirEntierSupX ()
qui renvoie un entier naturel saisi au clavier, supérieur à une valeur entière X
passée en troisième paramètre – les deux premiers paramètres sont les chaînes de caractères représentant l’invite de la saisie et le message d’erreur si la valeur saisie n’est pas supérieure à X
.
Archives du 10 août 2016
M1102-TD3 Exercice2
Ecrire la fonction find ()
de profil :
[Algo]fonction find (Val : in entier , TabInt : in tableau_de entier) renvoie entier_naturel;[/Algo]
Cette fonction renvoie l’indice de la première occurrence de Val
dans TabInt
. Pour cet exercice, on suppose que Val
est présent dans TabInt
.
En utilisant les sous-programmes que vous avez déjà vus, écrire un algorithme permettant de tester la fonction find ()
. Faire la trace de votre algorithme.
M1102-TD3 Exercice3
Ecrire la fonction find ()
de profil identique à celui de l’exercice 2. Pour cet exercice, on ne sait pas si Val
est présente dans TabInt
. Si Val
est présente, on renvoie l’indice de la première occurrence. Dans le cas contraire, on renvoie la taille de TabInt
.
En utilisant les sous-programmes que vous avez déjà vus, écrire un algorithme permettant de tester la fonction find ()
. Faire la trace de votre algorithme.
M1102-TD3 Exercice4
Reprendre l’exercice 3 en utilisant la technique des sentinelles.
M1102-TD3 Exercice5
On souhaite écrire le sous-programme GenereTabInt ()
. Celui-ci doit générer un tableau de N
entiers aléatoires distincts dans [1..M
] (M > N
). Dans cet exercice, à chaque itération, on va remplir un élément du tableau. L’algorithme de haut niveau est le suivant :
[Algo]
…
pour (Nb variant_de 0 a N – 1)
faire
GenererEntierAleatoireJusquACeQuIlNeSoitPasDejaStocke;
StockerLEntierAleatoireDansTabInt;
ffaire
…
[/Algo]
Ecrire l’algorithme qui teste GenereTabInt ()
.
M1102-TD3 Exercice6
On souhaite écrire le sous-programme GenereTabInt ()
. Celui-ci doit générer un tableau de N
entiers aléatoires distincts dans [1..M
] (M > N
). Dans cet exercice, à chaque itération, on va générer un nombre aléatoire, que l’on va ranger ou non dans le tableau. L’algorithme de haut niveau est le suivant :
[Algo]
…
tant_que (Nb < N)
faire
GenererEntierAleatoire;
si (LEntierAleatoireNAppartientPasAuTableau)
StockerLEntierAleatoireDansTabInt;
fsi
ffaire
…
[/Algo]
Ecrire l’algorithme qui teste GenereTabInt ()
.
M1102-TD2 Exercice1
Le but de cet exercice est d’afficher un tableau de N éléments. Pour cela :
- écrire la procédure AfficheTabInt () qui affiche tous les éléments du tableau d’entiers qui lui est passé en paramètre. Tous les éléments sont affichés suivis d’un espace ;
- écrire un algorithme qui :
- saisit le nombre d’éléments (N) du tableau ;
- déclare le tableau (N entiers) ;
- initialise le tableau avec des valeurs saisies au clavier ;
- affiche le tableau à l’aide de la procédure AfficheTabInt ().
M1102-TD2 Exercice2
Ecrire la procédure GenereTabInt ()
de profil
[Algo]procedure GenereTabInt (TabInt : out tableau_de entier, N : in entier_naturel);[/Algo]
Cette procédure doit :
- redimensionner
TabInt
àN
; - saisir, un par un, les
N
éléments deTabInt
.
Réécrire l’algorithme de l’exercice 1 en utilisant cette procédure.
M1102-TD2 Exercice3
Effectuer le même travail que dans l’exercice 2, en transformant la procédure GenereTabInt ()
en fonction, puis en réécrivant l’algorithme de l’exercice 1 pour qu’il utilise cette fonction.
M1102-TD2 Exercice4
Effectuer le même travail que dans l’exercice 3, en transformant la fonction GenereTabInt ()
en procédure ayant un unique paramètre donné-résultat (TabInt
), puis en réécrivant l’algorithme de l’exercice 1 pour qu’il utilise cette procédure.