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 vaut N)
.
Archives de Catégorie: M1102
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 Exercie1 Corrigé
[Algo]
procedure AfficheTabInt (TabInt : in tableau_de entier)
debut
pour (i variant_de 0 a taille(TabInt) – 1)
faire
afficher (TabInt [i], ” “);
ffaire
ligne_suivante;
fin
algorithme UtilisationDeAfficheTabInt
debut
declarer N : entier_naturel;
afficher (“entrer la taille du tableau : “);
saisir (N);
declarer TabInts : tableau_de N entier;
pour (i variant_de 0 a N – 1)
faire
afficher (“entrer la “, i, “eme valeur du tableau : “);
//saisir (TabInts [i]);
declarer Val : entier;
saisir (Val);
TabInts [i] <- Val;
ffaire
AfficheTabInt (TabInts);
fin
[/Algo]
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 Exercie2 Corrigé
[Algo]
procedure GenereTabInt (TabInt : out tableau_de entier, N : in entier_naturel)
debut
redimensionner (TabInt, N);
pour (i variant_de 0 a N – 1)
faire
afficher (“entrer la “, i, “eme valeur du tableau : “);
saisir (TabInt [i]);
/*declarer Val : entier;
saisir (Val);
TabInt [i] <- Val;*/
ffaire
fin
procedure AfficheTabInt (TabInt : in tableau_de entier)
debut
pour (i variant_de 0 a taille(TabInt) – 1)
faire
afficher (TabInt [i], ” “);
ffaire
ligne_suivante;
fin
algorithme UtilisationDeAfficheTabIntEtDeGenereTabInt
debut
declarer N : entier_naturel;
afficher (“entrer la taille du tableau : “);
saisir (N);
declarer TabInts : tableau_de entier;
GenereTabInt (TabInts, N);
AfficheTabInt (TabInts);
fin
[/Algo]
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 Exercie3 Corrigé
[Algo]
fonction GenereTabInt (N : in entier_naturel) renvoie tableau_de entier
debut
declarer TabInt : tableau_de N entier;
pour (i variant_de 0 a N – 1)
faire
afficher (“entrer la “, i, “eme valeur du tableau : “);
//saisir (TabInt [i]);
declarer Val : entier;
saisir (Val);
TabInt [i] <- Val;
ffaire
renvoie TabInt;
fin
procedure AfficheTabInt (TabInt : in tableau_de entier)
debut
pour (i variant_de 0 a taille(TabInt) – 1)
faire
afficher (TabInt [i], ” “);
ffaire
ligne_suivante;
fin
algorithme UtilisationDeAfficheTabIntEtDeGenereTabInt
debut
declarer N : entier_naturel;
afficher (“entrer la taille du tableau : “);
saisir (N);
declarer TabInts : tableau_de entier;
TabInts <- GenereTabInt (N);
AfficheTabInt (TabInts);
fin
[/Algo]
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.
M1102-TD2 Exercie4 Corrigé
[Algo]
procedure GenereTabInt (TabInt : in_out tableau_de entier)
debut
declarer Val : entier;
pour (i variant_de 0 a taille (TabInt) – 1)
faire
afficher ("entrer la ", i, "eme valeur du tableau : ");
saisir (Val);
TabInt [i] <- Val;
ffaire
fin
procedure AfficheTabInt (TabInt : in tableau_de entier)
debut
pour (i variant_de 0 a taille(TabInt) – 1)
faire
afficher (TabInt [i], " ");
ffaire
ligne_suivante;
fin
algorithme UtilisationDeAfficheTabIntEtDeGenereTabInt
debut
declarer N : entier_naturel;
afficher ("entrer la taille du tableau : ");
saisir (N);
declarer TabInts : tableau_de N entier;
GenereTabInt (TabInts);
AfficheTabInt (TabInts);
fin
[/Algo]
M1102-TD2 Exercice5
Ecrire la procedure GenereTabInt ()
de profil :
[Algo]procedure GenereTabInt (TabInt : in_out tableau_de entier, Min : in entier, Max : in entier);[/Algo]
Cette procédure doit générer un tableau le tableau TabInt
dont tous les éléments sont tirés aléatoirement entre les bornes Min
et Max
. Ensuite, réécrire l’algorithme de l’exercice 1 pour qu’il utilise cette procédure.
Remarque : pour générer un nombre aléatoire entre Min
et Max
, utiliser la fonction Rand ()
de profil :
[Algo]fonction Rand (Min : in entier, Max : in entier) renvoie entier;[/Algo]