Chapitre 3 Tableaux à plusieurs dimensions



Documents pareils
Cours d initiation à la programmation en C++ Johann Cuenin

TD3: tableaux avancées, première classe et chaînes

Utilisation d objets : String et ArrayList

Chap III : Les tableaux

Architecture des Systèmes d Information Architecture des Systèmes d Information

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Approche Contract First

Bases de programmation. Cours 5. Structurer les données

Cours 1: Java et les objets

STAGE IREM 0- Premiers pas en Python

TP : Gestion d une image au format PGM

Chapitre 2. Classes et objets

Java Licence Professionnelle CISII,

ACTIVITÉ DE PROGRAMMATION

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Traduction des Langages : Le Compilateur Micro Java

Langage Java. Classe de première SI

Programmation en Java IUT GEII (MC-II1) 1

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Premiers Pas en Programmation Objet : les Classes et les Objets

Introduction à MATLAB R

Généralités sur le Langage Java et éléments syntaxiques.

Plan du cours. Historique du langage Nouveautés de Java 7

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programme Compte bancaire (code)

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

ALGORITHMIQUE ET PROGRAMMATION En C

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

as Architecture des Systèmes d Information

Les structures. Chapitre 3

Puissances d un nombre relatif

1 Recherche en table par balayage

TP, première séquence d exercices.

Corrigé des exercices sur les références

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

EXCEL TUTORIEL 2012/2013

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Eole - gestion des dictionnaires personnalisés

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

PHP. PHP et bases de données

Introduction à JDBC. Accès aux bases de données en Java

TP1. Outils Java Eléments de correction

Java c est quoi? Java pourquoi?

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Recherche dans un tableau

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

TD/TP PAC - Programmation n 3

Plan du cours Cours théoriques. 29 septembre 2014

Programmer en JAVA. par Tama


03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

TP 1. Prise en main du langage Python

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

PROGRAMMATION PAR OBJETS

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Comment suivre l évolution d une transformation chimique? + S 2 O 8 = I SO 4

Python - introduction à la programmation et calcul scientifique

Bases Java - Eclipse / Netbeans

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Utilitaires méconnus de StrataFrame

LES DECIMALES DE π BERNARD EGGER

INITIATION AU LANGAGE JAVA

TD/TP PAC - Programmation n 3

Programmation par les Objets en Java

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Adama MBODJI MBODJ.SYSTEM

Initiation à l algorithmique

Travaux Dirigés n 1 : chaînes de caractères

Structure d un programme

Algorithmique et Programmation, IMA

TD : Codage des images

Perl Orienté Objet BioPerl There is more than one way to do it

Représentation d un entier en base b

Java DataBaseConnectivity

Cours d Algorithmique et de Langage C v 3.0

TD 1 - Structures de Traits et Unification

Solutions du chapitre 4

Évaluation et implémentation des langages

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

La Clé informatique. Formation Excel XP Aide-mémoire

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Programmation C++ (débutant)/instructions for, while et do...while

4. Groupement d objets

Programmation avec des objets : Cours 7. Menu du jour

Projet Active Object

Dis papa, c est quoi un bus logiciel réparti?

Transcription:

Chapitre 3 Tableaux à plusieurs dimensions Pascal Lando Faculté de mathématiques et d informatique Amiens http://www.laria.u-picardie.fr/~lando pascal.lando@u-picardie.fr 19 février 2007

Plan du cours 1 Introduction 2 Manipulation 3 Tableaux en Java 4 Bibliothèque MatricesReelles

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices 3 / 18

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices Statistiques 3 / 18

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices Statistiques Mots croisés 3 / 18

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices Statistiques Mots croisés Bataille navale 3 / 18

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices Statistiques Mots croisés Bataille navale Tableur 3 / 18

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices Statistiques Mots croisés Bataille navale Tableur Sudoku 3 / 18

Domaines d application Des tableaux à n dimensions, pour quoi faire? Gestion des matrices Statistiques Mots croisés Bataille navale Tableur Sudoku... 3 / 18

Définition Rappels... Définition Un tableau est une collection de variables (appelées cellules ou cases) accessibles directement à partir de leurs positions (indice ou suite d indices) dans le tableau. 4 / 18

Définition Rappels... Définition Un tableau est une collection de variables (appelées cellules ou cases) accessibles directement à partir de leurs positions (indice ou suite d indices) dans le tableau. Si un tableau est de dimension n, le i e indice se réfère à la i e dimension 4 / 18

Définition Rappels... Définition Un tableau est une collection de variables (appelées cellules ou cases) accessibles directement à partir de leurs positions (indice ou suite d indices) dans le tableau. Si un tableau est de dimension n, le i e indice se réfère à la i e dimension Le nombre de valeurs que peut prendre un indice dans une dimension = longueur (ou taille) de la dimension 4 / 18

Définition Rappels... Définition Un tableau est une collection de variables (appelées cellules ou cases) accessibles directement à partir de leurs positions (indice ou suite d indices) dans le tableau. Si un tableau est de dimension n, le i e indice se réfère à la i e dimension Le nombre de valeurs que peut prendre un indice dans une dimension = longueur (ou taille) de la dimension Attention! L indice d une dimension peut prendre des valeurs entre 0 et longueur 1... 4 / 18

Définition Tableau de tableaux... ~ ~ Remarque Un tableau à plusieurs dimensions peut être considéré comme un tableau de tableaux. 5 / 18

Déclaration Remarques La déclaration d un tableau à plusieurs dimensions précise et fixe : le nombre de dimensions du tableau ; 6 / 18

Déclaration Remarques La déclaration d un tableau à plusieurs dimensions précise et fixe : le nombre de dimensions du tableau ; le type des éléments à stocker dans le tableau. 6 / 18

Déclaration Remarques La déclaration d un tableau à plusieurs dimensions précise et fixe : le nombre de dimensions du tableau ; le type des éléments à stocker dans le tableau. Attention! Une fois définies, ces informations ne peuvent pas être modifiées. 6 / 18

Déclaration Syntaxe Deux possibilités de syntaxes, au choix : <type> <Nom> []...[] 7 / 18

Déclaration Syntaxe Deux possibilités de syntaxes, au choix : <type> <Nom> []...[] <type> []...[] <Nom> 7 / 18

Déclaration Syntaxe Deux possibilités de syntaxes, au choix : <type> <Nom> []...[] <type> []...[] <Nom> Dans tous les cas, la déclaration nécessite autant de [] qu il y a de dimensions... Exemples entier t[][] ; réel montab[][][] ; booléen [][]toto ; 7 / 18

Instanciation Remarques L instanciation a plusieurs objectifs : préciser la taille de chaque dimension ; 8 / 18

Instanciation Remarques L instanciation a plusieurs objectifs : préciser la taille de chaque dimension ; réserver de la mémoire dans l ordinateur pour «stocker» le tableau ; 8 / 18

Instanciation Remarques L instanciation a plusieurs objectifs : préciser la taille de chaque dimension ; réserver de la mémoire dans l ordinateur pour «stocker» le tableau ; fournir l endroit où est «placée» la mémoire réservée. 8 / 18

Instanciation Syntaxe Syntaxe créer <type> [<valeur>]...[<valeur>] 9 / 18

Instanciation Syntaxe Syntaxe créer <type> [<valeur>]...[<valeur>] La création (instanciation) doit mentionner autant de [<valeur>] qu il y en a dans la déclaration préalable du tableau. 9 / 18

Instanciation Syntaxe Syntaxe créer <type> [<valeur>]...[<valeur>] La création (instanciation) doit mentionner autant de [<valeur>] qu il y en a dans la déclaration préalable du tableau. L opération créer «retourne» un tableau qu il convient de stocker. 9 / 18

Instanciation Syntaxe Syntaxe créer <type> [<valeur>]...[<valeur>] Exemple La création (instanciation) doit mentionner autant de [<valeur>] qu il y en a dans la déclaration préalable du tableau. L opération créer «retourne» un tableau qu il convient de stocker. réel montab[][][] ; montab créer réel[5][3][7] ; 9 / 18

Manipulation Accès aux longueurs Soit tab un tableau à plusieurs dimensions. 10 / 18

Manipulation Accès aux longueurs Soit tab un tableau à plusieurs dimensions. tab.longueur représente la taille de la première dimension (nombre de lignes pour un tableau à deux dimensions). 10 / 18

Manipulation Accès aux longueurs Soit tab un tableau à plusieurs dimensions. tab.longueur représente la taille de la première dimension (nombre de lignes pour un tableau à deux dimensions). tab[0].longueur représente la taille de la deuxième dimension (nombre de colonnes pour un tableau à deux dimensions) : suppose que tab.longueur 0. 10 / 18

Manipulation Accès aux longueurs Soit tab un tableau à plusieurs dimensions. tab.longueur représente la taille de la première dimension (nombre de lignes pour un tableau à deux dimensions). tab[0].longueur représente la taille de la deuxième dimension (nombre de colonnes pour un tableau à deux dimensions) : suppose que tab.longueur 0. tab[0][0].longueur représente la taille de la troisième dimension : suppose que tab[0].longueur 0. 10 / 18

Manipulation Désignation d une case Syntaxe <Nom>[<indice>]...[<indice>] 11 / 18

Manipulation Désignation d une case Syntaxe <Nom>[<indice>]...[<indice>] Il y a autant de [<indice>] que de dimensions. 11 / 18

Manipulation Désignation d une case Syntaxe <Nom>[<indice>]...[<indice>] Il y a autant de [<indice>] que de dimensions. La valeur d un indice est comprise entre 0 et la longueur-1 de la dimension concernée. 11 / 18

Manipulation Désignation d une case Syntaxe <Nom>[<indice>]...[<indice>] Il y a autant de [<indice>] que de dimensions. La valeur d un indice est comprise entre 0 et la longueur-1 de la dimension concernée. Pour un tableau t à deux dimensions, on a donc t[i][j] avec : 0 i t.longueur-1 0 j [0].longueur-1 11 / 18

Manipulation Initialisation par extension Fonctionnement analogue à celui des tableaux à une dimension. Syntaxe <nomtab> créer <typetab>[][] { {val 1.1,...,val 1.m}, {val 2.1,...,val 2.m},... {val n.1,...,val n.m} } 12 / 18

Manipulation Initialisation par extension Fonctionnement analogue à celui des tableaux à une dimension. Syntaxe <nomtab> créer <typetab>[][] { {val 1.1,...,val 1.m}, {val 2.1,...,val 2.m},... {val n.1,...,val n.m} } Exemple matrice créer entier[][] { { 12, 0, 4, 6 }, //tableau [0] de int { 2, 4, 1, 1, 3, 5, 2 } //tableau [1] de int } 12 / 18

Traduction en Java Syntaxe Java En java, créer se traduit par new ; 13 / 18

Traduction en Java Syntaxe Java En java, créer se traduit par new ; longueur se traduit par length. 13 / 18

Traduction en Java Syntaxe Java En java, Exemple créer se traduit par new ; longueur se traduit par length. //Déclaration d un tableau de cha^ınes : String tableaudechaines[] ; //Initialisation du tableau : tableaudechaines = new String[3] ; tableaudechaines[0] = "janvier" ; tableaudechaines[1] = "février" ; tableaudechaines[2] = "mars" ; 13 / 18

Présentation La bibliothèque MatricesReelles Objectif : se créer une «boite à outils», à laquelle on pourra faire appel dès que le besoin de manipuler des matrices de nombres réels se manifestera. 14 / 18

Présentation La bibliothèque MatricesReelles Objectif : se créer une «boite à outils», à laquelle on pourra faire appel dès que le besoin de manipuler des matrices de nombres réels se manifestera. Quelques exemples de fonctions utiles : sans résultat affichage(réel[][] t) 14 / 18

Présentation La bibliothèque MatricesReelles Objectif : se créer une «boite à outils», à laquelle on pourra faire appel dès que le besoin de manipuler des matrices de nombres réels se manifestera. Quelques exemples de fonctions utiles : sans résultat affichage(réel[][] t) réel [][] saisie() 14 / 18

Présentation La bibliothèque MatricesReelles Objectif : se créer une «boite à outils», à laquelle on pourra faire appel dès que le besoin de manipuler des matrices de nombres réels se manifestera. Quelques exemples de fonctions utiles : sans résultat affichage(réel[][] t) réel [][] saisie() sans résultat remplaceparconstante(réel t[][], réel c) 14 / 18

Présentation La bibliothèque MatricesReelles Objectif : se créer une «boite à outils», à laquelle on pourra faire appel dès que le besoin de manipuler des matrices de nombres réels se manifestera. Quelques exemples de fonctions utiles : sans résultat affichage(réel[][] t) réel [][] saisie() sans résultat remplaceparconstante(réel t[][], réel c) réel [][] identité(entier n) (rappel : matrice carrée avec des 1 sur la diagonale et des 0 partout ailleurs) 14 / 18

Présentation La bibliothèque MatricesReelles Objectif : se créer une «boite à outils», à laquelle on pourra faire appel dès que le besoin de manipuler des matrices de nombres réels se manifestera. Quelques exemples de fonctions utiles : sans résultat affichage(réel[][] t) réel [][] saisie() sans résultat remplaceparconstante(réel t[][], réel c) réel [][] identité(entier n) (rappel : matrice carrée avec des 1 sur la diagonale et des 0 partout ailleurs) booléen recherche(réel t[][], réel x) 14 / 18

Exercices Initialisation Question Écrire une fonction qui permet d initialiser un tableau à deux dimensions t déjà instancié en mettant une même valeur donnée c dans toutes les cases. 15 / 18

Exercices Initialisation Question t x x t Écrire une fonction qui permet d initialiser un tableau à deux dimensions t déjà instancié en mettant une même valeur donnée c dans toutes les cases. n 15 / 18

Exercices Matrice identité Question Écrire une fonction qui, étant donné un entier n, retourne une matrice carrée n n égale à la matrice identité. 16 / 18

Exercices Matrice identité Question Écrire une fonction qui, étant donné un entier n, retourne une matrice carrée n n égale à la matrice identité. > 16 / 18

Exercices Recherche (1) Question Écrire une fonction qui, étant donné un tableau t à deux dimensions et un réel x, indique si la valeur x est présente ou non dans t. 17 / 18

Exercices Recherche (2) 18 / 18