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 Exercie1 Corrigé

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

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 Exercie2 Corrigé

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

M1102-TD2 Exercie3 Corrigé

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

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é

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

M1102-TD2 Exercice5

Ecrire la procedure GenereTabInt () de profil :

procedure GenereTabInt (TabInt : in_out tableau_de entier, Min : in entier, Max : in entier);

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 :

fonction Rand (Min : in entier, Max : in entier) renvoie entier;