Principes de programmation (suite)

Slides:



Advertisements
Présentations similaires
Rappels C.
Advertisements

Cours n° 1 Présentation du langage C++
Calculs de complexité d'algorithmes
Page 1 Déboguer un programme Java Jacques Lonchamp.
L’ interruption de boucle
C.
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.
8. Les tableaux P. Costamagna – ISEN N1.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Algorithme et programmation
Initiation à la programmation et algorithmique cours 3
1)Boucle for 2)Boucle while
Principes de programmation (suite)
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Principes de programmation (suite)
Algorithmique et Programmation
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
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 Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000
Révision des notions OO et Java Semaine 1 Jian-Yun Nie.
Une nouvelle structure de données : les tableaux
Les itérations (boucle) Les routines Les Fonctions
Introduction au paradigme orienté-objet (suite)
Présentation Structures de Données et TDA
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
Points importants de la semaine La représentation cachée. Les enregistrements.
Instruction sélective switch-case Instruction répétitive do-while For
Principes de programmation
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.
Partie II Sémantique.
ECP – Option SA Henri Fallon
Plan troisième cours Instruction sélective Instruction répétitive
Programmation Orienté Objet en C++ Ricard julien.
Plan cours La notion de pointeur et d’adresse mémoire.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
L’essentiel du langage C
Stocker plusieurs valeurs de même type dans une variable
2.1 - Historique Chapitre 2 : Introduction au langage C++
Le langage C Rappel Pointeurs & Allocation de mémoire.
4 Introduction des objets. Les chaînes et tableaux
Paradigmes des Langages de Programmation
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Programmation en Java Tableaux NGUYEN Thi Minh Tuyen
SIF-1053 Architecture des ordinateurs
Les structures répétitives en PHP Réfs : manuel p 317.
Cours n° 1 Présentation du langage C++
 Syntaxe du langage PHP
ISBN Chapitre 10 L'implémentation des sous- programmes.
UMR 7619 Sisyphe Avril 2012 Alexandre Pryet Le langage une introduction pragmatique Cacul itératif.
Cours LCS N°4 Présenté par Mr: LALLALI
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
CNAM : NST Cours 2 Points abordés lors de la séance : Construction d une librairie de programme (planck.llb) enregistrement d un sous programme.
Introduction à la programmation (420-PK2-SL) cours 11 Gestion des applications Technologie de l’information (LEA.BW)
Philippe Gandy – 17 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
LES TABLEAUX EN JAVA.
Quiz C++ Les variables & les boucles.
Transcription de la présentation:

Principes de programmation (suite) Rappel Tableaux Langage Java Boucle for Références Définition et utilisation des tableaux

Tableaux v1 v2 v3 ... vn C’est un contenant de données du même type On peut le considérer lui-même comme un type Catégorie de données Suite de variables du même type, consécutives en mémoire, accessibles par un indice (numéro) Limite Nombre de variables consécutives Opérations Accéder à une variable Toutes les autres opérations sont des fonctions du langage ou elles doivent être définies par le programmeur (comparer, copier, fouiller, ajouter, retirer, etc.) Représentation graphique 1 2 3 ... n v1 v2 v3 ... vn

LA BOUCLE FOR

For (très utile pour les tableaux) C’est comme un while optimisé pour les boucles dont on connaît le nombre de fois à itérer for (initialisation;expression booléenne;itération ){ Instructions } Exemple for : On peut aussi faire : for (int i = 1; i <= 10; i++) int i; for(i=1; i<=10; i++) { //traitement }

LES REFERENCES

Références Les variables de type primitif ne sont pas des références. Exemple : int x = 5; x Une référence est une variable dont le contenu fait référence à un emplacement mémoire différent, qui lui contient les données ***. Exemple : Référence Donnée Toutes les variables d’un autre type que primitif sont des références ***Ressemble au pointeur du C sans les opérateurs ‘&’ et ‘*’ 5 blablabla

Les références en paramètres Un paramètre formel reçoit une copie de la référence à une donnée et non la donnée. On peut modifier les données directement via le paramètre formel. On peut avoir plusieurs références sur une même donnée.

LES TABLEAUX EN JAVA

Tableaux En Java Une variable-tableau est une référence Le tableau doit être créé avant utilisation à l’aide de new ou des { } Si on modifie le contenu d’un tableau dans une fonction, le paramètre effectif sera affecté.

Tableaux En Java On définit les tableaux de la façon suivante : Exemple : int [ ] tabInt = new int[20]; //définit un tableau de 20 entiers Exemple : char [ ] tabCar = {‘a’,’l’,’l’,’o’}; //définit un tableau de 4 caractères Forme générale : type[ ] ident_tableau = new type [nombre de cases] ou { liste des valeurs séparées par une virgule};

Tableaux En Java Les indices commencent à 0 Toutes les cases sont initialisées avec une valeur nulle par défaut, selon le type (0, 0.0, null,...) On accède à une valeur à l’aide du nom du tableau[indice] Exemple : tabInt[3] fait référence à la 4ième case du tableau

Tableaux En Java On peut utiliser l’attribut length pour obtenir le nombre de cases Exemple System.out.print(tab.length); Les tableaux sont statiques (la taille est invariable) L’accès à une case inexistante cause une erreur à l’exécution.

Tableaux ***Affichera 20 fois la valeur null Représentation graphique 0 1 2 ... n-1 variable-tableau Boucle classique for (var = 0; var < tableau.length; var++) Traitement de chaque case du tableau Exemple : String[] tabChaine = new String[20]; for(int i = 0; i < tabChaine.length; i++) System.out.println(tabChaine[i]); ***Affichera 20 fois la valeur null

Les tableaux en paramètres Exemple non fonctionnel : //fonction qui incrémente la valeur reçue void incrementerValeur(int valeur) { valeur++; } //quelque part ailleurs dans le code for( int i = 0; i<tab.length; i++) incrementerValeur(tab[i]); Aucune valeur ne sera modifiée dans le tableau puisque les types primitifs sont passés par copie.

Les tableaux en paramètres Exemple fonctionnel : //fonction qui incrémente les valeurs d’un tableau void incrementerValeur(int[] tab) { for( int i = 0; i<tab.length; i++) tab[i]++; } //quelque part ailleurs dans le code incrementerValeur(tab); Le tableau est passé par référence donc son contenu sera modifié par la fonction.

Exercices sur les tableaux Écrivez une fonction nbOccurence qui reçoit un tableau d’entiers et une valeur et qui retourne le nombre de fois où la valeur se trouve dans le tableau. int nbOccurence (int[] tab, int valeur){ int nb = 0; for(int i = 0; i < tab.length; i++){ if(tab[i] == valeur) nb = nb + 1; //on peut faire aussi nb++; } return nb;

Piège sur les références-tableau Piège classique char[ ] tabCar1 = {‘a’,’l’,’l’,’o’}; tabCar1 0 1 2 3 tabCar2 char[ ] tabCar2 = tabCar1; tabCar2[0] = ‘t’; Si on veux travailler sur une copie il faut faire char [ ] tabCar2 = tabCar1.clone(); t l o a l o