Programmation Première partie
15 pages
Français

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Programmation Première partie

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
15 pages
Français
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Niveau: Supérieur, Master

  • mémoire


Programmation 1 Première partie Thi-Bich-Hanh Dao Master CCI – Université d'Orléans Année 2011-2012 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 1 / 57 Le module Programmation 1 Organisation Cours : 10 séances de 2h le jeudi de 8h à 10h TD : 10 séances de 2h30 le lundi de 15h15 à 17h45 TP : 10 séances de 2h30 le jeudi de 13h30 à 16h Les intervenants Cours et TD : TP : Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 2 / 57 Evaluation Contrôle continu CC écrit Exercices à rédiger chaque semaine : sujet distribué le lundi en TD et à rendre avant le TD suivant Note CC = moyenne pondérée des exercices Contrôle terminal Examen écrit Note finale Note finale = moyenne pondérée de CC et de CT Attention : note éliminatoire si inférieur à 7 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 3 / 57 Références Livre : Penser en Java, Bruce Eckel (version française du livre Thingking in Java) Sur la toile : Ressource du cours sur le site du département : http ://www.

  • void clear

  • programmation orienté

  • terminal editeur de texte

  • affectation instruction conditionnelle

  • java

  • instruction de contrôle répétitif


Sujets

Informations

Publié par
Nombre de lectures 67
Langue Français

Extrait

