Title: Aucun titre de diapositive
1Cours d Informatique, DEUG 2 MASS/MIASS
UVSQ
Présentation générale, rappel de notions
acquises, présentation du projet. Gestion de
fichiers, application en JAVA Gestion des
évènements, gestion d interfaces en
JAVA Gestion des erreurs et exceptions. Applets
et HTML Notions de théorie de la
complexité Arbres et récursivité Notions de
théorie des graphes et applications
2NOTION ACQUISES
- problèmes à résoudre - algorithme, boucles -
structures de données, variables et type -
classes et objet - langage, compilation,
interprétation - complexité d un algorithme -
algorithmes de tri
3ENTIER - qui forme un tout, Ã qui rien ne
manque - nombre formé d une
somme d unités
ENTIER - k octets consécutifs en mémoire
- comparaison, somme, produit, ..
avec entiers et réels
4Définir le mot Définition générale et
complète Définir par les besoins
Définir une entité
Implantation mémoire
Notions de type
Opération réalisable
Programmation orientée par les traitements
programmes impératifs Programmation
orientée par les données programmes objets
5RAPPEL DE NOTIONS
- Algorithmes de TRI 2 principes - Classes et
instances (objets) - Gestion mémoire
(application JAVA)
6Fichiers et entrées-sorties
- - Notions de fichiers .
- - Fichiers en JAVA .
- - Fichiers et flots
. - - Exemples JAVA .
7NOTIONS DE FICHIERS - pour un humain
analogie avec la bureautique 3 types
lisible (par un éditeur), de données (par un
programme), exécutable (par le
système) - pour un programme mode
d accès, gestion système, notion de flux
exemples pour COBOL, C, JAVA - pour le système
(exemple d UNIX) unité de stockage,
pas de type à priori
8COBOL, langage C, JAVA
Enregistrements données formatées
flux
Opérations de base - Lecture, recherche -
Ecriture, Mise à jour - Tri, fusion
Type d accès - séquentiel - séquentiel
indexé - direct
Stockage - disque - mémoire - mémoire
virtuelle
9Remarques en vrac - lien format - type -
logiciel - notions de moulinettes ou
traducteurs - vision UNIX du  tout fichierÂ
10Entrées-Sorties en JAVA
Trois types d entrée de données - Arguments
du programme, - Saisies par l utilisateur, -
Fichiers
entrants
FLUX (ou flots)
Deux types de sortie de données - Affichage,
- Fichiers
sortants
11Flux en JAVA objet associé à une source et/ou
une destination de
données (interne ou externe)
Deux types de flux - standards (entrée,
sortie, erreur) - défini (package java.io)
Deux types d accès - séquentiel (nature,
sens, type) avec ou sans traitement -
séquentiels indexés (classe RandomAccessFile)
(position en octets, bidirectionnel)
12Nom du flux indication globale
Avec traitement type de traitement/stockage
Préfixe
Sans traitement type de la source/destination
Suffixe nature (caractères ou octets) et sens
(lecture ou écriture)
SUFFIXES Flux
d entrée Flux de sortie flux de
caractères Reader
Writer flux d octets InputStream
OutputStream
13PREFIXE SANS TRAITEMENT (ou FILTRE) Source ou
destination Prefixe tableau de
caractères CharArray flux d octets
InputStream
(OutputStream) chaine de caractères
String programme
Pipe fichiers
File tableau d octets
ByteArray objet
Object
14PREFIXE AVEC TRAITEMENT/STOCKAGE (ou
FILTRE) Traitement
Préfixe tampon
Buffered concaténation de flux
d entrée Sequence conversion de données
Data numérotation des lignes
LineNumber lecture avec retour arr.
PushBack impression
Print
Voir package java.io
15InputStream classe générale de flux d entrée
dont dérivent les autres
(cf. aussi la classe OuputStream)
InputStream flux1 new FileInputStream
( file ) InputStream flux2 new
BufferedInputStream (flux1) InputStream flux3
new LineNumberInputStream (flux2) InputStream
flux4 new DataInputStream (flux3)
Flux4 flot d entrée de données typées, dont on
peut compter le nombre de lignes,
lues depuis un buffeur capturant les
données d un fichier  fileÂ
16FLUX ET FICHIERS
Fichier  généralÂ
Objet de la classe java.io.File
Fichiers d octets
Objets des classes java.io.FileInputStream et
java.io.FileOuputStream
Fichiers de caractères
Objets des classes java.io.FileReader et
java.io.FileWriter
17File f new File(Â fichier.mp3Â ) FileInputStrea
m fis new FileInputStream(f) DataInputStream
dis new DataInputStream(fis)
Int a dis.readInt() short s
dis.readShort() boolean b dis.readBoolean()
BufferedReader entree null DataInputStream
clacier new DataInputStream(System.in) String
nomFicEntr clavier.readline() entree new
BufferedReader(new FileReader(nomFicEntr))
18Interface et Evènements
- - Principes de la programmation .
Évènementielle . - - Interface graphiques .
- - Interface et évènements en JAVA .
- - Dessiner en JAVA .
19Programmation évènementielle concevoir un
programme comme une entité normalement
inactive qui réagit de facon particulière Ã
chaque événement (prévu) qui intervient.
Capture ? PAS SEULEMENT Tant que 11 faire
Tant que NON(Evt) faire Rien
Selon que Evtevt1
action1 Evtevt2 action2
..
Instruction bloquante ? NON Tant que 11 faire
Saisir(X) Afficher(X)
Appels Système
20Logiciel
STIMULI
Système
Act. 2
Act. 1
Act. 3
Act. 4
Exécutions non bloquante
21Interface (Homme-Machine) Application et/ou
matériels permettant à un utilisateur et un
programme de communiquer
Interface graphique interface logicielle
consistant en un ensemble d éléments
graphiques, dont certains interactifs
Fenêtres, messages, boutons, sons,..
Clavier, souris, .., micros, ..
22HISTORIQUE
PASCAL dessins sommaires
Positions du curseur Capture
retour/chariot C, C associé à des outils
externes, (Xmotif,..), dépendants
du système JAVA bibliothèque propre
23Gestion d interface - affichage initial -
raffraichissement - ...
Evt
Act. 1
Act. 2
Click Posit.
Gestion des Evènements
Système
24Dialog
Choice
Fenêtres simples sans menu
Fenêtres indépendantes
Checkbox
Window
Frame
Fenêtres principales
Component
Container
Composition d autres composants
Button
Boutons
Panel
Applet
Groupe d objet dans une fenêtre
Canvas
25Positionnement d éléments graphiques dans une
fenêtre FRAME
Utilisation du champs LayoutManager d un
Container
FlowLayout (gauche à droite, haut en
bas) BorderLayout (Nord, sud, est, ouest,
centre) GridLayout (grille carrées ) ...
Valué par la fonction membre setLayout
Ajout d un élément graphique dans une fenêtre
FRAME
Fonction membre add
add (Component c) add (Component c, int i) add
(String s, Component c)
26Import java.awt. class exemple1
static public void main () Window
w new Frame ( exemple )
w.setlayout (new FlowLayout ())
w.add(new Label (Â UNÂ ) w.add
( Center , new Label ( DEUX ))
w.resize (200,200) w.show()
exemple
UN DEUX
27DEFINITION DE ZONES DE DESSIN
- dessiner - écrire du texte - afficher une image
Utilisation des objets de la classe Canvas
Redéfinition obligatoire de la méthode de tracage
paint(Graphics G)
G objet de la classe Graphics associé au
contexte graphique dans lequel on veut
dessiner
28GESTION DES EVENEMENTS
Objet de java.awt.Event
Fonction membre public boolean handleEvent
Evènement
Méthode de Gestion Spécifique
29Gestion des erreurs et Exceptions
- - Types de gestion d erreurs .
- - Exceptions principe en JAVA .
- - Exceptions en JAVA classes et . Exemples
. -
30 GESTION DES ERREURS
Ordinateur
Système
Processus
Instruction 1
Appel
Instruction 2
Instruction 3
Appel
Primitive
Instruction k
opération
31Processus
XInstruction 1
If X-1 exit(-1)
Instruction 2
XInstruction 3
IF X-1 .
...
IF Zgt0 Instruction k
Solution 1 gérer au coup par coup
32Processus
In next part, possibly err1, err2, err3
Instruction 1
Instruction 2
Instruction 3
Instruction k
If err1 action1 If err2 action2 If err3
action3
33Capture et traitement des exceptions
CATCH
(ou de base)
ex2
THROW (autom.)
Toute exception doit être explicitement
levée (mais pas forcément explicitement capturée)
ex3
ex1
Partie de code
TRY
Système
34Object
Throwable
Exception
Error
StackOverflowError OutOfMemoryError
RuntimeException
Exceptions contrôlées (devant être capturées par
le programme)
NullPointerException IndexOutOfBoundsException IOE
xceptionArithmeticException
Capturée par le gestionnaire de base si pas
d autre traitement prévu
35try Bloc instructions try susceptible de
lever des exceptions automatiquement ou par
throw catch (ClasseException exceptionInterceptee
) Bloc Instructions traitant l exception
capturée
...
Public class Clas2 public int fonct1
() throws Except1 try
. catch (Exception e1)
throw new Except1 (e1,3)
Clas2 v new Clas2 () try
xv.fonct1() catch (Except1 e)