TP2 : tableaux dynamiques et listes chaînées
|
|
- Élisabeth Turgeon
- il y a 8 ans
- Total affichages :
Transcription
1 Licence 2 Informatique 9 / 2014 TP2 : tableaux dynamiques et listes chaînées Contact.h 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef struct contact { 5 char *nom; 6 char *num; 7 char *adresse; 8 char *titre; 9 }contact; 10 Proposition de corrigé par Mahdi Benmoussa 11 //Fonction pour la création de contacts 12 contact creercontact (char *nom, char *num, char *adresse, char *titre){ 13 contact c; 14 c.nom = (char*) malloc(sizeof(char)); 15 c.num = (char*) malloc(sizeof(char)); 16 c.adresse = (char*) malloc(sizeof(char)); 17 c.titre = (char*) malloc(sizeof(char)); c.nom = nom; 20 c.num = num; 21 c.adresse = adresse; 22 c.titre = titre; return c; 25 } //Fonction pour la modification du nom du contact 28 void modificationnom (char **nom, char **num, char **adresse, char **titre, 29 char *nouveau1, char *nouveau2, char *nouveau3, char *nouveau4){ 30 *nom = nouveau1; 31 *num = nouveau2; 32 *adresse = nouveau3; 33 *titre = nouveau4; 34 //return nom; 35 } //Fonction qui affiche un contact 38 void affichercontact (contact c){ 39 printf("nom du contact : %s \n",c.nom); 40 printf("numéro du contact : %s \n",c.num); 41 printf("adresse mail du contact : %s \n",c.adresse); 42 printf("titre professionnel du contact : %s \n",c.titre); 43 } Liste.h 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 1
2 4 #include "Contact.h" 5 6 typedef struct liste{ 7 contact c; 8 struct liste *suiv; 9 }ls; //Fonction d insertion de contacte 12 ls *inserercontact (contact c, ls *l){ 13 ls *p = (ls*) malloc (sizeof(ls)); 14 p->c = c; if(l == NULL){ 17 p->suiv = NULL; 18 l->suiv = p; 19 }else{ 20 p->suiv = l->suiv; 21 l->suiv = p; 22 } return l; 25 } //Fonction de suppression de contacte 28 ls *supprimercontact (contact c, ls *l){ 29 ls *pt, *pred; 30 if (l == NULL) 31 return NULL; 32 else{ 33 pt = (ls*) malloc (sizeof(ls)); 34 pt = l->suiv; 35 pred = (ls*) malloc (sizeof(ls)); 36 pred = l->suiv; 37 if(strcmp(l->suiv->c.nom,c.nom)==0 && 38 strcmp(l->suiv->c.num,c.num)==0 && 39 strcmp(l->suiv->c.adresse,c.adresse)==0 && 40 strcmp(l->suiv->c.titre,c.titre)==0) 41 l->suiv = l->suiv->suiv; 42 else{ 43 while (pt!=null){ 44 if(strcmp(pt->c.nom,c.nom)==0 && 45 strcmp(pt->c.num,c.num)==0 && 46 strcmp(pt->c.adresse,c.adresse)==0 && 47 strcmp(pt->c.titre,c.titre)==0){ 48 pred->suiv = pt->suiv; 49 free(pt); 50 break; 51 }else{ 52 pred=pt; 53 pt=pt->suiv; 54 } 55 } 56 } 57 return l; 58 } 59 } //Fonction de mdofication de contacte 62 ls *modifiercontact (char *nom, char *num, char *adresse, char *titre, 63 char *nouveau1, char *nouveau2, char *nouveau3, char *nouveau4, ls *l){ 64 ls *pt; 65 if (l == NULL) 66 return NULL; 67 else{ 68 pt = l->suiv; 69 while (pt!=null){ 2
3 70 if(strcmp(pt->c.nom,nom)==0 && 71 strcmp(pt->c.num,num)==0 && 72 strcmp(pt->c.adresse,adresse)==0 && 73 strcmp(pt->c.titre,titre)==0){ 74 modificationnom(&pt->c.nom,&pt->c.num,&pt->c.adresse,&pt->c.titre, 75 nouveau1,nouveau2,nouveau3,nouveau4); 76 break; 77 }else{ 78 pt=pt->suiv; 79 } 80 } 81 return l; 82 } 83 } //Afficher tous les contacts 86 void afficherlistecontacts(ls *l){ 87 ls *pt = l->suiv; 88 printf("******************** \n"); 89 printf("liste des contacts : \n"); 90 printf("******************** \n"); 91 if(l==null l->suiv==null) 92 printf("la liste est vide, il n y a pas de contacts! \n"); 93 else{ 94 while (pt!=null) 95 { 96 affichercontact(pt->c); 97 printf(" \n"); 98 pt=pt->suiv; 99 } 100 } 101 } //Fonction pour chercher un contacte 104 ls *cherchercontact(char *nom, char *num, ls *l){ 105 ls *pt = l->suiv; while (pt!= NULL){ 108 if(strcmp(pt->c.nom,nom)==0&&strcmp(pt->c.num,num)==0){ 109 break; 110 } 111 pt = pt->suiv; 112 } 113 return pt; 114 } //Fonction pour trier les contactes 117 ls *trier (ls *l){ 118 int veriter = 0; 119 ls *pt, *tempo; 120 tempo = NULL; 121 pt = l->suiv; 122 while (pt!=null){ 123 ls *nouv = (ls*) malloc(sizeof(ls)); 124 nouv->c.nom = pt->c.nom; 125 nouv->c.num = pt->c.num; 126 nouv->c.adresse = pt->c.adresse; 127 nouv->c.titre = pt->c.titre; 128 if (tempo == NULL){ 129 tempo = (ls*) malloc(sizeof(ls)); 130 tempo->suiv = nouv; 131 nouv->suiv = NULL; 132 } 133 else{ 134 ls *ptempo = tempo->suiv; 135 ls *pred = tempo; 3
4 136 while (ptempo!= NULL){ 137 if (strcmp(pt->c.num, ptempo->c.num) < 0){ 138 pred->suiv = nouv; 139 nouv->suiv = ptempo; 140 veriter = 1; 141 break; 142 } 143 pred = ptempo; 144 ptempo = ptempo->suiv; 145 } 146 if (veriter == 0) 147 pred->suiv = nouv; 148 else 149 veriter = 0; 150 } 151 pt = pt->suiv; 152 } 153 return tempo; 154 } //Affichage du Menu 157 void affichermenu (){ 158 printf(" \n Menu : \n"); 159 printf("option 0 : Quitter l application \n"); 160 printf("option 1 : Charger les contacts depuis un fichier \n"); 161 printf("option 2 : Sauvgarder les contacts dans un fichier \n"); 162 printf("option 3 : Insérer un contact \n"); 163 printf("option 4 : Supprimer un contact \n"); 164 printf("option 5 : Modifier un contact \n"); 165 printf("option 6 : Afficher tous les contacts \n"); 166 printf("option 7 : Chercher un contact \n"); 167 printf("option 8 : Trier les contacts \n"); 168 } //Fonction pour le traitement de la lecture des chaines de caractères 171 static void purger(void) 172 { 173 int c; while ((c = getchar())!= \n && c!= EOF) 176 {} 177 } 178 //Fonction pour le traitement de la lecture des chaines de caractères 179 static void clean (char *chaine) 180 { 181 char *p = strchr(chaine, \n ); if (p) 184 { 185 *p = 0; 186 } else 189 { 190 purger(); 191 } 192 } //traitement du menu de l application 195 ls *traitementmenu (ls *l){ 196 //Déclaration de variables : 197 int j; 198 //int i; //printf("choisir le type de structures à utiliser : "); 201 //scanf("%d",&i); 4
5 202 //Travail sur le choix de la structure affichermenu(); 205 scanf("%d",&j); 206 purger(); while (1){ 210 contact c; 211 char *nom, *num,*adresse,*titre, *nouveau1,*nouveau2,*nouveau3,*nouveau4; 212 nom = (char*) malloc(sizeof(char)); 213 num = (char*) malloc(sizeof(char)); 214 adresse = (char*) malloc(sizeof(char)); 215 titre = (char*) malloc(sizeof(char)); 216 nouveau1 = (char*) malloc(sizeof(char)); 217 nouveau2 = (char*) malloc(sizeof(char)); 218 nouveau3 = (char*) malloc(sizeof(char)); 219 nouveau4 = (char*) malloc(sizeof(char)); 220 switch (j){ 221 case 0: system("clear"); 222 printf("merci pour visite, au revoir! \n"); 223 exit(0); 224 case 1: printf("cette option n est pas encore disponible \n"); 225 break; 226 case 2: printf("cette option n est pas encore disponible \n"); 227 break; 228 case 3: //system("clear"); 229 printf("veuillez entrez les informations du contact a inserer \n"); 230 printf("le nom : "); 231 fgets(nom, 256, stdin); 232 clean(nom); 233 printf("le numéro : "); 234 fgets(num, 256, stdin); 235 clean(num); 236 printf("l adresse mail : "); 237 fgets(adresse, 256, stdin); 238 clean(adresse); 239 printf("le titre professionnel : "); 240 fgets(titre, 256, stdin); 241 clean(titre); 242 c=creercontact(nom,num,adresse,titre); 243 l=inserercontact(c,l); 244 break; 245 case 4: printf("veuillez entrez les informations du contactà supprimer \n"); 246 printf("le nom : "); 247 fgets(nom, 256, stdin); 248 clean(nom); 249 printf("le numéro : "); 250 fgets(num, 256, stdin); 251 clean(num); 252 printf("l adresse mail : "); 253 fgets(adresse, 256, stdin); 254 clean(adresse); 255 printf("le titre professionnel : "); 256 fgets(titre, 256, stdin); 257 clean(titre); 258 c=creercontact(nom,num,adresse,titre); 259 l=supprimercontact(c,l); 260 break; 261 case 5: printf("veuillez entrez les informations du contacts à modifier 262 ainsi que les nouvelles informations \n"); 263 printf("le nom : "); 264 fgets(nom, 256, stdin); 265 clean(nom); 266 printf("le numéro : "); 267 fgets(num, 256, stdin); 5
6 268 clean(num); 269 printf("l adresse mail : "); 270 fgets(adresse, 256, stdin); 271 clean(adresse); 272 printf("le titre professionnel : "); 273 fgets(titre, 256, stdin); 274 clean(titre); 275 printf("le nouveau nom : "); 276 fgets(nouveau1, 256, stdin); 277 clean(nouveau1); 278 printf("le nouveau numéro de téléphone : "); 279 fgets(nouveau2, 256, stdin); 280 clean(nouveau2); 281 printf("la nouvelle adresse mail : "); 282 fgets(nouveau3, 256, stdin); 283 clean(nouveau3); 284 printf("le nouveau titre : "); 285 fgets(nouveau4, 256, stdin); 286 clean(nouveau4); 287 l=modifiercontact(nom,num,adresse,titre, 288 nouveau1,nouveau2,nouveau3,nouveau4,l); 289 break; 290 case 6: afficherlistecontacts(l); 291 break; 292 case 7: printf("veuillez saisir le nom et le numéro de téléphone 293 du contacte à chercher \n"); 294 fgets(nom, 256, stdin); 295 clean(nom); 296 fgets(num, 256, stdin); 297 clean(num); 298 ls *pt = cherchercontact(nom, num, l); 299 if (pt!= NULL){ 300 printf("recherche réussi, voici votre contacte \n"); 301 printf("nom = %s \nnum = %s \n = %s \nprofession = %s \n", 302 pt->c.nom,pt->c.num,pt->c.adresse,pt->c.titre); 303 } 304 else 305 printf("le contacte n existe pas \n!"); 306 break; 307 case 8: l = trier(l); 308 if (l->suiv == NULL) 309 printf("echec du trie, liste vide! \n"); 310 else 311 printf("trie réussi! \n"); 312 break; 313 default: printf("votre choix n est pas correcte!"); 314 break; } 317 affichermenu(); 318 scanf("%d",&j); 319 purger(); 320 system("clear"); 321 } 322 } Principale.c 1 #include "Liste.h" 2 3 int main (){ 4 5 ls *l = (ls*) malloc (sizeof(ls)); 6 l->suiv = NULL; 7 6
7 8 l=traitementmenu(l); 9 10 return 0; 11 } 7
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étailBrefs 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étailLes 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étailLes 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étailProgramme 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étailArchivage Messagerie Evolution pour usage HTML en utilisant Hypermail
Finalités Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Réalisé par sa modestie Arnaud de VILLEDON de NAIDE, le 9 mars 2013 Document sous licence GPL. Vous avez le droit d'en faire
Plus en détailCentre 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étailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailLes 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étail1/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étailLe 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étailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailChapitre 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#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étailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailProgrammation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Plus en détailMISE 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étailLes fichiers. Chapitre 4
Chapitre 4 Les fichiers Jusqu à maintenant tous les programmes que nous avons conçus travaillaient sur des données qui étaient perdues après chaque session de travail. On peut cependant, c est bien naturel,
Plus en détailCours 6 : Tubes anonymes et nommés
Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels
Plus en détailTRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique
Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père
Plus en détailProgrammation 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étailBases 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étailINITIATION 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étailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Plus en détail3IS - Système d'exploitation linux - Programmation système
3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des
Plus en détailLicence 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étailInitiation. à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étailCours 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étailCours de C. Allocation dynamique. Sébastien Paumier
Cours de C Allocation dynamique Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Les pointeurs pointeur=adresse mémoire+type type* nom; nom pointe sur une
Plus en détailCours 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étailCompression 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étailMINIMUM. connaissances nécessaires à la programmation des microcontrôleurs PIC18 en langage C (une introduction au langage c A.N.S.
MINIMUM connaissances nécessaires à la programmation des microcontrôleurs PIC18 en langage C (une introduction au langage c A.N.S.I maj n 4) Equipe de formation sur les microcontrôleurs PIC Robert Toquebeuf
Plus en détail03/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étailIntroduction au Langage de Programmation C
Faculté Polytechnique de Mons Service d'informatique Introduction au Langage de Programmation C Mohammed Benjelloun 1 ère Candidature Année académique 2003-2004 Avant-propos Ces notes permettent de se
Plus en détailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Plus en détailOS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
Plus en détailLe Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012
Le Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012 2011/2012 Pr. Ben Mamoun 1 Plan du cours (1) 1. Introduction 2. Types, opérateurs
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détailINF 104 (SELC) 2012-2013 Introduction au langage C
INF 104 (SELC) 2012-2013 Introduction au langage C Plan Première partie C après Java Structure d un programme Préprocesseur Variables Types de base Types composés Pointeurs(1) Instructions Deuxième partie
Plus en détailDNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN
Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10
Plus en détailAlgorithmique, 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étail30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2
2ème partie de cours: 23.fév.10 Cours 1 20.avr.10 TEST 24.fév.10 TP1 21.avr.10 miniprojet 26.fév.10 TP réserve 23.avr.10 miniprojet 2.mars.10 Cours 2 27.avr.10 Présentation miniprojet 3.mars.10 TP2 28.avr.10
Plus en détailSUPPORT 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étailProgrammation 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étailConventions 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étailIN 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étailDans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailCOURS DE LANGAGE C. DIAO Oumar. oumar.diao@univ-rennes1.fr. Université de Rennes 1. Master 1
COURS DE LANGAGE C DIAO Oumar oumar.diao@univ-rennes1.fr Université de Rennes 1 Master 1 théorie de l'information & cryptographie analyse numérique & modélisation Année universitaire 20112012 1 Table des
Plus en détailDerrière toi Une machine virtuelle!
Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936
Plus en détailCOMPARAISONDESLANGAGESC, 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étailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE Question 1 : Un câble de catégorie 5 fait référence a : A un câble coaxial fin B un câble coaxial épais C une paire torsadée non blindée (UTP) D une paire torsadée
Plus en détailPré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étailProgrammation 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étailBASES DE DONNEES TP POSTGRESQL
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique IUP 2 ème année et Formation Continue BASES DE DONNEES TP POSTGRESQL Maude Manouvrier La reproduction de ce document par tout
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailExceptions. 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étailLe système de gestion des fichiers, les entrées/sorties.
Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19
Plus en détailProgrammation client-serveur sockets - RPC
Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia
Plus en détailProgrammer 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étailProgrammation en langage C Eléments de syntaxe
Programmation en langage C Eléments de syntaxe Université Paul Sabatier IUP Systèmes Intelligents L2 Module Informatique de base 2 Initiation à la programmation en langage C Isabelle Ferrané SOMMAIRE I-
Plus en détailInfo0101 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étailLEs processus coopèrent souvent pour traiter un même problème. Ces
Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)
Plus en détailTravaux 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É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étailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
Plus en détailSuivant 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étailCOURS D'INFORMATIQUE: LANGAGE C NOTES DE COURS
MASTER PROFESSIONEL LASERS, MATERIAUX, MILIEUX BIOLOGIQUES COURS D'INFORMATIQUE: LANGAGE C NOTES DE COURS Christine ANDRAUD 2007/08 2 PLAN DU COURS: I. Introduction II. III. IV. Notions de bases Types
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailAnis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia
Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba SUPPORT DE COURS
Plus en détailTravaux 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étailProgrammation C. J.-F. Lalande. 15 novembre 2012
Programmation C J.-F. Lalande novembre 0 Ce cours est mis à disposition par Jean-François Lalande selon les termes de la licence Creative Commons Attribution - Pas d Utilisation Commerciale - Partage à
Plus en détailProgrammation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P.
Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. 86 63172 AUBI Une version PDF de ce document est téléchargeable sur mon site web,
Plus en détailOutils pour la pratique
Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.
Plus en détailAlgorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)
Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie
Plus en détailAssurance 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étailTD2/TME2 : Ordonnanceur et Threads (POSIX et fair)
UE PC2R page 1/8 TD2/TME2 : Ordonnanceur et Threads (POSIX et fair) Exercice 1 (Modélisation) Chemin de Fer Cet exercice est dédié à l étude d un problème de circulation de trains : Voie! out1 in1 Voie!
Plus en détailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailas 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étailProgrammation en C. École Nationale Supérieure de Techniques Avancées. Pierre-Alain Fouque et David Pointcheval
École Nationale Supérieure de Techniques Avancées Programmation en C Pierre-Alain Fouque et David Pointcheval E-mail : Pierre-Alain.Fouque@ens.fr Web : http://www.di.ens.fr/~fouque/ Table des matières
Plus en détailCours de programmation avancée. Le langage C. Université du Luxembourg 2005 2006
Université du Luxembourg 2005 2006 Cours de programmation avancée. Le langage C Sébastien Varrette Version : 0.4 Nicolas Bernard 2 Table des matières
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailAlgorithmique 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étailLes processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailINF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini
Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1// Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble 2/52 Introduction Structures de contrôle
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
Plus en détailINTRODUCTION À LA PROGRAMMATION CONCURRENTE
INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente
Plus en détailPHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Plus en détailGestion de la mémoire
433 43 3 Gestion de la mémoire + 1. Qu'est-ce que la mémoire? - Définitions, exemples 2. Allocation contiguë en mémoire - Partitions de taille fixe, de taille variable 3. Pagination et mémoire virtuelle
Plus en détailBULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Plus en détailTestez votre installation. Créer un répertoire vide
http://www.gnu.org/software/dejagnu/ Exposé sur DejaGNU Sommaire Présentation 1 Comment l obtenir.. 1 Comment obtenir la documentation 1 Comment çà marche 1 Remarque 5 Présentation DejaGnu est un système
Plus en détailChapitre 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étailComment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org
Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Diffusé par Le Projet Documentation OpenOffice.org OpenOffice.org Documentation Project How-To Table des matières 1. Introduction...3
Plus en détailProgrammation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Plus en détailProgrammation 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étailUtilisation 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étailCours de Système : Gestion de Fichiers
Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)
Plus en détail