Section XI Traitement de fichiers

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

MANUEL D’UTILISATION DU LOGICIEL DE MISE A JOUR (GPS Navirad V4)
Je lis, j’écris Objectif du logiciel S'entraîner à saisir précisément un mot, une expression, une phrase, un texte,
DTD Sylvain Salvati
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Chapitre I : Systèmes d’exploitation
Utilisation de VNC dans une salle informatique avec des élèves
INTRODUCTION.
FLSI602 Génie Informatique et Réseaux
le nom du logiciel et le nom du fichier s’appelle la barre des titres
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
Section VII Programmation modulaire Algorithmes et résolution de problèmes FGE.
Section VIII Modularité Partie II
Microsoft® Office Excel® Formation
Section VI Structures répétitives (suite)
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Active Directory Windows 2003 Server
Les bases de l’Algorithmique
Plusieurs possibilités
Contexte et objectifs L’AFPA souhaite proposer à ses stagiaires des services complémentaires à son offre de formation standard. L’espace emploi permet.
Initiation à la programmation et algorithmique
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Section IV Structures conditionnelles
Algorithmes et résolution de problèmes FGE
Module 1 : Préparation de l'administration d'un serveur
Les éléments de base de l’algorithmique
Système d’exploitation
Les instructions PHP pour l'accès à une base de données MySql
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
Algorithmes et résolution de problèmes FGE
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
FICHIERS : Définition : Algorithme général:
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Création d'un domaine Windows 2000
Module 7 : Accès aux ressources disque
Les devis Le devis ODF.
Les feuilles de sécurité sociale
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
La fenêtre principale  S'ouvre lors du lancement de la comptabilité  Donne un accès simple et homogène à tous les traitements et à tous les documents.
Systèmes de gestion de bases de données NFP 107 Les techniques du contrôle de concurrence Philippe Rigaux
Vue d'ensemble Surveillance des journaux d'événements
Adhésion simple non oui Rechercher une personne Ajouter une personne
Mise en oeuvre et exploitation
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Décomposition et paramétrage des algorithmes
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
1 Utiliser un blog “écrire un billet ou un commentaire et le publier” Quelques données techniques: Un blog est une suite d’articles appelés billets, publiés.
La programmation.
Windows 2003 Server Modification du mode de domaine
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Guide de référence rapide sur © 2012 Microsoft Corporation. Tous droits réservés. Lync Web App Participer à une réunion Lync avec le système audio de votre.
Introduction à CmapTools par Jacques-Antoine V-Lemay 3 septembre 2008 par Jacques-Antoine V-Lemay 3 septembre 2008.
Module 3 : Création d'un domaine Windows 2000
Administration d'un serveur Windows 200x Partie 1
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Les fichiers 1ère partie
 Formulaires HTML : traiter les entrées utilisateur
Démarche de résolution
En route vers le déploiement . . .
Comprendre le SGBDR Microsoft Access – partie 2
Système SYGOR Pro « La gestion de production ou de réparation »
AFPA CRETEIL 5-1 Windows NT Administration des utilisateurs Chapitre 5.
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
Chapitre 9 Configuration de Microsoft Windows XP Professionnel pour fonctionner sur des réseaux Microsoft Module S41.
Transcription de la présentation:

Section XI Traitement de fichiers Algorithmes et résolution de problèmes 18279 FGE

Contenu Introduction Définitions Accès aux fichiers Exemples Devoir #9 Traitement interactif Traitement en batch Définitions Accès aux fichiers Ouverture / fermeture Lecture / écriture Exemples Devoir #9

Introduction Les algorithmes vus à date sont interactifs Les données sont fournies directement par l'utilisateur Via le clavier Les résultats sont acheminés directement à l'utilisateur Via la console Les résultats produits par un algorithme ne sont pas réutilisés comme données par un autre algorithme

Introduction (suite) Un système informatique est composé de plusieurs sous-systèmes Exemple : un système de gestion est généralement composé au minimum des sous-systèmes suivants Paie Comptes recevables Contrôle d'inventaire Les sous-systèmes sont exécutés périodiquement (ex: à chaque mois)

Introduction (suite) Certains sous-systèmes requièrent des données des utilisateurs Exemple: entrée des feuilles de temps D'autres sous-systèmes utilisent comme données des résultats produits par des sous-systèmes Exemple: calcul de la paie Les résultats produits par un sous-système doivent être stockés afin d'être ultérieurement récupérés par un autre sous-système

Introduction (suite) Le flux d'exécution des sous-systèmes peut être représenté par un organigramme L'information transite d'un sous-système au suivant via des fichiers Calcul de paie Collecte de données Impression de chèques Collecte de données Fichier Impression de chèques Calcul de paie

Introduction (suite) Un sous-système peut aussi avoir comme tâche de mettre à jour le contenu de fichiers Impression de rapport État de comptes Plusieurs sous-systèmes peuvent partager des fichiers Gestion de comptes bancaires Anciennes données de comptes Nouvelles données de comptes Transactions bancaires

Introduction (suite) Le traitement différé de données stockées en fichiers est communément appelé le traitement en batch Les données sont récupérées en entrées de fichiers Les résultats sont stockés en sorties dans des fichiers Le traitement en batch peut tout-de-même requérir l'assistance de l'utilisateur Demander des informations de contrôle Afficher des informations de contrôle

Définitions Fichier Canal d'accès Accès séquentiel Zone de stockage des données et/ou résultats. Un fichier contient généralement une séquence de dossiers Canal d'accès Identificateur de fichier permettant de diriger les entrées/sorties (i.e. lectures/écritures) vers un fichier spécifique Accès séquentiel Lecture séquentielle des dossiers d'un fichier. L'ordre de lecture des dossiers correspond à l'ordre d.apparition de ceux-ci dans le fichier

Accès aux fichiers Deux modes d'accès possibles Accès séquentiel Le traitement en batch exploite couramment l'accès séquentiel Accès direct : accéder directement à un dossier selon sa position (i.e. son index) Les bases de données exploitent l'accès direct Dans le cours 18279 FGE, nous nous limitons à l'accès séquentiel Beaucoup plus simple

Accès aux fichiers (suite) Gestion des fichiers Le système d'exploitation (SE) est responsable de la gestion des fichiers sur l'ordinateur Windows, Linux, XWindows, PalmOS, … Le système de fichiers est la composante du SE assurant la gestion des fichiers FAT32, NTFS, ext2, … Tout logiciel exploitant des fichiers doit transiger avec le SE afin d'accéder à ces fichiers

Ouverture de fichiers Afin d'accéder à un fichier, il faut premièrement ouvrir le fichier On doit demander au système d'exploitation (SE) l'autorisation d'accéder à un fichier Celui-ci s'assure que Le fichier existe (il peut le créer au besoin) Le fichier n'est pas présentement utilisé par un autre système Le SE verrouille alors le fichier afin d'en assurer l'accès exclusif

Ouverture de fichiers (suite) Le verrouillage de fichier est basé sur les canaux d'accès Le fichier ouvert par le système d'exploitation est associé à un canal d'accès Les opérations de lecture et/ou d'écriture seront ultérieurement dirigées vers un fichier via son canal d'accès Dans un algorithme, un canal d'accès est identifié par un numéro

Ouverture de fichiers (suite) Un fichier séquentiel peut être ouvert soit pour la lecture, soit pour l'écriture, mais pas les deux simultanément Exemple Ouverture du fichier DONNEES pour la lecture : OUVRIR "DONNEES" SUR 4 EN LECTURE Nom du fichier Canal d'accès Mode OUVRIR "DONNEES" SUR 4 EN LECTURE

Ouverture de fichiers (suite) Un même canal d'accès ne doit pas être associé simultanément à deux fichiers La seconde opération de lecture sera refusée par le système d'exploitation Un algorithme dispose généralement de plusieurs canaux d'accès Dans LARP, les canaux 1 à 256 sont disponibles OUVRIR "DONNEES_1" SUR 3 EN LECTURE OUVRIR "DONNEES_2" SUR 3 EN LECTURE

Ouverture de fichiers (suite) OUVRIR "DONNEES" SUR 4 EN LECTURE Mode d'accès Trois modes d'accès sont disponibles LECTURE : pour lire des données du fichier ÉCRITURE : pour écrire des résultats dans le fichier (le contenu d'un fichier existant est supplanté) AJOUT : pour écrire des résultats à la fin d'un fichier (le contenu d'un fichier existant est préservé)

Ouverture de fichiers (suite) Autres exemples d'ouverture de fichiers Dès l'ouverture du fichier RESULTATS, son contenu existant est détruit Tous résultats écrits sur le canal d'accès #2 seront le seul contenu du fichier Le contenu existant du fichier ENREGISTREMENTS est conservé Tous résultats écrits sur le canal d'accès #6 est ajouté à la fin du contenu du fichier avant son ouverture OUVRIR "RESULTATS" SUR 2 EN ÉCRITURE OUVRIR "ENREGISTREMENTS" SUR 6 EN AJOUT

Fermeture de fichiers Tout fichier ouvert doit être éventuellement fermé Afin d'indiquer au système d'exploitation (SE) qu'il peut permettre à d'autres systèmes (i.e. logiciels) d'accéder au fichier Selon le SE, le contenu d'un fichier non fermé peut être irrémédiablement perdu Tout algorithme doit fermer les fichiers qu'il a ouvert avant de terminer son exécution

Fermeture de fichiers (suite) Un fichier est fermé via son canal d'accès Un fichier peut être séquentiellement ouvert à de multiples reprises OUVRIR "DONNEES" SUR 2 EN LECTURE OUVRIR "RESULTATS" SUR 3 EN ÉCRITURE … FERMER 2 FERMER 3 OUVRIR "DONNEES" SUR 2 EN LECTURE FERMER 2 OUVRIR "DONNEES" SUR 2 EN LECTURE … FERMER 2 OUVRIR "DONNEES" SUR 2 EN ÉCRITURE Notez qu'un canal d'accès peut être réutilisé après fermeture

Lecture d'un fichier Une lecture d'un fichier se fait de la même façon qu'une lecture du clavier Il suffit d'indiquer via quel canal d'accès lire Une opération de lecture sur un canal d'accès associé à un fichier ouvert en mode d'écriture (ou d'ajout) est refusée Le système d'exploitation est responsable de valider les entrées/sorties à un fichier selon son mode d'accès OUVRIR "DONNEES" SUR 2 EN LECTURE LIRE Nom,Numéro, Salaire DE 2 FERMER 2 OUVRIR "DONNEES" SUR 2 EN LECTURE LIRE Nom, Numéro, Salaire DE 2 FERMER 2

Lecture d'un fichier (suite) Exemple #1 : algorithme lisant le salaire des 12 employés de l'entreprise (à partir du fichier SALAIRE_EMPLOYES) et affichant la masse salariale DÉBUT \\ Accès aux données en mode lecture OUVRIR "SALAIRE_EMPLOYES" SUR 1 EN LECTURE \\ Additionner tous les salaires Total = 0 POUR NoEmp = 1 JUSQU'À 12 FAIRE LIRE Nom, Numéro, Salaire DE 1 Total = Total + Salaire FINPOUR \\ Afficher la masse salariale et fermer le fichier ÉCRIRE Total FERMER 1 FIN Démonstration avec LARP

Lecture d'un fichier (suite) Dans l'exemple précédent, le fichier SALAIRE_EMPLOYES doit obligatoirement contenir 12 dossiers d'employés Généralement, on veut plutôt lire tous les dossiers du ficher, quel qu'en soit le nombre Pour interroger un canal d'accès afin de connaître si la fin d'un fichier est atteinte OUVRIR "DONNEES" SUR 2 EN LECTURE SI FINDECONTENU(2) ALORS ÉCRIRE "Fichier vide" FINSI FERMER 2

Lecture d'un fichier (suite) Exemple #2 : exemple précédent révisé afin de fonctionner indépendamment du nombre de dossiers dans le fichier Notez bien la négation : tant que la fin du contenu n'est pas atteinte DÉBUT \\ Accès aux données en mode lecture OUVRIR "SALAIRE_EMPLOYES" SUR 1 EN LECTURE \\ Additionner tous les salaires Total = 0 TANTQUE NON FINDECONTENU(1) FAIRE LIRE Nom, Numéro, Salaire DE 1 Total = Total + Salaire FINTANTQUE \\ Afficher la masse salariale et fermer le fichier ÉCRIRE Total FERMER 1 FIN

Lecture d'un fichier (suite) Oui Total = 0 Début Fin Fermer 1 Non Écrire Total Ouvrir "SALAIRE_EMPLOYES" sur 1 en Lecture NON FINDECONTENU(1)? Lire Nom,Numéro, Salaire de 1 Total = Total + Salaire Exemple #2 (suite) : organigramme Remarquez que la boucle ne nécessite plus de compteur Attention aux embranchements Oui/Non dans la condition de la boucle

Écriture dans un fichier Une écriture dans un fichier se fait de la même façon qu'une écriture à l'écran Il suffit d'indiquer via quel canal d'accès écrire Une opération d'écriture sur un canal d'accès associé à un fichier ouvert en mode lecture est refusée Le système d'exploitation est responsable de valider les entrées/sorties à un fichier selon son mode d'accès OUVRIR "RESULTATS" SUR 2 EN LECTURE ÉCRIRE Nom,Numéro, Paie DANS 2 FERMER 2 OUVRIR "RESULTATS" SUR 2 EN ÉCRITURE ÉCRIRE Nom, Numéro, Paie DANS 2 FERMER 2

Écriture dans un fichier (suite) Exemple #3 : algorithme lisant les heures travaillées par les employés (à partir du fichier HEURES_TRAV) et écrivant un rapport de paie (dans le fichier RAP_PAIE) DÉBUT \\ Accès aux fichiers OUVRIR "HEURES_TRAV" SUR 1 EN LECTURE OUVRIR "RAP_PAIE" SUR 2 EN ÉCRITURE \\ Calculer la paie de chaque employé TANTQUE NON FINDECONTENU(1) FAIRE \\ Lire les données LIRE Nom, Numéro, Heures, Taux DE 1 \\ Calculer la paie de l'employé SI Heures > 40 ALORS Paie = 40 * Taux + (Heures – 40) * Taux * 1.5 SINON Paie = Heures * Taux FINSI \\ Écrire les donneés de paie ÉCRIRE Nom, Numéro, Paie DANS 2 FINTANTQUE \\ Fermer les fichiers FERMER 1 FERMER 2 FIN Démonstration avec LARP

Devoir #9 (le dernier!) Complétez le pseudo-code fourni avec le devoir Algorithme de production de rapport de paie avec mise à jour des dossiers d'employés Énoncé du devoir et fichier LARP disponible sur WebCT, via l'outil Travaux Téléchargez la dernière version de LARP (compilation 010) À remettre au plus tard le 12 décembre 2003 via WebCT