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

Cours d ’Informatique, DEUG 2 MASS/MIASS UVSQ

  • Upload
    vivi

  • View
    37

  • Download
    3

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Cours d ’Informatique, DEUG 2 MASS/MIASS                                UVSQ

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GESTION DES ERREURSOrdinateur

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

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

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

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

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

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); }

...