Structurer ses données : les tableaux. Introduction à la programmation

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

Programmation Orientée Objet Java

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

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

Chapitre 2. Classes et objets

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Programmer en JAVA. par Tama

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

TP1 : Initiation à Java et Eclipse

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Utilisation d objets : String et ArrayList

Java Licence Professionnelle CISII,

Programmation en Java IUT GEII (MC-II1) 1

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

UE Programmation Impérative Licence 2ème Année

Java c est quoi? Java pourquoi?

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Solutions du chapitre 4

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

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

Premiers Pas en Programmation Objet : les Classes et les Objets

CONCEPTION ET IMPLANTATION DES SI PROJET : GESTION DU FOYER DE L ENIT

Cours 1: Java et les objets

LES TYPES DE DONNÉES DU LANGAGE PASCAL

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

as Architecture des Systèmes d Information

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Programme Compte bancaire (code)

Notions fondamentales du langage C# Version 1.0

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

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

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

Langage Java. Classe de première SI

Programmation Orientée Objet application au langage Java Version Novembre 2007

OCL - Object Constraint Language

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Introduction à la Programmation Parallèle: MPI

Chap III : Les tableaux

Introduction : les processus. Introduction : les threads. Plan

Une introduction à Java

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

TD/TP PAC - Programmation n 3

Introduction à la programmation concurrente

La technologie Java Card TM

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

OPTENET DCAgent Manuel d'utilisateur

Apprendre Java en 154 minutes

Cours 1 : La compilation

Java Licence Professionnelle CISII,

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

UML et les Bases de Données

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Conventions d écriture et outils de mise au point

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

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

ACTIVITÉ DE PROGRAMMATION

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

TP 1. Prise en main du langage Python

alg - Classes, instances, objets [oo] Exercices résolus

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

C++ - Classes, instances, objets [oo] Exercices résolus

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

PROGRAMMATION PAR OBJETS

Recherche dans un tableau

UE C avancé cours 1: introduction et révisions

Exercices sur les interfaces

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Les chaînes de caractères

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Cours Informatique Master STEP

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

Applet pour visualiser les variables «automate» notifiées

Arguments d un programme

Rappels Entrées -Sorties

Chapitre 10. Les interfaces Comparable et Comparator 1

INF 321 : mémento de la syntaxe de Java

Le langage C. Séance n 4

Définitions. Numéro à préciser. (Durée : )

UML (Diagramme de classes) Unified Modeling Language

Initiation. àl algorithmique et à la programmation. en C

COMPARAISONDESLANGAGESC, C++, JAVA ET

ALGORITHMIQUE ET PROGRAMMATION En C

Introduction. Introduction au langage Java. Un livre de Wikilivres.

I. Introduction aux fonctions : les fonctions standards

Introduction au langage C

GOL502 Industries de services

Guide du Consommateur

Transcription:

Structurer ses données : les tableaux Introduction à la programmation

Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2

Notion de type Classer les variables selon L'ensemble des valeurs que peut prendre la variable L'ensemble des opérations permises sur ces valeurs Motivations Clarté, lisibilité : mieux comprendre ce qui est fait Vérification : contrôle de type (à la compilation) Généricité : choisir le bon opérateur Efficacité : optimisation des opérations sur les valeurs Page 3

Classification Première classification types primitifs définis explicitement Deuxième classification Types élémentaires (atomiques) Types composés (tableaux et classes) types élémentaires composés Page 4

Types primitifs Tous prédéfinis, le programmeur ne peut pas en définir Types numériques entiers : byte, short, int, long réels : float, double Types non numériques boolean (deux valeurs "true" et "false") char Ne permettent pas de représenter des collections, des ensembles structurés de données... Page 5

Types composés Motivations Composer les types pour décrire des structures de données Type composé Construit à partir d'autres types Notion de composant - Type des composants - Organisation des composants - Accès aux composants Exemples : tableaux et classes Page 6

Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 7

Type composé Tableau Problème : modéliser un compte bancaire Solutions Solution 1 : mémoriser l état du compte à l aide d une variable solde - Vue ponctuelle du compte. Pas d historique. Solution 2 : garder trace de l ensemble des dépôts et des retraits (collection ordonnée) - Tableau listant toutes les opérations - 2 tableaux : 1 pour les débits, 1 pour les crédits Page 8

