![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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/2.jpg)
- 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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062511/551d9da2497959293b8d2b5d/html5/thumbnails/35.jpg)
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); }
...