Structures de Données

Dimension: px
Commencer à balayer dès la page:

Download "Structures de Données"

Transcription

1 Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Département Génie Informatique Définition Les iles - Une pile est une liste linéaire d'éléments déléments (entiers, ) où l'ajout et la suppression d'un élément se font du même côté. Sommet Structures de Données - Si la pile n'est pas vide, l'élément accessible est le dernier ajouté et qui se trouve au sommet de la pile rotocole LIFO: Last In First Out Exemple : Utilisation de la pile en informatique: ar: Mr N.EL FADDOULI Année Universitaire:2013/2014 Journalisation des mises à jour pour réaliser la fonction undo (logiciels de bureautique p.e.) Allocation de la mémoire pour les variables locales lors de l exécution des procédures EMI/ Structures de Données / N. El Faddouli EMI/ Structures de Données / N. El Faddouli 33 1

2 Les iles - Les deux opérations principales sont: Empiler: ajoute un élément au dessus du sommet de la pile. Dépiler: supprime l'élément au sommet de la pile si elle n'est pas vide. - D'autres opérations sont possibles : Initile : Cree une pile vide. Sommet: Retourne l'élément au sommet de la pile qui doit être non vide. ilevide: Détermine si la pile est vide ou non et retourne Vrai ou Faux. EMI/ Structures de Données / N. El Faddouli 34 Les iles Exemple d'utilisation de pile: Inverser une chaîne S Algorithme: : ile de caractères N Longueur(S) our i 0 à N-1 Empiler (S[i], ) our i 0àN-1 S[i] Sommet() Depiler () Implémentation statique avec un tableau: - La pile est représentée par un enregistrement contenant les champs suivants: -L'indice du sommet de la pile: un entier -Untableau des éléments de la pile. - Ce tableau peut être statique (taille maximale fixée ) ou dynamique (réservation dynamique du tableau). - Il faut faire un contrôle de taille lors de l'empilement pour éviter un débordement (la pile ne doit pas être pleine) EMI/ Structures de Données / N. El Faddouli 35 2

3 Les iles Implémentation statique avec un tableau: 1- ile avec un tableau statique: ile d'entiers typedef struct int S; /* indice du sommet de la pile */ int [100]; /* ableau statique */ ile; ile Initile() ile ;.S = -1; return ; int ilevide(ile ) if(.s==-1) return 1; else return 0; int ileleine(ile ) if(.s==99) return 1; else return 0; int Sommet(ile, int *x) if (! ilevide() ) *x =.[.S]; return 1; else return 0; Il faut vérifier si la pile n'est pas vide avant de dépiler ou prendre le sommet de la pile. int Empiler (ile *, int X) Les iles if (ileleine(*)) return 0; else (*).S ++; /* ->S ++; */ (*) (). [ (*) ().S ] = X; /* -> [ ->S ] = X ; */ return 1; int Depiler (ile *) if (ilevide(*)) (*)) return 0; else (*).S -- ; /* ->S -- */ return 1; EMI/ Structures de Données / N. El Faddouli 36 EMI/ Structures de Données / N. El Faddouli 37 3

4 Définition Les Files - Une file est une liste linéaire d'éléments déléments où les insertions se font d'un côté et les suppressions de l'autre côté. Les Files - Les opérations sur les files sont: InitFile: Cree une file vide. ête : Retourne l'élément en tête de la file qui doit être non vide. Défiler Enfiler Enfiler: Insère un élément à la fin de la file. Défiler: Supprime l'élément en tête de la file qui doit être non vide. - Les noms spécifiques pour ces opérations sont Enfiler pour insérer et Défiler pour supprimer. - Les opérations sur les files sont syntaxiquement les mêmes que sur les piles ; c'est par leur effet qu'elles diffèrent: l'élément supprimé est le premier arrivé dans la file. - Une file se comporte comme une file d'attente; (suitleprotocolefirst In First Out (FIFO) ) - Exemple d'utilisation de file: Documents à imprimer,... EMI/ Structures de Données / N. El Faddouli 38 FileVide: este si la file est vide et retourne vrai ou faux Implémentation statique par un tableau: - Simplicité d'implémentation. - Quand le nombre d'insertions est à priori limité. - ableau contenant les éléments de la file. - Deux indices, représentant respectivement le début et la fin de la file. - Opération supplémentaire: Fileleine qui détermine si une file est pleine. EMI/ Structures de Données / N. El Faddouli 39 4

5 Les Files - Implémentation en langage C: typedef struct Version 1: intn; /* Nombre maximal d'éléments*/ int, Q; /*tête et queue de file*/ int *E; /* représente les éléments de la file*/ / File; - La tête de la file ne change pas ( = 0) - La queue Q de la file contient l'indice du dernier élément ajouté dans la file. File InitFile (int a) /* file de a élément*/ File F ; F.N = a ; F. = 0; F.Q = 0; /* aille maximale de la file*/ F.E = (int *) malloc( a * sizeof(int) ); return (F); EMI/ Structures de Données / N. El Faddouli 40 int FileVide( File F) return ( F.Q Q == 0); int ete( File F) return (F.E [ F. ]); int Fileleine( File F) return (F.Q == F.N) ; int Enfiler (File *F, int a) Les Files if (Fileleine (*F)) return 0; else (*F).E[ (*F).Q ]=a; (*F).Q ++; return 1; F->Q ++; F->E [ F->Q ] = a; EMI/ Structures de Données / N. El Faddouli 41 5

6 int Defiler (File *F) Les Files int i ; if (FileVide (*F)) return 0; else /* Suppression du premier élément */ for (i=0; i<(*f).q - 1; i++ ) (*F) (F).Q --; return 1; (*F).E [ i ] = (*F).E [ i+1 ]; Le temps d'exécution de la fonction Defiler dépend du nombre d'élément de la file (peut être N éléments) Les autres fonctions ont un temps d'exécution invariant. Comment faire pour que le temps d'exécution de Defiler soit invariant lui aussi? (Voir la version 2) EMI/ Structures de Données / N. El Faddouli 42 Les Files Version 2: File circulaire - Éviter le décalage des éléments au défilement. Exemple: File F de aille maximale 3 ( on prévoit 4 cases: aille =4 ) Après les opérations: Enfiler(F, X ); Q X Après les opérations: Enfiler(F, Y ); Enfiler(F, Z ); Q X Y Z File pleine Après les opérations: Défiler( F) ; Enfiler(F, R ); Q File pleine Y Z R EMI/ Structures de Données / N. El Faddouli 43 6

7 typedef struct Les Files int N; /*Nombre maximal */ int, Q; int *E; File; File InitrFile (int a) File F ; /* tête et queue de file*/ /* représente les éléments de la file*/ F.N = a ; F. = 0; F.Q = 0; F.E = (int *) malloc( a * sizeof(int) ); return (F); int ete(file F) return F.E [ F. ]; Les Files int Enfiler (File *F, int a) if (Fileleine (*F)) return 0; else F- E [? F- Q ]=a;] = a; F- Q =? (F- Q +1 ) % F- N ; return 1; int Defiler (File *F) if (FileVide (*F)) return 0; else F- =?; ( F- + 1) % F- N ; return 1; int Fileleine( File F) if (F.== (F.Q+1) % F.N) return 1; else return 0; int FileVide( File F) if(f. == F.Q ) return 1; else return 0; EMI/ Structures de Données / N. El Faddouli 44 EMI/ Structures de Données / N. El Faddouli 45 7

8 Exercice 1 Évaluation des expressions ostfixées - Notation infixe: l opérateur se trouve entre les deux opérandes. Exemple: A+B. - Deux autres notations existent: 1- La notation préfixée: l opérateur est placé avant les opérandes. Exemple: +AB. 2- La notation postfixée (polonaise): l opérateur est placé après les opérandes. Exemple: AB+. - On doit connaître la priorité des opérateurs. Quand on écrit A+B*C, c est équivalent à: A+(B*C). - our convertir l expression A+(B*C) en postfixée on effectue les étapes suivantes : A+(B*C) A+(BC*) ABC*+ Exercice 1 - our traduire une expression arithmétique (infixe) en une expression en notation polonaise, il faut : 1- Convertir la partie la plus prioritaire 2- La partie convertie est ensuite considérée comme un opérande. Exemple : (A+B)*C (AB+)*C AB+C* (A+B)*(C-D) (A+B)(C-D)* AB+CD-* Si on considère l opérateur d exponentiation noté par $: A$B*C-D+E//(G+H). Remarques: - as de parenthèses dans les expressions postfixées. - L ordre des opérateurs l ordre des opérations. - Un opérateur dans une expression postfixée s applique aux deux opérandes qui le précèdent. - Ces opérandes peuvent à leur tour être le résultat de l application d un opérateur *+ = 3+20 = * = 7 * 5 = 35 EMI/ Structures de Données / N. El Faddouli 46 EMI/ Structures de Données / N. El Faddouli 47 8

9 Exercice 1 Exercice 2 Algorithme général : On utilisera une pile, ileoperande our i 0 à Longueur(E) -1 Si E[ i ] est un opérande alors Empiler (ileoperande, E[ i ] ) Sinon Sommet (ileoperande, val1 ) Fin our Depiler (ileoperande) Sommet (ileoperande, val2 ) Depiler (ileoperande) Res appliquer E[ i ] à val2 et val1 Empiler ( ileoperande, Res) Sommet (ileoperande, Resultat ) Depiler(ileOperande) Ecrire "Résultat de calcul de", E, " est ", Resultat.A.F: Ecrire la fonction: float Calcul( char E[ ]) qui retourne le résultat de l expression postfixée E. EMI/ Structures de Données / N. El Faddouli 48 On veut créer une file d attente d une imprimante. Cette file d attente contient des fichiers à imprimer sachant qu un fichier est caractérisé par: Un nom ( Nom ) Le nombre de page (N) 1) Définir la structure Document représentant un fichier. 2) Définir la structure File représentant une file d attente de fichier (document à imprimer). 3) Réécrire les fonctions: InitFile ete Enfiler Remarque: Les autres fonction restent inchangées. 4) Écrire un programme principal pour tester ces fonctions EMI/ Structures de Données / N. El Faddouli 49 9

10 Un tableau: - aille Fixe - Les éléments en mémoire sont contigus. - Difficulté de redimensionner le tableau. - realloc permet de redimensionner un tableau avec éventuellement un déplacement en mémoire de ses éléments realloc coûteuse en temps de traitement. Exemple: int*t=(int*)malloc (4 * sizeof(int));. t=(int*)realloc ( t, 20 * sizeof(int)); Une liste chaînée: - Un ensemble d'éléments non contigus organisés séquentiellement. Opérations sur une liste chaînée: Ces opérations sont basées sur la manipulation des liens - Simplicité d'ajout d'un élément.(ajout de 5 entre 8 et 1) Vs un tableau: Il faut décaler à droite les cases qui suivront la position d'insertion. - Simplicité de suppression ( supprimer 8 par exemple) Vs un tableau: lien noeud EMI/ Structures de Données / N. El Faddouli 50 Il faut décaler à gauche les cases qui suivent l'élément à supprimer. EMI/ Structures de Données / N. El Faddouli 51 10

11 Comment représenter les nœuds et les liens? - Un nœud est une structure t contenant: t les données utilisateur (entier, réel, ). (les éléments de la liste) un pointeur (lien) vers le nœud suivant Le dernier nœud a un lien NULL 6 Adresse = On mémorise l'adresse du premier nœud dans un pointeur appelé l'en-tête de la liste chaînée. 20. Structure en C représentant un noeud Exemple: Une liste d'entiers typdef struct Element V Suiv int V ; // une donnée utilisateur struct Element *Suiv; //pointeur sur l'élément suivant Nœud; Une liste vide: L'initialisation de l'en-tête avec la valeur NULL permet d'indiquer une liste vide. Exemple: void main() Nœud *; = NULL; EMI/ Structures de Données / N. El Faddouli 52 EMI/ Structures de Données / N. El Faddouli 53 11

12 Insérer un élément au début d'une liste Nœud * InsererDebut ( Nœud *, int X) Le nouvel en-tête de la liste après l'insertion En-tête de la liste Entier à insérer au début de la liste (2) Le champ Suiv du nouveau nœud doit pointer sur le premier nœud de la liste X ->Suiv = ; (1) Créer un nouveau nœud pointé par un pointeur et contenant l'entier X. X Nœud *; = (Nœud *) malloc ( sizeof (Noeud) ); ->V = X; /* ou (*).V = X */ EMI/ Structures de Données / N. El Faddouli 54 Le nouvel en-tête de la liste est: Nœud * InsererDebut ( Nœud *, int X) Nœud * = (Nœud *) malloc ( sizeof (Noeud) ); ->V=X; ->Suiv = ; return ; EMI/ Structures de Données / N. El Faddouli 55 12

13 Exercice 1 Écrire un programme principal (main) permettant à l'utilisateur de saisir plusieurs entiers jusqu'à ce qu'il veuille s'arrêter. Chaque valeur saisie doit être insérer au début d'un liste chaînée (appel de InsererDebut). Afficher une liste chaînée void AfficherListe ( Nœud *) En-tête de la liste 20 6 (1) Utiliser un pointeur initialisé à. (2) ant Que NULL - Afficher le champ V du nœud pointé par. - ositionner sur le nœud suivant - Revenir à (2) EMI/ Structures de Données / N. El Faddouli 56 EMI/ Structures de Données / N. El Faddouli 57 13

14 void AfficherListe ( Nœud *) Nœud * = ; while (!= NULL) /* ou while ( ) */ printf("%d \t", ->V ); = ->Suiv; void AfficherListe ( Nœud *) if (!= NULL) printf("%d \t", ->V ); AfficherListe (->Suiv); Exercice 2 - Écrire et faire appel à une fonction récursive qui retourne le nombre d'éléments d'une liste chaînée. int aille ( Nœud *) EMI/ Structures de Données / N. El Faddouli 58 EMI/ Structures de Données / N. El Faddouli 59 14

15 Déterminer l'adresse du dernier noeud. Nœud * DernierNoeud ( Nœud *) Adresse du dernier noeud En-tête de la liste 20 6 (1) Utiliser un pointeur initialisé à. (2) ant Que ->Suiv NULL - ositionner sur le nœud suivant - Revenir à (2) 7 Nœud * DernierNoeud ( Nœud *) Nœud * = ; if ( == NULL) return ; while ( ->Suiv!= NULL) /* ou while (!->Suiv ) */ =->Suiv; retrun ; Cas articulier - Si la liste est vide: == NULL On ne peut pas parler de ->Suiv. EMI/ Structures de Données / N. El Faddouli 60 EMI/ Structures de Données / N. El Faddouli 61 15

16 Insérer un élément à la fin d'une liste Nœud * InsererFin ( Nœud *, int X) Le nouvel en-tête de la liste après l'insertion En-tête de la liste Entier à insérer à la fin de la liste (1) Créer un nouveau nœud pointé par un pointeur et contenant l'entier X. Nœud *; = (Nœud *) malloc ( sizeof (Noeud) ); ->V = X; /* ou (*).V = X */ ->Suiv = NULL; EMI/ Structures de Données / N. El Faddouli 62 X (2) Stocker dans un pointeur Q l'adresse du dernier noeud. Q (3) Faire le chaînage entre les deux nœuds pointés respectivement par Q et. Q->Suiv = ; Nœud * InsererFin ( Nœud *, int X) Nœud *, *Q; = (Nœud *) malloc ( sizeof (Noeud) ); ->V=X; ->Suiv = NULL; if ( == NULL) return ; Q = DernierNoeud( ); Q->Suiv = ; return ; Cas particulier: Liste vide : = NULL EMI/ Structures de Données / N. El Faddouli 63 X 16

17 Supprimer le premier nœud: Nœud * SupprimerDebut ( Nœud *) Le nouvel en-tête de la liste après la suppression En-tête de la liste (1) Mémoriser la valeur de dans un pointeur. Nœud *; =; (2) ositionner sur le deuxième nœud. Nœud * SupprimerDebut ( Nœud *) Nœud * = ; if ( == NULL) return ; = ->Suiv ; free(); retrun ; Cas particulier -Listevide: == NULL = ->Suiv; (3) Libérer l'espace occupé par le nœud pointé par. free(); (4) Retourner. EMI/ Structures de Données / N. El Faddouli 64 EMI/ Structures de Données / N. El Faddouli 65 17

18 Supprimer le dernier nœud: Nœud * SupprimerFin ( Nœud *) Nœud * SupprimerFin ( Nœud *) Le nouvel en-tête de la liste après la suppression En-tête de la liste (1) Mémoriser la valeur de dans un pointeur. Nœud *; =; (2) ositionner sur l'avant dernier nœud. (3) Libérer l'espace occupé par le dernier nœud. Nœud * = ; if ( == NULL) return NULL; if (->Suiv == NULL) free( ) ; return NULL; while(->suiv->suiv) = ->Suiv; free ( ->Suiv ) ; ->Suiv = NULL; retrun ; free(->suiv); (4) Le champ Suiv du nœud pointé par reçoit la valeur NULL. ->Suiv = NULL; EMI/ Structures de Données / N. El Faddouli 66 Cas particuliers -Listevide: == NULL - Liste contenant un seul noeud : ->Suiv == NULL EMI/ Structures de Données / N. El Faddouli 67 18

19 Représentation dynamique d une pile Représentation dynamique d une pile 1. Définir une structure ile représentant une liste d entiers. 2. Ecrire les fonctions suivantes: ile * Empiler( ile *, int x) ile * Depiler (ile *) int Sommet(ile *, int *x) int ilevide(*) EMI/ Structures de Données / N. El Faddouli 68 EMI/ Structures de Données / N. El Faddouli 69 19

20 Représentation dynamique d une pile Représentation dynamique d une file 1. Définir une structure Nœud représentant une liste d entiers. 2. Définir i une structure t File contenant t deux pointeurs de type Nœud. 3. Ecrire les fonctions suivantes: File InitFile( ) Créer une file dont les deux pointeurs sont égales à NULL. void Enfiler ( File *F, int x) void Defiler (File *F) int ete(file *F, int *x) int FileVide(File *F) EMI/ Structures de Données / N. El Faddouli 70 EMI/ Structures de Données / N. El Faddouli 71 20

21 Représentation dynamique d une file Représentation dynamique d une file EMI/ Structures de Données / N. El Faddouli 72 EMI/ Structures de Données / N. El Faddouli 73 21

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files

T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files Chapitre 7 (suite) Listes particulières Pile : liste particulière T. A. D. pile insertion et suppression au sommet de la pile extraction Files queue Listes doublement chaînées insertion file : liste particulière

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct... Université Bordeaux 1 table des matières Licence Semestre 3 - Algorithmes et structures de données 1 Dernière mise à jour effectuée le 23 Octobre 2013 Piles et Files Déitions Primitives de piles, exemples

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; }; #include #include struct cell int clef; struct cell suiv; ; / longueur. pc->suiv est l abréviation de (pc).suiv. pour cette fonction comme pour les suivantes, on donne, lorsqu il existe

Plus en détail

Travaux Dirigés n 1 : chaînes de caractères

Travaux Dirigés n 1 : chaînes de caractères UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Chapitre 1 : La gestion dynamique de la mémoire

Chapitre 1 : La gestion dynamique de la mémoire Chapitre 1 : La gestion dynamique de la mémoire En langage C un programme comporte trois types de données : Statiques; Automatiques ; Dynamiques. Les données statiques occupent un emplacement parfaitement

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

INITIATION A LA PROGRAMMATION

INITIATION A LA PROGRAMMATION 2004-2005 Université Paris Dauphine IUP Génie Mathématique et Informatique INITIATION A LA PROGRAMMATION PROCEDURALE, A L'ALGORITHMIQUE ET AUX STRUCTURES DE DONNEES PAR LE LANGAGE C Maude Manouvrier La

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Programmation Classique en langage C

Programmation Classique en langage C DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

SUPPORT DE COURS. Langage C

SUPPORT DE COURS. Langage C Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier Cours de C Petits secrets du C & programmation avancée Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

Exercices INF5171 : série #3 (Automne 2012) Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007 1 Cours de génie logiciel (d'après A.-M. Hugues) Assurance Qualité Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 23/04/2007 2 Les deux facettes de la qualité Conformité avec la définition

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

Structurer ses données : les tableaux. Introduction à la programmation

Structurer ses données : les tableaux. Introduction à la programmation Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1 Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

Le langage C. Introduction, guide de reference

Le langage C. Introduction, guide de reference Le langage C Introduction, guide de reference Ce document est une présentation du langage de programmation C, de sa syntaxe et de ses spécificités. Il est destiné essentiellement à servir de mémo-guide

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

COMPARAISONDESLANGAGESC, C++, JAVA ET

COMPARAISONDESLANGAGESC, C++, JAVA ET REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY

Plus en détail