1 ALGORITHME - PETEY CHAPITRE III : LES TABLEAUX I – Tableau de dimension Un ta

1 ALGORITHME - PETEY CHAPITRE III : LES TABLEAUX I – Tableau de dimension Un tableau est un regroupement de variables de même type, il est identique par un nom. Chacune des variables du tableau est numerotique, ce numéro s'appelle un indice. Chaque variable du tableau est donc caractérisée parle nom du tableau et son indice. Si par exemple, T est un tableau de10 variables, alors chacune d'elles sera numérotée et il sera possible de la retrouver en utilisant simultanément le nom du tableau et l'indice de la variable. Les différentes variables de T porteront des numéros de 1 à10, et nous appellerons chacune de ces variables un élément de T. Une variable n'étant pas un tableau est appelée variable scalaire, un tableau par opposition à une variable scalaire est une variable non scalaire. Un tableau est une structure qui rassemble, sous un même nom, un multi-ensemble de données. Dans la suite, nous supposons que toutes les données enregistrées dans un tableau sont homogènes, c’est­à­dire toutes de même type. Déclaration Comme les variables d'un tableau doivent être de même type, il convient de préciser ce type au moment de la déclaration du tableau. De même, on précise lors de la déclaration du tableau le nombre de variables qu'il contient. La syntaxe est: <type>: <nom> [<taille>] Par exemple, numérique : T[4] déclaré un tableau T contenant 4 variables de type numérique. On peut aussi le déclarer comme suit : Tableau <nom> [<taille>]:<type> Un tableau est défini par sa déclaration. Cette déclaration précise le nom du tableau, le numéro de la première et de la dernière case ainsi que le type de données qu’il contiendra. Autres syntaxes: Ainsi, pour le tableau de la figure ci-dessus, la déclaration est, par exemple : variable v : TABLEAU[ENTIER][1,30] Cependant, cette forme n’est pas obligatoire. Ainsi, par exemple, on trouve souvent, chez différents auteurs, la notation suivante : 2 ALGORITHME - PETEY variable v : TABLEAU[1 .. 30] d’ENTIER Cette notation imite les déclarations définies en langage PASCAL, par exemple. L’important est encore que la notation utilisée précise bien les différents éléments de la définition du table au. D’ailleurs, si ce n’était pas si verbeux, il serait tout aussi légitime d’écrire : variable v : tableau de 30 cases numérotées de 1 à 30 et recevant des entiers. La déclaration précise le nombre de cases en donnant les numéros de la première et de la dernière case. On peut aussi, par exemple, accepter la convention selon laquelle le numéro de la première case est toujours 1. Alors, le nombre de cases du tableau est le numéro de la dernière case et une déclaration de ta bleau avec ces conventions se simplifie en : variable v : tableau[entier][30] Certaines conventions donnent à la première case du tableau le numéro 0. Dans ce cas, la décl aration qui précède ne donne plus le numéro de la dernière case, mais le nombre de cases. Nous admettons qu’un tableau est une structure de données statique : après déclaration, le tableau ne peut plus être redimensionné pendant « l’exécution » de l’algorithme. Il est possible, là encore, de faire d’autres conventions et d’admettre que le nombre de cases d’un tableau peut évoluer, mais cela semble compliquer un premier apprentissage. Comme pour les chaînes de caractères, il est possible de donner à la première case un numéro entier quelconque. La seule contrainte est que le numéro de la dernière case doit lui être supéri eur. Accès aux éléments Les éléments d'un tableau en éléments sont indices de 1 à n. On note T[i] l'élément d'indice i du tableau T. Les quatre éléments du tableau de l'exemple ci-avant sont donc notes T[1], T[2], T[3]et T[4]. Exercice 15 Ecrire un algorithme qui déclare et remplit un tableau de 7 valeurs numériques en les mettant toutes à zéro. Exercice 16 Ecrire un algorithme qui déclare et remplit un tableau contenant les six voyelles de l’alphabet latin. Exercice 17 Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur. 3 ALGORITHME - PETEY Exercice 18 Que produit l’algorithme suivant ? Variable i : Entier Tableau Nb[6] : Entier Début Pour i ← 0 à 5 Nb[i]← i * i FinPour Pour i ← 0 à 5 Ecrire Nb[i] FinPour Fin Peut-on simplifier cet algorithme avec le même résultat ? Exercice 19 Que produit l’algorithme suivant ? Variables i, k : Entier Tableau N[7] : Entier Début N[0] ← 1 Pour k ← 1 à 6 N[k]← N[k-1]+ 2 FinPour Pour i ← 0 à 6 Ecrire N[i] 4 ALGORITHME - PETEY FinPour Fin Peut-on simplifier cet algorithme avec le même résultat ? Exercice 20 Que produit l’algorithme suivant ? Variable i :Entier Tableau Suite[8] :Entier Début Suite[0]← 1 Suite[1]← 1 Pour i ← 2 à 7 Suite[i]← Suite[i-1]+ Suite[i-2] FinPour Pour i ← 0 à 7 Ecrire Suite[i] FinPour Fin Exercice 21 Ecrivez la fin de l’algorithme 17 afin que le calcul de la moyenne des notes soit effectué et affiché à l’écran. Corrigés d’exercices Exercice 15 Algorithme : initialisation Variable i : entier Tableau Truc[7] : entier 5 ALGORITHME - PETEY Debut Pour i ← 0 à 6 Truc[i]← 0 FinPour Fin Exercice 16 Algorithme : tableau_voyelle variable Tableau Truc[6] : Caractère Debut Truc[0]← "a" Truc[1]← "e" Truc[2]← "i" Truc[3]← "o" Truc[4]← "u" Truc[5]← "y" Fin Exercice 17 Algorithme : note Variable i : Numérique Tableau Notes[9] : Numérique Pour i ← 0 à 8 Ecrire "Entrez la note numéro ", i + 1 Lire Notes[i] FinPour Fin 6 ALGORITHME - PETEY Exercice 18 Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25. Il les écrit ensuite à l’écran. Simplification : Algorithme : initialisation Tableau Nb[6] : Numérique Variable i : Numérique Début Pour i ← 0 à 5 Nb[i] ← i * i Ecrire Nb[i] FinPour Fin Exercice 19 Cet algorithme remplit un tableau avec les sept valeurs : 1, 3, 5, 7, 9, 11, 13. Il les écrit ensuite à l’écran. Simplification : Variables i, k : Numérique Tableau N[7] : Numérique Début N[0] ← 1 Ecrire N[0] Pour k ← 1 à 6 N[k] ← N[k-1] + 2 Ecrire N[k] FinPour Fin Exercice 20 Cet algorithme remplit un tableau de 8 valeurs : 1, 1, 2, 3, 5, 8, 13, 21 7 ALGORITHME - PETEY Exercice 21 Algorithme : moyenne Variable S : Numérique Tableau Notes [9] :Numérique Debut s ← 0 Pour i ← 0 à 8 Ecrire "Entrez la note n° ", i + 1 Lire Notes[i] s ← s + Notes[i] FinPour Ecrire "Moyenne :", s/9 Fin II. Tableau multidimensionnel I.1 Déclaration variable Tableau <nom> [<taille>] [<taille>]:<type> I.2 Autres syntaxes Pour déclarer un tableau composé, on déclare un tableau en précisant d’abord les numéros de la première et de la dernière ligne, puis les numéros de la première et de la dernière colonne. Ainsi, la matrice m ci-dessus est déclarée par : variable 8 ALGORITHME - PETEY m : TABLEAU[ENTIER][1,3][1,5] ou encore : variable m : MATRICE[ENTIER][1,3][1,5] ce qui définit une matrice composée de 3 tableaux simples de 5 composantes chacun, soit une matrice de 3 lignes et de 5 colonnes. Il est possible de déclarer de même un tableau de matrice s, une matrice de matrices… CHAPITRE IV: SOUS-PROGRAMMES I- LES PROCEDURES Il est souvent nécessaire, pour éviter d'écrire plusieurs fois le même code, de préparer des blocs de code prêts à l'emploi. Une procédure est un ensemble d'instructions. Chaque procédure à un nom, On se sert de ce nom pour exécuter les instructions contenues dans la procédure. Une procédure est donc un sous-programme constitué d’un ensemble d’instruction référencé par un nom, et donc l’exécution est provoquée par le simple énoncé du nom. Passage de paramètres 9 ALGORITHME - PETEY Les variables du programme appelant ne sont pas lisibles depuis un sous-programme. Mais si une procédure, pour s'exécuter, a besoin de la valeur d'une variable définie dans le programme appelant, on utilise pour la lui communiquer un mécanisme dit "passage de paramètres". Procedure afficheVariable (donnée numérique : monEntier) DEBUT Afficher "La valeur de l'entier passé en paramètre est", monEntier FIN La valeur contenue dans la variable monEntier est communiquée au sous-programme lors de l'appel de la procedure. Par exemple, AfficheEntier(3) va placer la valeur 3 dans la variable monEntier. Il et aussi possible de passer en paramètre une valeur contenue dans une variable. Par exemple, celle d'une variable A : Affiche Entier(A) La procedure suivante permute les valeurs des deux variables passées en paramètres: Procedure echange( x,y :numériques) Variable: numérique: temp DEBUT temp<-x x<-y y<-temp FIN On peut appeler cette procédure de la façon suivante: echange(A,B) Cependant, l'exécution de ce sous-programme laisse les valeurs de A et B inchangées, car x et y sont des copies de A et B. Les valeurs des copies sont échangées, mais les originaux ne sont pas affectés par cette modification. Si l'on veut passer en paramètres non pas les valeurs des variables, mais les variables elles-mêmes, il uploads/Industriel/ chapitre3-4algo-l1-ing-1.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager