Algorithme et programmation

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Premier programme en C :
Initiation à la programmation et algorithmique cours 4
Portée des variables VBA & Excel
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
(Classes prédéfinies – API Java)
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
C.
Structures et unions types énumérés Qu'est-ce qu'une structure
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
Les attributions de valeur (le signe =). Dans cette présentation, nous allons tenter de représenter ce qui se passe dans la mémoire de lordinateur quand.
8. Les tableaux P. Costamagna – ISEN N1.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Structures de données linéaires
Récursivité.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Principes de programmation (suite)
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Classes abstraites et Interfaces
Langage Oriente Objet Cours 2.
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Structures de données IFT Abder Alikacem La classe vector Édition Septembre 2009 Département dinformatique et de génie logiciel.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
 Ecriture dynamique des Calques, des tableaux HTML
Une nouvelle structure de données : les tableaux
Manipulation de formulaires en Javascript
Principes de programmation (suite)
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 9 Les sous-programmes.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Standard Template Library
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
L’essentiel du langage C
Animateur : Med HAIJOUBI
Cours 7 Divers et exceptions. Chapitre V Enumeration, tableaux, conversion de types, noms.
Stocker plusieurs valeurs de même type dans une variable
LES PILES ET FILES.
Programmation en Java Tableaux NGUYEN Thi Minh Tuyen
La notion de type revisitée en POO
JavaScript.
Programmation objet La base.
Un survol du language C.
Les balises HTML et les objets JavaScript correspondants Objet document L'objet document est important dans la mesure ou il contient tous les objets du.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
 Syntaxe du langage PHP
Tutorat en bio-informatique
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Strings et Tableaux en Java
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Les types composés Les enregistrements.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Cours LCS N°4 Présenté par Mr: LALLALI
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 17 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
LES CLASSES ET LES OBJETS
Transcription de la présentation:

Algorithme et programmation Les tableaux

Définition d’un tableau Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Définition d’un tableau

Définition d’un tableau

Définition d’un tableau Objectif : Dès que l'on travaille avec de nombreuses données homogènes ( de même type) la première structure de base permettant le regroupement de ces données est le tableau.

Définition d’un tableau Les tableaux sont définis pour un certain type. Les tableaux C# sont indexés uniquement par des entiers et sur un intervalle fixe à partir de zéro. Lorsqu'une dimension a une longueur N, l'indice associé varie dans l'intervalle [ 0 , N – 1 ]

Définition d’un tableau Ci-dessous un tableau 'tab' à une dimension, de n+1 cellules numérotées de 0 à n : Il n'y a pas de mot clef spécifique pour la classe tableaux, mais l'opérateur symbolique [ ] indique qu'une variable de type fixé est un tableau. La taille d'un tableau doit obligatoirement avoir été définie avant que C# accepte que vous l'utilisiez !

Déclaration d’un tableau Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Déclaration d’un tableau Déclaration d'une variable de tableau, référence seule: int [] table1; string[] table2; double[] table3; Etc. Déclaration d'une variable de tableau avec définition explicite de taille : int [ ] table1 = new int [5]; float [ ] table3 = new float [8]; string [ ] tableStr = new String [9];

Déclaration d’un tableau Le mot clef new correspond à la création d'un nouvel objet (un nouveau tableau) dont la taille est fixée par la valeur indiquée entre les crochets. On peut aussi déclarer un tableau sous la forme de deux instructions : une instruction de déclaration et une instruction de définition de taille avec le mot clef new, la seconde pouvant être mise n'importe où dans le corps d'instruction, mais elle doit être utilisée avant toute manipulation du tableau.

Déclaration d’un tableau Déclaration et initialisation avec définition implicite de taille : int [ ] table1 = {17,-9,4,3,57}; float [ ] table3 = {-15.7f, 75, -22.03f, 3 ,57 }; string [ ] tableStr = {"chat","chien","souris","rat","vache"}

Déclaration d’un tableau

Propriétés d’un tableau Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Propriété d’un tableau Il existe en C# un attribut qui contient la taille d'un tableau uni-dimensionnel, quel que soit son type, c'est la propriété Length en lecture seule. Exemple: int [ ] table1 = {17,-9,4,3,57}; int taille; taille = table1.Length; // taille = 5

Utilisation d’un tableau Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Utilisation des tableaux Un tableau en C# s'utilise à travers une cellule de ce tableau repérée par un indice obligatoirement de type entier. Le premier élément d'un tableau est numéroté 0, le dernier Length-1. int table1 = new int[5]; table1[0] = 3; Console.WriteLine(table1[0]);

Utilisation des tableaux On peut assigner des valeurs ou des expressions du type général du tableau dans une cellule du tableau en utilisant l’index d’une cellule.

Les matrices et les tableaux multidimensionnels Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Les matrices et les tableaux multidimensionnels Les tableaux C# peuvent avoir plusieurs dimensions, ceux qui ont deux dimensions sont dénommés matrices (vocabulaire scientifique). Les matrices s'étendent aux tableaux de dimensions trois, quatre et plus. La déclaration s'effectue avec un opérateur crochet et des virgules, exemples d'une syntaxe de déclaration d'un tableau à trois dimensions : [ , , ] .

Les matrices et les tableaux multidimensionnels Déclaration d'une matrice, référence seule: int [ , ] table1; float [ , ] table3; string [ , ] tableStr; Déclaration d'une matrice avec définition explicite de taille : int [ , ] table1 = new int [5, 2]; float [ , ] table3 = new float [2;8]; string [ , ] tableStr = new String [3,9];

Les matrices et les tableaux multidimensionnels Exemple: int [ , ] table1 = new int [5, 2];

Les matrices et les tableaux multidimensionnels Exemple d'écriture de matrices de type int :

Les matrices et les tableaux multidimensionnels Dans le cas d'un tableau multidimensionnel, Length correspond au produit des tailles de chaque dimension d'indice :

Tableau déchiqueté ou en escalier Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Tableau déchiqueté ou en escalier Un tableau déchiqueté est composé de plusieurs tableaux unidimensionnels de taille variable. La déclaration s'effectue avec des opérateurs crochets [ ] [ ]… : autant de crochets que de dimensions.

Tableau déchiqueté ou en escalier Ci-dessous le schéma d'un tableau T à trois dimensions en escalier :

Tableau déchiqueté ou en escalier Pour fixer les idées, figurons la syntaxe des déclarations en C# d'un tableau d'éléments de type int nommé myArray bi-dimensionnel en escalier :

Tableau déchiqueté ou en escalier Dans le cas d'un tableau déchiqueté, le champ Length contient la taille du sous-tableau unidimensionnel associé à la référence.

Affectation et recopie de tableaux Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Affectation et recopie de tableaux Comme les tableaux sont des objets, l'affectation de références de deux tableaux distincts donne les mêmes résultats que pour d'autres objets : les deux références de tableaux pointent vers le même objet. Donc une affectation d'un tableau dans un autre t1 = t2 ne provoque pas la recopie des éléments du tableau t2 dans celui de t1.

Affectation et recopie de tableaux Clone( ) : méthode qui renvoie une référence sur une nouvelle instance de tableau contenant les mêmes éléments que l'objet de tableau qui l'invoque. (il ne reste plus qu'à transtyper la référence retournée puisque clone renvoie un type object).

Affectation et recopie de tableaux CopyTo ( Array t2, int long) : méthode de classe qui copie dans un tableau t2 déjà existant et déjà instancié, long représente l’indice du premier élément qui sera copié (si l'on veut une copie complète du tableau t1 dans t2, il suffit que long = 0).

Affectation et recopie de tableaux Attention: la recopie dans un autre tableau à travers les méthodes Clone ou Copy ne recopie que les références, mais pas les objets pointés, voici un "clone" du tableau t1 de la figure précédente dans le tableau t2 :

Affectation et recopie de tableaux

Affectation et recopie de tableaux int[] t = new int[10]; int[] t2 = new int[10]; for (int i = 0; i < 10; i++) t[i] = i; t.CopyTo(t2, 0);

Parcourir itératif de tableaux Plan Définition d’un tableau Déclaration d’un tableau Propriétés d’un tableau Utilisation d’un tableau Les matrices et les tableaux multidimensionnels Tableau déchiqueté ou en escalier Affectation et recopie de tableaux Parcourir itératif de tableaux

Parcourir itératif de tableaux Les instructions itératives for( …), while, do…while précédemment vue permettent le parcours d'un tableau élément par élément à travers l'indice de tableau. int[] t = new int[10]; int[] t2 = new int[10]; for (int i = 0; i < 10; i++) t[i] = i; t.CopyTo(t2, 0);

Parcourir itératif de tableaux Il existe une instruction d'itération spécifique foreach…in qui énumère les éléments d'une collection, en exécutant un ensemble d'actions pour chaque élément de la collection. int[] t = new int[10]; … foreach (int i in t) Console.WriteLine(i);

Parcourir itératif de tableaux Avantage : la simplicité d'écriture, toujours la même quelle que soit le type du tableau. Inconvénient : on ne peut qu'énumérer en lecture les éléments d'un tableau.

Conclusion Les tableaux permettent de rassembler une grande quantité de données dans une seule variable. Les propriétés et les méthodes associées. L’instruction foreach…in

Question Vous avez des questions?