Labo 4 : Les structures et les entrées et sorties

Slides:



Advertisements
Présentations similaires
Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
Advertisements

Stockage de données.
Cours n° 2 Les entrées-sorties Biliothèque C++ (iostream) –
Le langage C++ Les types structurés
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
(Classes prédéfinies – API Java)
Lecture et Ecriture.
C.
JAV - TD 6 Structures de données JAVA
Paramètres et pointeurs
Structures et unions types énumérés Qu'est-ce qu'une structure
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
FLSI602 Génie Informatique et Réseaux
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Introduction à la POO: Les classes vs les objets
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Principes de programmation (suite)
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Partie 1 Etude de l'existant
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Les éléments de base de l’algorithmique
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
FICHIERS.
Etude de cas : buffer clavier
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Les fichiers binaires en C++
FICHIERS : Définition : Algorithme général:
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
CSI2520 Ecriture sur l'écran ou dans un fichier Lecture à partir du clavier ou dun fichier Affichage de termes : *write(1+2) affiche 1+2 *write(X). affiche.
Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre.
Structures de données IFT-2000 Abder Alikacem Semaine 11, 1 ère partie Les B-arbres Département dinformatique et de génie logiciel Édition septembre 2009.
Les fichiers texte en C++
Structures des données
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Les pointeurs L'opérateur &.
Algorithmique Les structures Rappel L'enchaînement séquentiel
Les pointeurs Suite.
Labo II : Tableaux et pointeurs
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Chapitre 7 Calcul littéral.
Strings et Tableaux en Java
Conception de Programmes - IUT de Paris - 1ère année – Cours 8 – Les entrées/sorties Comment fonctionnent les opérateurs > pour les types élémentaires.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Les fichiers 1ère partie
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Structures de données et algorithmes – TP1 Maria-Iuliana Dascalu
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Exercices.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Objets et Actions Élémentaires.
Les Structures simples
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, …  Etude de cas : réalisation d’un buffer clavier.
Algorithmique et langage C
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Les classes et les objets
Transcription de la présentation:

Labo 4 : Les structures et les entrées et sorties Démo : INF3105 Structures de données et algorithmes Groupe : 10 Moniteur : Stéphane HENRY Courriel : Notes de : Kerlyne Fostine

Plan de la démonstration Les structures Déclaration d’une structure Utilisation de structure Imbrication de structure Tableau de structure Pointeur de structure Utilisation de structure en C++ Les entrées et sorties Les fichiers Lecture dans un fichier Écriture dans un fichier

