2.5- Les flux. 1- Librairies de flux. 2- Manipulation de cin. 3- Lecture et écriture de fichiers. 4- Les flux et les chaînes
|
|
- Marie-Josèphe Coutu
- il y a 8 ans
- Total affichages :
Transcription
1 2.5- Les flux 1- Librairies de flux 2- Manipulation de cin 3- Lecture et écriture de fichiers 4- Les flux et les chaînes 5- Passage de paramètres en ligne de commande 6- Un exemple de récupération CSV Depuis le premier exemple développé dans le chapitre 1.1, on utilise la librairie iostream et notamment l'objet std::cout qui un flux vers l'invite de commandes Windows ou le shell Linux. Les objets flux gèrent l'interfaçage vers les différents éléments et peuvent être conçus de manière assez complexe. Par exemple, les flux vers les fichiers peuvent intégrer une mémoire tampon : pour éviter d'accéder constamment au disque dur (lent), le flux remplit une mémoire tampon au fur et à mesure des instructions d'écriture qui apparaissent dans le code. L'écriture sur le disque se fait alors en une seule fois, lorsque le tampon est plein (ou selon d'autres modalités). 1- Librairies de flux On a déjà utilisé la librairie iostream : celle ci contient quatre variables objet. Une variable de type istream (flux entrant) : cin et trois variables de types ostream (flux sortant) : cout, cerr, clog. Deux autres librairies de flux vont être évoquées dans ce cours. <fstream> est une librairie qui permet de manipuler des fichiers. <sstream> est une librairie qui permet de manipuler les string comme si elles étaient des flux. On peut trouver une visualisation plus complète des librairies de flux : Si on teste les flux cerr et clog par défaut, on constate qu'ils écrivent sur l'invite de commande à l'instar de cout. Noter qu'on peut
2 rediriger les flux, ce qui n'est pas évoqué ici. La redirection des flux consiste à orienter le flux cout (ou cerr ou clog) vers un fichier par exemple, et non plus vers l'invite de commandes. De manière générale, un stream ou flux est un objet qui transporte et formate des caractères. Deux grandes catégories : istream (un flux en entrée) et ostream (un flux de sortie). Pour les objets-flux d'entrée, on a ifstream (flux d'import depuis un fichier), istringstream (flux d'entrée depuis une chaîne de caractères). Pour les objets-flux de sortie, on a ofstream (flux d'export vers un fichier), ostringstream (flux de sortie vers une chaîne). Deux opérateurs sont utilisés : << qui est un opérateur d'insertion (on met les données dans un flux), >> qui est n opérateur d'extraction (on récupère des données depuis un flux). 2- Manipulation de cin cin a déjà été évoqué dans le chapitre 1.2. On développe un exemple proche de celui proposé en 1.2 : double x,y; std::cout << "Rentrer une premiere valeur\n"; std::cin >> x; std::cout << "Rentrer une seconde valeur\n"; std::cin >> y; std::cout << "x : " << x << "\ty : " << y << "\n"; Dans ce code, std::cin >> x envoie le contenu du flux dans x. L'utilisateur valide une saisie en utilisant la touche entrée. En plus des valeurs numériques, cin peut gérer les arguments de type char*. char prenomutilisateur[100]; cout << "Quel est votre prenom?\n"; cin >> prenomutilisateur; std::cout << "A ete saisi : " << prenomutilisateur << "\n"; cin rajoute automatiquement \0 à la fin de la chaîne qui a été saisie. Si l'utilisateur saisi "Jean", alors la chaîne enregistrée est : 'J' 'e' 'a' 'n' '\0' Attention aux erreurs si on ne prévoit pas un buffer de caractères de taille suffisante (un tableau de taille suffisante dans le code
3 qui précède) : dans ce cas, le buffer affectera une partie de la mémoire qui n'a pas été réservée à cet effet, avec les conséquences que l'on sait que cela peut avoir (détournement de mémoire destinée à un autre usage). L'objet cin, lorsqu'il traite une entrée, considère les espaces ' ' comme des retours à la ligne '\n'. Soit dans le cas du code précédent, si l'utilisateur saisi un prénom avec un espace au milieu, seul le premier prénom sera affiché. Un exemple d'exécution à partir du code précédent : C:\CPP>re Quel est votre prenom? Jean Charles A ete saisi : Jean On peut renseigner plusieurs variables à la fois : int main() char prenomutilisateur[100],nomutilisateur[100]; cout << "Donnez votre nom et votre prenom : \n"; cin >> nomutilisateur >> prenomutilisateur; int age,taille; cout << "Donnez votre age et votre taille en cm\n"; cin >> age >> taille; cout << "Vous etes : " << prenomutilisateur << " " << nomutilisateur << ", d'age " << age << "an, de taille "<< taille << "cm\n"; Généralement, l'utilisateur rentrera son nom et son prénom sur une même ligne avec un espace entre les deux, de fait, la machine considérera qu'il y a deux saisies et renseignera la chaîne nomutilisateur et la chaine prenomutilisateur. Ensuite, l'utilisateur va rentrer une taille, soit il met un espace, soit il valide par entrée, dans les deux cas, la machine attendra une seconde valeur pour poursuivre l'exécution. Pour lire l'ensemble des caractères en une seule fois, on utilise la fonction get : int main() char identite[100]; cout << "Donnez votre nom et votre prenom : \n"; cin.get(identite,99); cout << "identite\n";
4 Pour connaître le nombre des caractères contenus dans le flux : cin.gcount. 3- Lecture et écriture de fichiers Les classes ofstream et ifstream La classe ofstream permet d'écrire des données sur les fichiers, la classe ifstream permet de lire des données dans un fichier. Il est toujours important d'utiliser la fonction close() des objets ofstream ou ifstream qui sont créés, notamment pour libérer les ressources systèmes liées à ces objets et en particulier pour vider la mémoire tampon associée au flux sur le fichier. Un premier exemple : écrire dans un fichier Un exemple le plus simple possible pour créer et remplir un fichier texte : #include <fstream> //cette librairie est nécessaire pour la manipulation des fichiers, elle contient la classe ofstream using namespace std; // avec fstream, on est toujours dans la librairie standard et donc dans l'espace de nom std. int main() ofstream fluxfichier("c:\\cpp\\output\\test.txt"); // l'objet flux sur fichier est créé fluxfichier << "Les sanglots longs des violons de l'automne...\n"; fluxfichier.close(); //On ferme le flux sur fichier, le tampon est vidé. Un autre exemple, on va générer un certain nombre de valeurs aléatoires selon une gaussiennes pour fournir une série de nombres aléatoires et les stocker dans un fichier. #include <fstream> //cette librairie est nécessaire pour la manipulation des fichiers, elle contient la classe ofstream #include <iostream> #include <cstdlib> #include <ctime> #include <cmath> using namespace std;
5 double randomuniform() return rand()/(double)rand_max; void polarmarsaglia(double *x1,double *x2) double W,V1,V2; do double U1=randomUniform(); double U2=randomUniform(); V1=2*U1-1; V2=2*U2-1; W=V1*V1+V2*V2; while(w>1); /*Apres cette étape, V1 et V2 ont été tirés de manière uniforme sur [-1;1] / V2²+V1²<=1*/ double W_function=sqrt(-2*log(W)/W); *x1=v1*w_function; *x2=v2*w_function; int main() ofstream fluxfichier("c:\\cpp\\output\\test.txt"); // l'objet flux sur fichier est créé fluxfichier << "Le fichier contient une serie de nombres aleatoires generes selon une loi gaussienne\n"; double x1,x2; for(int i=0;i< ;i++) polarmarsaglia(&x1,&x2); fluxfichier << i << " " << x1 << " " << x2 << "\n"; fluxfichier.close(); //On ferme le flux sur fichier, le tampon est vidé. Dans le code qui précède, lors de la création de l'objet ofstream, la machine tente d'ouvrir le fichier c:\cpp\output\test.txt. Si ce fichier n'existe pas, il sera crée (à condition que le répertoire existe lui), si le fichier existe, il sera écrasé.
6 Un exemple de lecture depuis un fichier #include <fstream> //cette librairie est nécessaire pour la manipulation des fichiers, elle contient la classe ifstream #include <iostream> int main() std::ifstream lecturefichier("c:\\cpp\\output\\test.txt"); char ch; while(lecturefichier.get(ch)) std::cout << ch << "\n"; std::cout << "Fin de la lecture du fichier\n"; lecturefichier.close(); Noter qu'ici, comme on n'a pas mis using namespace std;, on travaille avec std::ifstream : le nom de la classe ifstream ne serait pas reconnu sinon. Ici, on utilise la fonction get(char) de ifstream qui pointe à tout moment sur un caractère. Au début, ifstream pointe sur le premier caractère. Au premier appel de get(ch), il affecte le premier caractère à ch puis pointe sur le deuxième caractère etc... Au final, get(char) renvoie faux. Modifier le comportement à l'ouverture des fichiers Pour l'instant, on utilise le constructeur ofstream qui prend une chaîne de caractères char* en entrée et crée le fichier qui correspond au chemin si celui n'existe pas, si ce fichier préexiste, il sera effacer. On peut également vouloir écrire à la fin du fichier sans effacer les données précédentes. Pour cela, on utilise des attributs que l'on passe en argument au constructeur : char *chemin="c:\\cpp\\output\\test.txt"; ofstream flux1(chemin,ios::app); // ajoute les données à la fin du fichier que l'on ouvre ofstream flux2(chemin,ios::noreplace); // le fichier sera ouvert si il n'existe pas déjà ofstream flux3(chemin,ios::nocreate); // le fichier sera ouvert seulement si il existe déjà
7 4- Les flux et les chaînes Istringstream : un flux d'input depuis une string A partir d'une string, on peut construire un flux isstringstream. A partir de ce flux, il est possible d'extraire des valeurs. Soit par exemple le code suivant : #include <sstream> #include <iostream> using namespace std; int main() string str("5 12.7\nParis"); istringstream in(str); int i;double d; char chaine1[10]; in >> i >> d >> chaine1; // recuperation des valeurs de la chaîne de caractères vers des variables std::cout << i << " " << d << " " << chaine1 << "\n"; Dans ce code, on crée un objet istringstream à partir d'une chaîne. Istringstream est une classe définie dans sstream. On peut ensuite extraire les valeurs depuis la chaîne. L'objet istringstream permet donc d'obtenir des valeurs numériques à partir des string. L'utilisation de ce type d'objet coexiste avec une autre méthode qui est celle issue du C et qui propose deux fonctions atoi() et atof() qui permettent d'obenir des int ou des float à partir de chaînes. On préfera bien sûr utiliser la méthode reposant sur les objets istringstream. ostringstream Il est possible d'utiliser ostringstream qui est un flux de sortie : on y adresse du contenu puis on extraie une chaîne à partir du ostringstream : #include <sstream> #include <iostream>
8 using namespace std; int main() int n=12000; string str("place de la Republique"); ostringstream out; out << "A la date du 12 mai 1995, se retrouveaient " << n << " personnes " << str; string str2=out.str(); std::cout << str2; Ce type de démarche permet de concaténer tout type de variables pour obtenir une chaîne (un objet string). 5- Passages de paramètres en ligne de commande Il existe un autre prototype pour la fonction main : #include <iostream> int main(int argc,char **argv) std::cout << "arguments " << argc << "\n"; for(int i=0;i<argc;i++) std::cout << "argument " << i << " : " << argv[i] << "\n"; En enregistrant ce code dans un fichier test.cpp et en compilant pour créer l'exécutable test.exe, on peut ensuite faire ce type de passage de ligne de commande : test chaine1 12 chaine2 On obtient alors comme résultat affiché : C:\CPP>re chaine1 12 chaine2 arguments 4 argument 0 : re argument 1 : chaine1 argument 2 : 12
9 argument 3 : chaine2 Ie, on peut récupérer des paramètres passés en ligne de commande. On pourra ainsi utiliser l'invite de commande pour passer des paramètres pour certains programmes. Par exemple, on pourra passer un chemin pour les fichiers produit par le programme, ou bien une URL etc... à voir en fonction du programme. 6- Un exemple de récupération CSV Pour finir ce code, on propose un code de lecture d'un fichier CSV. On donne dans un premier temps la fonction qui permet d'obtenir un vecteur de vecteur de string depuis le fichier CSV. vector< vector<string> > recuperationcsv(string chemin) vector< vector<string> > liste; /*Ouverture du fichier*/ ifstream in(chemin.c_str()); string line; int comptelignes=0; /*Pour toute ligne du fichier*/ while(getline(in, line)) if(line[0]!='#') //std::cout << line << "\n"; vector<string> donneeslignecourante; int indice=0; while(indice<line.size()) string str(""); while(indice<line.size() && line[indice]!=' ' && line[indice]!='\t' && line[indice]!=',') str+=line[indice]; indice++; donneeslignecourante.push_back(str);
10 line[indice]=='\n')) while(indice<line.size() && (line[indice]==' ' line[indice]=='\t' line[indice]==',' indice++; liste.push_back(donneeslignecourante); return liste; Un exemple d'utilisation de ce code avec un fichier récupéré depuis yahoo!finance. Après avoir téléchargé le fichier AAF.txt sur le disque dur (qui correspond à l'une des actions sur yahoo), on utilise la fonction précédente pour récupérer une collection de collection de chaînes. Puis, dans le main, on met la série des cours dans une collection de double en inversant l'ordre des données (dans le fichier AAF.txt, les premiers cours donnés sont les plus récents, tandis que dans la collection cours, les premiers cours sont les plus anciens). #include <string> #include <iostream> #include <fstream> #include <sstream> #include <vector> using namespace std; vector< vector<string> > recuperationcsv(string chaine); int main() std::cout << "coucou\n"; /*On recupere l'ensemble du fichier*/ vector<vector <string> > v=recuperationcsv(string("d:\\enseignement\\cpp\\partie2\\aaf.txt")); /*on inverse la série des cours*/ vector< double> cours; for(int i=v.size()-1;i>=0;i--) string str=v.at(i).at(v.at(i).size()-1); istringstream in(str); double d;
11 in >> d; cours.push_back(d); for(int i=0;i<cours.size();i++) std::cout << cours.at(i) << "\n"; system("pause"); vector< vector<string> > recuperationcsv(string chemin) vector< vector<string> > liste; /*Ouverture du fichier*/ ifstream in(chaine.c_str()); string line; int comptelignes=0; /*Pour toute ligne du fichier*/ while(getline(in, line)) if(line[0]!='#') //std::cout << line << "\n"; vector<string> donneeslignecourante; int indice=0; while(indice<line.size()) string str(""); while(indice<line.size() && line[indice]!=' ' && line[indice]!='\t' && line[indice]!=',') str+=line[indice]; indice++; donneeslignecourante.push_back(str); line[indice]=='\n')) while(indice<line.size() && (line[indice]==' ' line[indice]=='\t' line[indice]==',' indice++;
12 liste.push_back(donneeslignecourante); return liste;
1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailGénie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string
Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.
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étailI. 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étailCours 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é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étailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailIntroduction au pricing d option en finance
Introduction au pricing d option en finance Olivier Pironneau Cours d informatique Scientifique 1 Modélisation du prix d un actif financier Les actions, obligations et autres produits financiers cotés
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étailTP 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étailLicence 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étailPRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailCours 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é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é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étailTP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
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étailProjet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une
Plus en détailInitiation à 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étailPour 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é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é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é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étailINFO-F-105 Language de programmation I Séance VI
INFO-F-105 Language de programmation I Séance VI Jérôme Dossogne Année académique 2008 2009 Un grand merci à Yves Roggeman pour ses relectures et remarques des codes et commentaires qui ont contribuées
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étailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailIMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES
IMPRTATIN, CRÉATIN, MANIPULATIN, EXPRTATIN DE DNNÉES STATISTIQUES Bernard Dupont Bernard.Dupont@univ-lille1.fr ahm.bahah@yahoo.fr Bien que l'analyse et le traitement des données ne soient pas sa vocation
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étailSysteme d'exploitation
Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailClaude 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étailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailPrésentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Plus en détailIntroduction à l héritage en C++
Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition
Plus en détailLes 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étailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailet Programmation Objet
FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
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étailPRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
Plus en détailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailChapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Plus en détailIntroduction à C++ et à wxwidgets
Introduction à C++ et à wxwidgets Master IGC 1ère année Année universitaire 2011/2012 Christophe Renaud Version 1.5 19/09/2011 Introduction Objectifs du cours Introduction au langage objet C++ Introduction
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailP r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )
P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes
Plus en détailGESTION DES FICHIERS C/UNIX
Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant
Plus en détailCours 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é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étailClasse ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détail1. 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étail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailSOMMAIRE... 1 ESPACE DU CLUB...
Documentation Extraclub Page 1/11 Sommaire SOMMAIRE... 1 ESPACE DU CLUB... 2 INTRODUCTION... 2 Bien utiliser la gestion du club... 2 Termes utilisés dans cet espace... 2 Par quoi commencer?... 2 L onglet
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailSéance 0 : Linux + Octave : le compromis idéal
Séance 0 : Linux + Octave : le compromis idéal Introduction Linux est un système d'exploitation multi-tâches et multi-utilisateurs, basé sur la gratuité et développé par une communauté de passionnés. C'est
Plus en détailCyberclasse L'interface web pas à pas
Cyberclasse L'interface web pas à pas Version 1.4.18 Janvier 2008 Remarque préliminaire : les fonctionnalités décrites dans ce guide sont celles testées dans les écoles pilotes du projet Cyberclasse; il
Plus en détailJe communique par email
Je communique par email Support de formation des Médiathèques du Pays de Romans Site Internet : Twitter : MediaTechRomans Table des matières Mes cordonnées électroniques...3 Les emails...3 Comment ça marche...3
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailProgrammation en C/C++
INSA de Lyon Département Génie Electrique Module IF1,IF3,IF4 Programmation en C/C++ Thomas Grenier Nicolas Ducros Tanneguy Redarce Lyon, le 3 mars 2015 2 / 63 Table des matières 1 Développement en C++
Plus en détailCréation d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
Plus en détailAvertissement : Ce cours suppose la connaissance et la maîtrise du langage C CONTENU DU COURS BIBLIOGRAPHIE
Enseignement : GI 62 - C++ - Programmation orienté objet (C++) Objectif : Ce module se situe dans la continuité des modules (ii12) et UEL RAN Informatique et permet d'acquérir les bases de la modélisation
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
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étailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailTD3: 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étailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détailINITIATION 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étailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Plus en détailACTIVITÉ 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étailExercices sur les interfaces
Exercices sur les interfaces Fabrice Rossi 18 octobre 1999 1 Le type Object 1.1 Manipulations élémentaires Exercice 1.1 : Indiquer l affichage produit par le programme suivant : public class UpCast1 {
Plus en détaill'ordinateur les bases
l'ordinateur les bases Démarrage de l'ordinateur - Le bureau, mon espace de travail - J'utilise la souris - Ouvertes ou fermées, les fenêtres - Dans l'ordinateur, tout est fichier - Le clavier : écrire,
Plus en détailGestion d utilisateurs et stratégie systèmes.
Gestion d utilisateurs et stratégie systèmes. Déscription de l'activité: Administration de gestion d utilisateurs sous l environnement Windows 2003 Serveur Contexte de l activité Etant administrateur réseau
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailSYSTÈME DE GESTION DE FICHIERS
SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S
Plus en détailDépartement Automatisation et Informatisation Année 2005-2006. Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers
Département Automatisation et Informatisation Année 2005-2006 Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers 1 Bertrand Cottenceau 1. Introduction du cours de C++...3
Plus en détailCours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :
Atelier No2 : Installation d Active Directory Installation du service DNS Installation du Service WINS Création d'un compte d'ordinateur Jonction d'un ordinateur à un domaine Création d usagers. Étape
Plus en détailTP 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étailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailCours de C/C++ par la pratique. Hugues Talbot
Cours de C/C++ par la pratique Hugues Talbot 24 octobre 2008 2 Table des matières 1 Comment démarrer? 7 1.1 Un programme simple en C pur.......................... 7 1.2 Un programme en C ++...............................
Plus en détailSYSTÈME DE GESTION DE FICHIERS SGF - DISQUE
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur
Plus en détailImport des utilisateurs depuis Sconet et STSweb - mise à jour du 04/10/06
Import des utilisateurs depuis Sconet et STSweb - mise à jour du 04/10/06 Cette procédure permet de générer les utilisateurs du réseau en se passant des fichiers dbf générés par l'automate gep et qui sont
Plus en détailBTS 2 SIO Active directory- windows serveur 2012 Version 1.1 (12/12/2014)
Conditions requises: Avoir un serveur windows 2012, ayant pour adresse ip192.168.1.85. Caractéristiques de base: Un serveur de domaine active directory est une base d'annuaire pour windows. Elle permet
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étailDECOUVERTE DE LA MESSAGERIE GMAIL
DECOUVERTE DE LA MESSAGERIE GMAIL modifie août 2011 La messagerie GMAIL est très répandue parce que simple d'utilisation et surtout gratuite. Car elle proposée par Google. Cliquez deux fois sur l'icône
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étailI La création d'un compte de messagerie Gmail.
Les outils du Cloud Computing #2 Gmail / Google Drive L'exemple des Googles Documents & Googles formulaires Un pas à pas pour faire connaissance avec les services google. I La création d'un compte de messagerie
Plus en détailGérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013
Gérer ses fichiers et ses dossiers avec l'explorateur Windows Février 2013 SOMMAIRE 1. Premiers repères : l'explorateur Windows (Vista et Windows 7) 2. Les dossiers : création, déplacement, suppression
Plus en détailRappel. 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étailGuide d'installation du connecteur Outlook 4
Le serveur de communication IceWarp Guide d'installation du connecteur Outlook 4 Version 10 Aout 2010 Icewarp France / DARNIS Informatique i Sommaire Guide du connecteur Outlook 1 Présentation... 1 Pré-requis
Plus en détailProgrammation impérative
Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des
Plus en détailCours Langage C/C++ Programmation modulaire
Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation
Plus en détailC++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détail