cours d informatique, deug 2 mass/miass uvsq présentation générale, rappel de notions acquises,...
Post on 04-Apr-2015
107 Views
Preview:
TRANSCRIPT
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
- 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 :
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
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
RAPPEL DE NOTIONS
- Algorithmes de TRI : 2 principes
- Classes et instances (=objets)
- Gestion mémoire (application JAVA)
Fichiers et entrées-sorties
- Notions de fichiers .
- Fichiers en JAVA .
- Fichiers et flots .
- Exemples JAVA .
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
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
Remarques en vrac :
- lien format - type - logiciel - notions de moulinettes ou traducteurs - vision UNIX du « tout fichier »
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
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)
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
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
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
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)
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
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));
Interface et Evènements
- Principes de la programmation . Évènementielle .
- Interface graphiques .
- Interface et évènements en JAVA .
- Dessiner en JAVA .
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
Logiciel
Act. 1 Act. 2 Act. 3 Act. 4
STIMULI
Système
Exécutions non bloquante
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,..
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
Bouton 1 Bouton 2
Gestion d ’interface - affichage initial - raffraichissement - ...
Gestion des Evènements
Act. 1 Act. 2
Système
Click +Posit.
Evt
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
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);
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
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
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
Gestion des erreurs et Exceptions
- Types de gestion d ’erreurs .
- Exceptions : principe en JAVA .
- Exceptions en JAVA : classes et . Exemples .
GESTION DES ERREURS
Ordinateur
Système Processus
Instruction 1
Instruction 2
Instruction 3
Instruction k
Appel
AppelPrimitive
opération
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
Processus
Instruction 1
Instruction 2
Instruction 3
Instruction k
In next part, possibly :err1, err2, err3
If err1 : action1If err2 : action2If err3 : action3
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)
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
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); }
...
top related