Tableau listant toutes les opérations Principe : 1 élément du tableau = 1 opération sur le compte bancaire Un dépôt = ajouter un élément au tableau des opérations avec une valeur positive Un retrait = ajouter un élément au tableau des opérations avec une valeur négative Solde = somme des éléments du tableau Page 9

Exemple État initial lesopérations 0 0 0 0 0 0 0 0 0 0 Déposer 500 Retirer 100 Déposer 200 lesopérations lesopérations 500 0 0 0 0 0 0 0 0 0 500-100 0 0 0 0 0 0 0 0 lesopérations Solde : 500 100 + 200 = 600 500-100 200 0 0 0 0 0 0 0 Page 10

Tableau de débits et tableau de crédits Principe : Un dépôt = ajouter un élément au tableau des dépôts avec une valeur positive Un retrait = ajouter un élément au tableau des retraits avec une valeur positive Solde = somme des dépôts somme des retraits Page 11

Exemple État initial Déposer 500 Retirer 100 déposer200 Solde : (500 + 200 ) - (100) = 600 lesdepots lesretraits lesdepots lesretraits lesdepots lesretraits lesdepots lesretraits 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 500 0 0 0 0 100 0 0 0 0 500 200 0 0 0 100 0 0 0 0 Page 12

Notion de tableau Caractéristiques Collection indicée d'éléments de même type Taille fixe : cardinal (Indice) Accès aux composants par indice indice 0 1 2 3 4 untableau 320 12 150 0 982 3ème élément : untableau[2] Page 13

Création d'un tableau tableau int [] untableau = new int [5] ; Type des composants nom de la variable Allocation de mémoire Taille du tableau mémorisée dans : untableau.length Dernier élément : untableau[untableau.length-1] Non modifiable untableau.length = 5 ; Page 14

Accès aux éléments d'un tableau nomdutableau[valeurdeindice] montableau[i] = 10; // i compris entre 0 et int x; x = montableau[i]; nbelt-1 Erreur classique : être en dehors des limites du tableau! Les indices débutent en 0 montableau 9 1 5 0 montableau.length - 1 Page 15

Création d'un tableau avec valeurs initiales int [] untableau = { 1, 2, 4, 8, 16 }; Indice 1 2 4 8 16 0 4 Taille du tableau : 5 indice de 0 à 4 Création du tableau Initialisation des éléments avec les valeurs spécifiées Page 16

Manipulation de tableau Somme des éléments d un tableau int indice, somme = 0 ; for ( indice = 0; indice < nbelt; indice++ ) { // traitement de l'élément à la position donnée par indice System.out.println("Entrez la valeur de l element " + indice); } montableau[indice] = Lire.i(); for ( indice = 0; indice < nbelt; indice++ ) { // traitement de l'élément à la position donnée par indice somme = somme + montableau[indice]; } System.out.println("la somme vaut : " + somme ); Page 17

Les comptes bancaires // Définition des variables double [] lesdepots = new double[5]; double [] lesretraits = new double[5]; int nombrededepots = 0; int nombrederetraits = 0; double montant; double sommedepots, sommeretraits, solde; // Faire un dépôt System.out.println("Entrez le montant du depot"); lesdepots[nombrededepots] = Lire.d(); nombrededepots ++; // Faire un retrait System.out.println("Entrez le montant du retrait"); lesretraits[nombrederetraits] = Lire.d(); nombrederetraits ++;.. CompteBancaire.java Page 18

Les comptes bancaires (suite) // calcul somme des depots sommedepots = 0; for ( int i=0; i < nombrededepots; i=i+1 ) { sommedepots = sommedepots + lesdepots[i]; } System.out.println("Somme des depots" + sommedepots); // calcul somme des retraits sommeretraits = 0; for ( int i=0; i < nombrederetraits; i=i+1 ) { sommeretraits = sommeretraits + lesretraits[i]; } System.out.println("Somme des retraits" + sommeretraits); solde = sommedepots sommeretraits ; System.out.println("Solde" + solde); CompteBancaire.java Page 19