Les Structures Déclaration d’une structure struct nom_structure{ type1 champ1; type2 champ2; type3 champ3; }; struct Rationnel{ int numerateur; int denominateur;

Les structures (Suite) Déclaration de variable de structure struct nom_structure nomVariable; struct Rationnel r1; struct Rationnel fraction; struct Rationnel *p;

Les structures (suite) Utilisation de structures Nom_variable_structure.nom_champ; fraction.numerateur = 5; fraction.denominateur = 8;

Les structures (Suite) Exercice I Ecrire un programme qui gère les opérations sur les nombres rationnels. Ecrire une fonction additionnerRationnel qui accepte comme paramètres deux rationnels, qui les additionne et qui retourne leur somme Ecrire un programme qui crée deux rationnels et qui utilise la fonction additionnerRationnel pour les additionner et qui affiche leur somme.

Imbrication de structures struct date { int jour; int mois; int annee; }; struct personne{ char nom[30]; char prenom[30]; struct date dateNaissance; struct personne personne1;

Imbrication de structures (Suite) struct personne{ char nom[30]; char prenom[30]; struct { int jour; int mois; int annee; } dateNaissance; }; struct personne personne1;

Imbrication de structures (Suite) personne1.nom; Personne1.prenom; Personne1.date_naissance.jour

Imbrication de structures (Suite) Exercice II Écrire un programme qui fait la lecture de deux personnes en utilisant la structure personne présentée et qui dit laquelle des deux personnes est plus vieilles que l’autre. Il doit y avoir une fonction qui accepte les deux variables personnes, qui fait la comparaison de leur date de naissance et qui retourne 0 si les deux personnes ont la meme date de naissance 1 si la première personne passée comme paramètre est plus vieille que la deuxième -1 si la deuxième personne passée comme paramètre est plus vieille que la première Le programme doit afficher le nom, le prénom et la date de naissance de la plus vieille personne.

Tableaux de structures struct nom_structure variable[dimension]; struct Rationnel tableau_rationnel[10]; Exercice III Ecrire un programme qui lit un nombre de rationnel fournit par l’utilisateur et qui calcule et affiche leur somme. Il faut faire utilisation de la fonction additionner_rationnel utiliser plus haut.

Pointeur sur les structures Declaration de pointeur struct nom_structure *p1, *p2; struct Rationnel *rationnel1; struct Rationnel r1; r1.num = 13; r1.deno = 25; rationnel1 = &r1; Utilisation de pointeur de structure (*rationnel1).numerateur = 10; (*rationnel1).denominateur = 5; rationnel1->numerateur = 10; rationnel1.->denominateur = 5

Pointeur sur les structures (Suite) Exercice IV Ecrire une fonction qui accepte comme paramètre une structure rationnel et qui la simplifie. Cette fonction ne doit rien retourner comme valeur (Une procédure). Exemple de simplification : 4/10 = 2/5 Pour faire la simplification, il faut faire usage d’une fonction pgcd. Cette fonction doit utiliser le formalisme pointeur. Modifie la fontion additionner_rationnel pour simplifier la somme des rationnels avant de retourner la somme.

Utilisation de structure en C++ En C++ on peut déclarer des structures avec des données membres et des fonctions membres comme des classes struct Rationnel{ int numerateur; int denominateur; struct Rationnel additionner(struct Rationnel, struct Rationnel); } Les données ne sont pas encapsulées (publiques) 14

Les entrées et sorties Les fichiers Pour chaque fichier, il faut un flux différent Création d’un flux ifstream flux pour la lecture ofstream flux pour l’écriture Initialisation du flux Ifstream flux(« fichier.extension », mode_ouverture); Ofstream flux(« fichier.extension », mode_ouverture);

Les entrées et sorties (Suite) Mode d’ouverture in : en lecture out : en écriture binary : en mode binaire trunc : en écrasement app : en mode ajout ate : en écriture et à la fin (initialement) Note : Il faut toujours indiquer un des trois modificateurs ios::trunc, ios::app ou ios::ate en plus de ios::out, pour spécifier la procédure à suivre au cas où le fichier existerait déjà.

Les entrées et sorties (Suite) Lecture dans un fichier ifstream fichier(“fichier.ext”, ios::in) ifstream fichier(chaine.c_str(), ios::in); getline(fichier, chaine) : pour lire une ligne entière et placée le contenu de la ligne dans chaine fichier.get(caractère) : pour lire un caractère fichier >> variable : Pour récupérer le contenu du fichier jusqu’à un délimiteur (Meme chose que cin) Fichier.read(const char *buffer, int nbOctets)

Les entrées et sorties (Suite) Ecriture dans un fichier ofstream fichier(“fichier.ext”, ios::out | [ios::trunc ou ios::ate ou ios::app]) ofstream fichier(chaine.c_str(), ios::out | [ios::trunc ou ios::ate ou ios::app]) fichier.put(caractere) : Pour ecrire un caractère fichier<< variable ou chaine de caractere : Pour ecrire dans le fichier. (Même chose que cout) Fichier.write(const char * buffer, int nbOctets)

Entrées et sorties (Suite) Exercice V Ecrire un programme qui lit le contenu du fichier fichier.txt ligne par ligne et qui affiche les lignes jusqu’à la fin.

Entrées et sorties (Suite) Exercice VI Écrire un programme qui fait la lecture des informations d’un nombre de personne donné et les enregistre dans un fichier. Une fois la lecture terminée, le programme doit lire le contenu du fichier et doit afficher son contenu à l’ecran. Le programme doit faire usage de la structure Personne présentée plus haut Il doit y avoir une fonction enregistrer qui accepte comme paramètre une information de type Personne et l’enregistrer dans le fichier Le programme doit faire usage d’une seule variable de type structure pour lire les données