Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises,...

35
Cours d ’Informatique, DEUG 2 MASS/MIASS UVSQ ésentation générale, rappel de notions acquises, présentation du projet. tion de fichiers, application en JAVA tion des évènements, gestion d interfaces en JAVA tion des erreurs et exceptions. Applets et HTML ions de théorie de la complexité res et récursivité ions de théorie des graphes et applications

Transcript of Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises,...

Page 1: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Cours 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

Page 2: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

- 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

NOTION ACQUISES :

Page 3: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

ENTIER : - 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, .. avecentiers et réels

Page 4: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Programmation orientée par les traitements : programmes impératifs

Programmation orientée par les données : programmes objets

Notions de type :

Implantation mémoire

Opération réalisable

Définir une entité :

Définir le mot

Définition générale et complète

Définir par les besoins

Page 5: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

RAPPEL DE NOTIONS

- Algorithmes de TRI : 2 principes

- Classes et instances (=objets)

- Gestion mémoire (application JAVA)

Page 6: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Fichiers et entrées-sorties

- Notions de fichiers .

- Fichiers en JAVA .

- Fichiers et flots .

- Exemples JAVA .

Page 7: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

NOTIONS 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

Page 8: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

COBOL, 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

Page 9: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Remarques en vrac :

- lien format - type - logiciel - notions de moulinettes ou traducteurs - vision UNIX du « tout fichier »

Page 10: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Entrées-Sorties en JAVA

Trois types d ’entrée de données

- Arguments du programme, - Saisies par l ’utilisateur, - Fichiers

Deux types de sortie de données

- Affichage, - Fichiers

FLUX (ou flots)

entrants

sortants

Page 11: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

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)

Flux en JAVA : objet associé à une source et/ou une destination de données (interne ou externe)

Page 12: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Nom du flux = indication globale

Préfixe =

Suffixe = nature (caractères ou octets) et sens (lecture ou écriture)

Avec traitement : type de traitement/stockage

Sans traitement : type de la source/destination

SUFFIXES :

Flux d ’entrée Flux de sortie

flux de caractères Reader Writer

flux d ’octets InputStream OutputStream

Page 13: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

PREFIXE SANS TRAITEMENT (ou FILTRE) :

Source ou destination Prefixe

tableau de caractères CharArrayflux d ’octets InputStream (OutputStream)chaine de caractères Stringprogramme Pipefichiers Filetableau d ’octets ByteArrayobjet Object

Page 14: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

PREFIXE AVEC TRAITEMENT/STOCKAGE (ou FILTRE)

Traitement Préfixe

tampon Bufferedconcaténation de flux d ’entrée Sequenceconversion de données Datanumérotation des lignes LineNumberlecture avec retour arr. PushBackimpression Print

Voir package java.io

Page 15: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

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 »

InputStream : classe générale de flux d ’entrée dont dérivent les autres

(cf. aussi la classe OuputStream)

Page 16: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

FLUX ET FICHIERS

Objets des classes java.io.FileInputStream et java.io.FileOuputStream

Objets des classes java.io.FileReader et java.io.FileWriter

Fichiers d ’octets :

Fichiers de caractères :

Fichier « général » :

Objet de la classe java.io.File

Page 17: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

File f = new File(« fichier.mp3 »);FileInputStream 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));

Page 18: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Interface et Evènements

- Principes de la programmation . Évènementielle .

- Interface graphiques .

- Interface et évènements en JAVA .

- Dessiner en JAVA .

Page 19: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Programmation évènementielle : concevoir un programme comme une entité normalement inactive qui réagit de facon particulière à chaque événement (prévu) qui intervient.

Instruction bloquante ? NON

Tant que 1=1 faire Saisir(X) Afficher(X)

Capture ? PAS SEULEMENT

Tant que 1=1 faire Tant que NON(Evt) faire Rien Selon que Evt=evt1: action1 Evt=evt2: action2 …..

Appels Système

Page 20: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Logiciel

Act. 1 Act. 2 Act. 3 Act. 4

STIMULI

Système

Exécutions non bloquante

Page 21: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Interface (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

Clavier, souris, .., micros, ..

Fenêtres, messages, boutons, sons,..

Page 22: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

HISTORIQUE

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

Page 23: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Bouton 1 Bouton 2

Gestion d ’interface - affichage initial - raffraichissement - ...

Gestion des Evènements

Act. 1 Act. 2

Système

Click +Posit.

Evt

Page 24: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Component

Choice

Checkbox

Container

Button

Canvas

Window

Dialog

Frame

AppletPanel

Composition d ’autres composants

Groupe d ’objet dans une fenêtre

Fenêtres indépendantes

Fenêtres simples sans menu

Fenêtres principales

Boutons

Page 25: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Positionnement 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 FRAMEFonction membre add :

add (Component c)add (Component c, int i)add (String s, Component c);

Page 26: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Import 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

Page 27: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

DEFINITION DE ZONES DE DESSIN

Utilisation des objets de la classe Canvas - dessiner- écrire du texte- afficher une image

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

Page 28: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

GESTION DES EVENEMENTS

Evènement

Objet de java.awt.Event

4 types possibles : - Souris - Clavier - Action - Autre

Fonction membrepublic boolean handleEvent

Méthode de GestionSpécifique

Page 29: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Gestion des erreurs et Exceptions

- Types de gestion d ’erreurs .

- Exceptions : principe en JAVA .

- Exceptions en JAVA : classes et . Exemples .

Page 30: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

GESTION DES ERREURS

Ordinateur

Système Processus

Instruction 1

Instruction 2

Instruction 3

Instruction k

Appel

AppelPrimitive

opération

Page 31: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Processus

X=Instruction 1

Instruction 2

X=Instruction 3

If X==-1 exit(-1);

IF X==-1 { …. }...IF Z>0 Instruction k

Solution 1 : gérer au coup par coup

Page 32: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Processus

Instruction 1

Instruction 2

Instruction 3

Instruction k

In next part, possibly :err1, err2, err3

If err1 : action1If err2 : action2If err3 : action3

Page 33: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Partie de code

Système

ex1

ex2ex3

Capture et traitement des exceptions

TRY

THROW(autom.)

CATCH(ou de base)

Toute exception doitêtre explicitement levée(mais pas forcémentexplicitement capturée)

Page 34: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

Object

Throwable

Error Exception

RuntimeException Exceptions contrôlées(devant être capturéespar le programme)

StackOverflowErrorOutOfMemoryError

NullPointerExceptionIndexOutOfBoundsExceptionIOExceptionArithmeticException

Capturée par le gestionnaire de basesi pas d ’autre traitement prévu

Page 35: Cours d Informatique, DEUG 2 MASS/MIASS UVSQ Présentation générale, rappel de notions acquises, présentation du projet. Gestion de fichiers, application.

try Bloc instructions try susceptible de lever des exceptions automatiquement ou par throw

catch (ClasseException exceptionInterceptee) Bloc Instructions traitant l ’exception capturée

Clas2 v= new Clas2 ();try { … x=v.fonct1(); }catch (Except1 e) { … }

Public class Clas2 { … public int fonct1 () throws Except1 { try { …. } catch (Exception e1) { throw new Except1 (e1,3); }

...