Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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 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
2
NOTION 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
3
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, .. avec entiers et réels
4
Dé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
5
RAPPEL DE NOTIONS - Algorithmes de TRI : 2 principes
- Classes et instances (=objets) - Gestion mémoire (application JAVA)
6
Fichiers et entrées-sorties
- Notions de fichiers - Fichiers en JAVA - Fichiers et flots - Exemples JAVA
7
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
8
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
9
Remarques en vrac : - lien format - type - logiciel - notions de moulinettes ou traducteurs - vision UNIX du « tout fichier »
10
Entré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
11
Flux 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)
12
Nom 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
13
PREFIXE 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
14
PREFIXE 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
15
InputStream : 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 »
16
FLUX 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
17
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));
18
Interface et Evènements
- Principes de la programmation Évènementielle - Interface graphiques - Interface et évènements en JAVA . - Dessiner en JAVA
19
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. Capture ? PAS SEULEMENT Tant que 1=1 faire Tant que NON(Evt) faire Rien Selon que Evt=evt1: action1 Evt=evt2: action2 ….. Instruction bloquante ? NON Tant que 1=1 faire Saisir(X) Afficher(X) Appels Système
20
Logiciel STIMULI Système Act. 2 Act. 1 Act. 3 Act. 4 Exécutions non bloquante
21
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 Fenêtres, messages, boutons, sons,.. Clavier, souris, .., micros, ..
22
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
23
Bouton 1 Bouton 2 Gestion d ’interface - affichage initial - raffraichissement - ... Evt Act. 1 Act. 2 Click + Posit. Gestion des Evènements Système
24
Dialog Choice Checkbox Window Frame Component Container Button Panel
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
25
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 FRAME Fonction membre add : add (Component c) add (Component c, int i) add (String s, Component c);
26
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
27
DEFINITION 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
28
GESTION DES EVENEMENTS
Objet de java.awt.Event Fonction membre public boolean handleEvent Evènement 4 types possibles : - Souris - Clavier - Action - Autre Méthode de Gestion Spécifique
29
Gestion 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
31
Processus X=Instruction 1 If X==-1 exit(-1); Instruction 2 X=Instruction 3 IF X==-1 { …. } ... IF Z>0 Instruction k Solution 1 : gérer au coup par coup
32
Processus In next part, possibly :err1, err2, err3 Instruction 1 Instruction 2 Instruction 3 Instruction k If err1 : action1 If err2 : action2 If err3 : action3
33
Capture et traitement des exceptions CATCH (ou de base)
THROW (autom.) Toute exception doit être explicitement levée (mais pas forcément explicitement capturée) ex3 ex1 TRY Partie de code Système
34
Exceptions contrôlées (devant être capturées par le programme)
Object Throwable Exception Error StackOverflowError OutOfMemoryError RuntimeException Exceptions contrôlées (devant être capturées par le programme) NullPointerException IndexOutOfBoundsException IOExceptionArithmeticException Capturée par le gestionnaire de base si pas d ’autre traitement prévu
35
try 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 { … x=v.fonct1(); } catch (Except1 e) {
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.