Etude de cas : buffer clavier

Slides:



Advertisements
Présentations similaires
GEF 243B Programmation informatique appliquée Listes chaînées I – Tableaux de structures §15.1 – 15.2.
Advertisements

Cours de C – Séance dexercices 25 Septembre 2007.
Chap. 4 Recherche en Table
Structures de données et complexité
Structures de données et complexité LIFO – FILO – FIFO – etc…
PROGRAMMATION LOGICIEL PL7 MICRO Consignes
GEF 243B Programmation informatique appliquée Décisions de design avec structures de données §15.1 – 15.2.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
GEF 243B Programmation informatique appliquée
Ch 3: les structures simples. Objectif: -Distinguer entre les différents données (entrée, sortie..).
La programmation générique avec la STL EIUMLV - Informatique et Réseaux 99 Benoît ROMAND.
Lecture et Ecriture.
Gestion de FICHIERS.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 Structures séquentielles : listes linéaires
FLSI602 Génie Informatique et Réseaux
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
ALGORITHMES RECURSIFS
Structures de données linéaires
A B D A B D LSC avec « sentinelle »
En quoi consiste la PROGRAMMATION ?
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
II. Chaînage, SDD séquentielles
Analyse lexicale Généralités Expressions rationnelles Automates finis
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
II. Chaînage, SDD séquentielles
Définition d’un maillon de liste
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
Structures de données IFT-2000
Traiter des Données avec la STL
FICHIERS : Définition : Algorithme général:
2/11/2005 Utilisation des TIC en maternelle dans le REP de Noyon Utilisation des TIC en maternelle- REP de Noyon - 17/11/2005.
IFT-2000: Structures de données
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Un langage de programmation hybride
Algorithmique et langage C. Les traitements Comment utiliser les données.
IV. Arbres  Arbre binaire (AB) Représentation SDD d’un AB
201 UMLV  Type « dictionnaire » sous-ensembles finis de E (ordonné) avec les opérations : Ens_vide :  Ens Ajouter : Ens x Elément  Ens Enlever.
Exemple de gestion d'un buffer clavier en liste circulaire
Structures des données
Le langage C Structures de données
1 Exemples Construction et implantation de types de données abstraits.
LES PILES ET FILES.
Labo II : Tableaux et pointeurs
II. Chaînage, SDD séquentielles
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Un survol du language C.
Labo 4 : Les structures et les entrées et sorties
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
II. Chaînage, SDD séquentielles
ETNA – 1ème année Guillaume Belmas –
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Conception de Programmes - IUT de Paris - 1ère année – Cours 8 – Les entrées/sorties Comment fonctionnent les opérateurs > pour les types élémentaires.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
Algorithme de DIJKSTRA
Exercices.
Algorithmique Tableaux de données
 Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Exercices sur les pointeurs. lireCar/remettreCar Lorsque l’on lit caractère par caractère, on ne peut pas savoir qu’on a atteint un caractère avant de.
Objets et Actions Élémentaires.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, …  Etude de cas : réalisation d’un buffer clavier.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Cours de Langage C Les structures
Transcription de la présentation:

Etude de cas : buffer clavier Principe de fonctionnement Lecture/écriture concurrentes l’utilisateur tape pendant que le système lit Flux de données homogènes (suite de caractères saisis) Zone tampon Tampon basé sur le modèle du buffer tournant Suite de postes limitée à une capacité maximale n Principe de file : le dernier caractère entré est le dernier lu Contraintes Lecture : s’il n’y a rien à lire, ne rien lire Ecriture : ne pas écraser une donnée non lue  La tête de lecture ne double pas la tête d’écriture

Etat initial Capacité n fixée : elle ne changera pas Deux têtes (pointeurs) pour la lecture et l’écriture

> copy a : . Le buffer est alimenté La tête d’écriture se déplace La lecture n’a pas commencé

> dir La lecture de la commande précédente est en cours L’écriture peut avancer sans attendre Mais on arrive à la limite de capacité du buffer

Objectif Concevoir une structure et deux algorithmes La structure pour implémenter le buffer Un algorithme Lire S’il y a une donnée à lire, lire Puis déplacer la tête de lecture sur le poste suivant Un algorithme Ecrire S’il n’y a pas de risque d’écraser une donnée non lue, écrire Puis déplacer la tête d’écriture sur le poste suivant

Structure de donnée Poste (l’élément) Ensemble Emplacement pour stocker une donnée Indicateur d’état : la donnée est-elle « à lire » ? Ensemble Ordonné Circulaire

Implémentations Statique Dynamique Tableau de postes Tête de lecture et d’écriture sont des index Mouvement circulaire : opérations modulo n Dynamique Structure chaînée Tête de lecture et d’écriture sont des pointeurs Mouvement circulaire : simple itération

Définition du poste (statique) En langage algorithmique Exemple de traduction en C typedef struct poste { char info; int alire; } poste;

Définition du buffer (statique) En langage algorithmique Exemple de traduction en C typedef struct buffer { poste donnee[n]; int lecture, ecriture; } buffer;

Lire (statique)

Ecrire (statique)

Définition du poste (dynamique) En langage algorithmique Exemple de traduction en C typedef struct poste { char info; int alire; struct poste *suivant; } poste;

Définition du buffer (dynamique) En langage algorithmique Exemple de traduction en C typedef poste *ptrposte; typedef struct buffer { ptrposte lecture, ecriture; } buffer;

Lire (dynamique)

Ecrire (dynamique)