M1102-TD3 Exercice1

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.

M1102-TD3 Exercice2

Ecrire la fonction find () de profil :

fonction find (Val : in entier , TabInt : in tableau_de entier) renvoie entier_naturel;

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 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 :

    ...
    pour (Nb variant_de 0 a N - 1)
    faire
        GenererEntierAleatoireJusquACeQuIlNeSoitPasDejaStocke;
        StockerLEntierAleatoireDansTabInt;
    ffaire
    ...

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 :

    ...
    tant_que (Nb < N)
    faire
        GenererEntierAleatoire;
        si (LEntierAleatoireNAppartientPasAuTableau)
            StockerLEntierAleatoireDansTabInt;
        fsi
    ffaire
    ...

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 :

  1. é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 ;
  2. écrire un algorithme qui :
    1. saisit le nombre d’éléments (N) du tableau ;
    2. déclare le tableau (N entiers) ;
    3. initialise le tableau avec des valeurs saisies au clavier ;
    4. affiche le tableau à l’aide de la procédure AfficheTabInt ().

M1102-TD2 Exercice2

Ecrire la procédure GenereTabInt () de profil

procedure GenereTabInt (TabInt : out tableau_de entier, N : in entier_naturel);

Cette procédure doit :

  1. redimensionner TabInt à N;
  2. saisir, un par un, les N éléments de TabInt.

Réécrire l’algorithme de l’exercice 1 en utilisant cette procédure.

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.