Le module Programmation 1
OrganisationProgrammation 1
Cours : 10 séances de 2h le jeudi de 8h à 10hPremière partie
TD : 10 séances de 2h30 le lundi de 15h15 à 17h45
TP : 10 de 2h30 le jeudi de 13h30 à 16h
Thi-Bich-Hanh Dao
Master CCI – Université d’Orléans Les intervenants
Cours et TD : thi-bich-hanh.dao@univ-orleans.fr
Année 2011-2012
TP : frederic.dabrowski@univ-orleans.fr
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 1 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 2 / 57
Evaluation Références
Contrôle continu
CC écrit
Exercices à rédiger chaque semaine : Livre : Penser en Java, Bruce Eckel (version française du livre
￿ Thingking in Java)sujet distribué le lundi en TD et à rendre avant le TD suivant
Sur la toile :Note CC = moyenne pondérée des exercices
￿ Ressource du cours sur le site du département :
http ://www.univ-orleans.fr/sciences/info/ressources/Modules/
Contrôle terminal
master2/mastercci/master-cci-programmation-1/
Examen écrit ￿ Site developpez :
http ://java.developpez.com/cours/
Note finale
Note finale = moyenne pondérée de CC et de CT
Attention : note éliminatoire si inférieur à 7
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 3 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 4 / 57Plan du module Plan de la première partie
1 Introduction : objet, classe, élémentaires de programmation
2 Instruction de contrôle conditionnel
3 Abstraction, encapsulation et modularité Introduction à la programmation orienté objet
4 Fonctions récursives Objets de Java
5 Instruction de contrôle répétitif Classes d’objets
6 Tableaux Instruction de base : affectation
7 Bibliothèque de classes Java Instruction conditionnelle
8 Interface et implantation
9 Héritage
10 Exception et entrée/sortie en Java
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 5 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 6 / 57
Introduction à la POO Environnements de programmation
Toute chose est un objet BlueJ
￿ ￿on peut stocker des données dans un objet simple d’utilisation
￿ ￿on peut aussi demander à un objet de faire des opérations sur on peut créer, voir et envoyer des messages à des objets d’une
lui-même façon visuelle
￿ facile pour tester des programmes indépendantsUn programme est un ensemble d’objets se disant les uns aux
autres quoi faire en s’envoyant des messages NetBeans, Eclipse, ...
￿ ￿pour demander à un objet, on lui envoie un message environnements plus riches
￿ gestion simplifiée des projets comprenants plusieurs classesChaque objet a son propre espace de mémoire composé d’autres
￿ demande plus ou moins de temps pour apprendre à utiliserobjets
Editeurs de texte et terminalChaque objet est d’un type précis
￿ editeur de texte pour éditer le code source et terminal pour
￿ on dit que chaque objet est une instance d’une classe
compiler et lancer le programme
Tous les objets d’un type particulier peuvent recevoir le même ￿ sans apprentissage d’utilisation
message ￿ demande Makefile pour gérer des projets comprenant plusieurs
￿ le style de ces message est défini dans la classe de ces objets classes
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 7 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 8 / 57Quelques conventions/restrictions Les objets de Java
Les objets Java modélisent les objets d’un problème donnéLe nom des variables, classes, objets, etc. se compose des
￿ ex : un cercle, un triangle, une personne, ...lettres, des chiffres et de _
Les objets sont créés à partir de classes
Le nom des classes se commence avec un majuscule
￿ la classe décrit les types de données que ses objets contiennent
Le nom des variables et des objets se commence avec un ￿ la décrit aussi types de messages que ses objets peuvent
minuscule recevoir
￿ les objets sont des instances de classesUne instruction par ligne
￿ ex : un cercle donné est une instance de la classe Cercle
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 9 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 10 / 57
Objets et classes Structure d’une classe
Un objet possède des champs (ou attributs) décrits dans le texte Chaque classe déclare deux composants
de sa classe Les champs (ou les attributs)
￿ ex : Cercle déclare pour chaque cercle un diamètre, un centre (x,y),
￿ indiquent le type des données que les objets de la classe
une couleur, s’il est ou non visible
contiennent
￿ ex : cercle1 est une instance de Cercle, il est bleu, de diamètre 10
￿ chaque donnée est soit une valeur d’un type primitif soit un objet
et à la position (10,20)
d’une autre classe
Une classe déclare aussi des méthodes, c’est-à-dire les Les méthodes
messages compris par ses objets
￿ indiquentlesmessagesquelesobjetsdelaclassepeuventrecevoir
￿ ex : un Cercle peut apparaître (makeVisible), être déplacé
￿ chaque méthode possède une signature
horizontalement (moveHorizontal), ...
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 11 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 12 / 57Types de données Signature de méthodes
Chaque méthode possède une signature unique, qui se compose
en 3 parties
Les classes d’objets :
￿ le type de la valeur renvoyée
￿ de la librairie Java : String, Integer, Double,...
￿ le nom de la méthode
￿ classes définies par utilisateur : Cercle, Triangle, Personne,...
￿ la liste des paramètres et leur type (cette partie est facultative)
Les types primitifs : les données de type primitif ne sont pas des
void makeVisible()
objets
void changePosition(int newX, int newY)
￿ nombres :int, float, double, byte, long, short
￿ Pour envoyer un message à un objet : les paramètres sontcaractères :char
￿ booléens :boolean, deux valeurs possiblestrue etfalse remplacés par des valeurs du type
cercle1.makeVisible()
cercle2.changePosition(50,100)
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 13 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 14 / 57
L’état d’un objet La « notation pointée »
Chaque objet dispose d’un état représenté par les valeurs Le point «.» possède plusieurs significations dans le langage Java
stockées dans ses champs
Il représente la virgule dans un nombre approché :3.1416
Un objet de la classe Circle possède 5 champs (voir ex.)
Il sépare le nom d’un objet du méthode qui lui est envoyé
La valeur du champs diameter d’un objet cercle1 de la classe cercle1.makeVisible()=⇒ demande à cercle1 de devenir visible
Circle s’obtiendra par l’expression : cercle1.diameter
Il sépare le nom d’un objet du nom d’un de ses champs
Lorsqu’on envoie un message à un objet en invoquant l’une de cercle1.color=⇒ prendre la couleur de cercle1
ses méthodes, il se peut que l’état de l’objet change (voir ex.)
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 15 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 16 / 57Une classe Calculette Méthode avec ou sans résultat retourné
class Calculette { Soit cal1 une instance de la classe Calculette
int screen;
void clear() est une méthode qui ne retourne pas de résultatvoid clear() {
cal1.clear(=⇒ cal1 obéit, sa variable cal1.screen est mise à 0,this.screen = 0;
mais il ne répond pas}
int getScreen() est une méthode qui retourne un résultat de typevoid addToScreen(int n) {
intthis.screen = this.screen+1;
int v = cal1.getScreen()}
=⇒ on affecte à v la valeur de cal1.screenint getScreen() {
return this.screen; getScreen() est une méthode d’accès (un accesseur). Le nom des
} accesseurs commence en général par get
}
Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 17 / 57 Thi-Bich-Hanh Dao (M2 CCI) Programmation 1 Année 2011-2012 18 / 57
Les différentes variables de cette classe Les expressions
La classe Calculette comporte deux sortes de variables : Les expressions représentent une valeur typée
￿ screen est le nom d’un champ : variable d’instance 2 est une expression constante (de typeint)
￿ n est un paramètre de la méthode addToScreen
3+4−5 également : elle représente la valeur 2
Toutes les instances d’une classe possède le même jeu de
this.screen+n est une expression variable, sa valeur dépend du
variables d’instance mais avec des valeurs distinctes propres à
champ screen et du paramètre n
chaque instance. Elle représente l’état de l’objet.
cal1.getScreen()*2 est une expression, son évaluation consiste en
Les variables paramètres représentent de l’information
l’appel de la méthode getScreen sur l’objet cal1 suivie

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents