Algorithme V : Les tableaux Laval Bellepierre 8 avril 2013 Laval Algorithme V : Les tableaux Tableaux à 1 dimension Définition Un tableau est une structure de donnée permettant de mémoriser plusieurs valeurs. Remarques 1 Tous les éléments d’un tableau ont le même type. 2 Un tableau est une variable complexe . 3 Un tableau se parcourt avec des boucles. 4 Un tableau est une suite finie d’éléments. Déclaration On utilise des crochets pour déclarer le tableau. Tableau[0..20] est un tableau de 21 éléments. Laval Algorithme V : Les tableaux Exemple avec un calcul de moyenne Algorithme calcul de moyenne Variables notes: tableau [1..12] d’entiers i,s: entier Début Afficher "Saisir la liste des 12 notes" Pour i de 1 à 12 Faire Saisir notes[i] s <- 0 Pour i de 1 à 12 s <- s+notes[i] afficher "Moyenne= ",s/12 Fin Laval Algorithme V : Les tableaux Syntaxe en java Déclaration sans valeurs initiales .... int[] notes = new int[11]; notes[3]=4 .... On initialise à la valeur 4 le troisième terme du tableau notes Déclaration avec valeurs initiales .... int[] notes = {3,12,15,11,19,8,14,16,12,14,13,14}; ... Notes[0]=3 Notes[5] vaut 8 Laval Algorithme V : Les tableaux La moyenne version java package test; import java.util.Scanner; public class Test { public static void main(String[] args) { int[] notes = new int[12]; int i,s; float m; Scanner clavier=new Scanner(System.in); for (i=0;i<12;i++){ System.out.println("Note de rang "+i); notes[i]= clavier.nextInt(); } s=0; for (i=0;i<12;i++){ s=s+notes[i]; } m=s/12; System.out.println("Moyenne = "+m); } } Laval Algorithme V : Les tableaux Tableaux à deux dimensions Le patinage Imaginez que dans une application qui gère une compétition de patinage artistique, nous ayons besoin de mémoriser les notes des candidats de chacun des 7 juges, afin de calculer les notes globales des candidats mais aussi afin de calculer les notes moyennes de chaque juge. Quelle structure de donnée utiliser pour cela ? Juges 1 2 3 4 5 6 7 Candidat 1 Un tableau à 2 Candidat 2 5 Candidat 3 dimensions. La note du candidats 2 par le juge 3 vaut 5. Le numéro des candidats correspond à l’indice de ligne et le numéro des juges correspond à l’indice de colonne. Laval Algorithme V : Les tableaux Tableaux à deux dimensions en algo Déclaration Notes : tableau[1..30,1..7] d’entiers Le tableau Notes est constitué de : - 30 lignes numérotées de 1 à 30 - 7 colonnes numérotées de 1 à 7 Manipulation Notes[2,27] <- 5 La note du candidats 27 par le juge 2 vaut 5. Laval Algorithme V : Les tableaux Tableaux à deux dimensions en java En java sans valeurs initiales int[][] monTableau = new int[5][6]; monTableau [1] [2] = 5; La valeur de ligne1 et de la colonne2 vaut 5. En java avec valeurs initiales int[][] monTableau = { {0,2,4,6,8},{1,3,5,7,9} }; System.out.println(monTableau [1] [3]); Laval Algorithme V : Les tableaux Tableaux à deux dimensions en java En java sans valeurs initiales int[][] monTableau = new int[5][6]; monTableau [1] [2] = 5; La valeur de ligne1 et de la colonne2 vaut 5. En java avec valeurs initiales int[][] monTableau = { {0,2,4,6,8},{1,3,5,7,9} }; System.out.println(monTableau [1] [3]); monTableau [1] [3] vaut 7. Laval Algorithme V : Les tableaux