IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot
|
|
|
- Ghislaine Perras
- il y a 9 ans
- Total affichages :
Transcription
1 ESIEE IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot PARTIE 1: LES FONCTIONS ET LES POINTEURS fichier fonctions.h #ifndef _FONCTION_H_ #define _FONCTION_H_ #include <stdio.h> #include <math.h> /* inutile sous UNIX */ #define M_PI /* les déclarations prototypes des fonctions et les macro-définitions */ # define DUREE_LEGALE 35 # define TAUX_MAJ_HEUR_SUP 150 /* 150 % */ /* Conversion kilomètres-miles */ void km_vers_mile(double km, double * pmile); /* Conversion Fahrenheit C */ void F_vers_C(double F, double * pc); /* Volume d une sphère */ void volume_sphere(double rayon, double * pvolume); /* Notes */ void note (int bonnes_reponses, char * pc); /* Salaire */ void salaire_hebdo(int nb_heures, double salaire_horaire, double * psalairehebdo); #endif
2 fichier fonctions.c #include "fonctions.h" /* les définitions des fonctions */ /* Conversion kilomètres-miles */ void km_vers_mile(double km, double * pmile) *pmile = km /1.609; /* Conversion Fahrenheit C */ void F_vers_C(double f, double * pc) *pc = 5.0/9.0*(f -32.0); /* Volume d une sphère */ void volume_sphere(double rayon, double * pvolume) *pvolume = 4.0/3.0 * M_PI * rayon * rayon * rayon; /* Notes */ void note (int bonnes_reponses, char * pc) if ( bonnes_reponses <0 bonnes_reponses >50) *pc = '#'; else if ( bonnes_reponses <=10) *pc = 'E'; else if ( bonnes_reponses <=20) *pc = 'D'; else if ( bonnes_reponses <=30) *pc = 'C'; else if ( bonnes_reponses <=40) *pc = 'B'; else if ( bonnes_reponses <=50) *pc = 'A'; /* Salaire */ void salaire_hebdo(int nb_heures, double salaire_horaire, double * psalairehebdo) if ( nb_heures < DUREE_LEGALE ) *psalairehebdo = nb_heures * salaire_horaire ; else *psalairehebdo = ( DUREE_LEGALE + ( nb_heures - DUREE_LEGALE ) * TAUX_MAJ_HEUR_SUP / ) * salaire_horaire ;
3 fichier testfonctions.c #include <stdio.h> #include "fonctions.h" /* pour afficher le menu */ /* LE MOT CLE static rend la fonction locale au fichier.c dans lequel elle est définie. Elle ne peut être appelée dans un fichier.c */ static void affichemenu(void); int mainfonctions(void) int choix; do affichemenu(); choix = getchar(); switch( choix) case '1': double miles; km_vers_mile(1609, &miles); printf("1609 kms valent %.2f miles \n\n", miles); break; case '2': double celsius; F_vers_C(457, &celsius); printf("457 degrés Fahrenheit valent %.2f degrés celsius \n\n", celsius ); break; case '3': double volume; volume_sphere(60, &volume); printf("une sphère de rayon 60 m a un volume de %.2f m \n\n", volume); break; case '4': char c; note(45, &c); printf("45 bonnes réponses valent %c \n\n", c); break; case '5':
4 double salaire; salaire_hebdo(35, 15, &salaire); printf("35 heures à 15 euros/h donne un salaire hebdomadaire de %.2f euros \n\n",salaire); break; default : printf("choix impossible \n"); break; while ((choix = getchar())!= EOF); return 0; static void affichemenu(void) printf(" 1 Conversion kilomètres-miles \n"); printf(" 2 Conversion Fahrenheit C \n"); printf(" 3 Volume d une sphère \n"); printf(" 4 Notes \n"); printf(" 5 Salaire\n"); printf("taper le numero choisi: ");
5 PARTIE 2: LES TABLEAUX ET LES POINTEURS Exercice 1: (c'est le passage machine de l'exercice 3 du TD2 avec des double au lieu de int) Initialiser à 0 un tableau de 20 double avec une boucle for. Afficher le tableau. Saisir les valeurs du tableau Afficher le tableau 1) version avec la notation des tableaux 2) version avec la notation des pointeurs 3) version avec une fonction prenant en paramètre un pointeur fichier testtableaux.c #include <stdio.h> void notationtableaux(void); void notation1pointeurs(void); void notation2pointeurs(void); void initialiser(float * p, int longueur); void saisir(float * p, int longueur); void afficher(float * p, int longueur); int main(void) printf("\n NOTATION TABLEAU \n"); notationtableaux(); printf("\n NOTATION POINTEUR version simpliste\n"); notation1pointeurs(); printf("\n NOTATION POINTEUR version élaborée\n"); notation2pointeurs(); printf("\n AVEC DES FONCTIONS PRENANT EN PARAMETRES DES POINTEURS \n"); /* rappel en C un tableau est passé en paramètre d'une fonction via l'adresse de son premier élément: &tab[0] noté aussi tab tab est un pointeur constant valant &tab[0] il faut aussi passer la longueur du tableau en paramètre */ float tab[5]; initialiser(&tab[0], sizeof(tab)/sizeof(tab[0])); printf("\n\n Affichage des valeurs initialisées: "); afficher(tab, sizeof(tab)/sizeof(tab[0])); printf("\n Saisie des valeurs: "); saisir(tab, sizeof(tab)/sizeof(tab[0])); printf("\n\n Affichage des valeurs saisies: "); afficher(tab, sizeof(tab)/sizeof(tab[0]));
6 void notationtableaux(void) float tab[5]; /* initialiser le tableau à 0*/ for ( i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) tab[i] = 0; /* afficher le tableau */ printf("\n Affichage des valeurs initialisées: "); for (i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) printf("%.2f ", tab[i]); /* saisir le tableau */ printf("\n Saisie des valeurs: "); for (i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) scanf("%f", &tab[i]); /* afficher le tableau */ printf("\n Affichage des valeurs saisies: "); for (i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) printf("%.2f ", tab[i]); void notation1pointeurs(void) float tab[5]; /* initialiser le tableau à 0*/ for ( i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) *(tab + i) = 0;
7 /* afficher le tableau */ printf("\n Affichage des valeurs initialisées: "); for (i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) printf("%.2f ", *(tab + i)); /* saisir le tableau */ printf("\n Saisie des valeurs: "); for (i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) scanf("%f", tab + i); /* afficher le tableau */ printf("\n Affichage des valeurs saisies: "); for (i = 0; i < sizeof(tab)/sizeof(tab[0]); i++) printf("%.2f ", *(tab + i)); /* ON UTILISE L'ARITHMETIQUE DES POINTEURS dans les boucles for */ void notation2pointeurs(void) float tab[5]; float * p; /* initialiser le tableau à 0*/ for ( p = tab; p < tab + sizeof(tab)/sizeof(tab[0]); p++) *p = 0; /* afficher le tableau */ printf("\n Affichage des valeurs initialisées: "); for ( p = tab; p < tab + sizeof(tab)/sizeof(tab[0]); p++) printf("%.2f ", *p); /* saisir le tableau */ printf("\n Saisie des valeurs: "); for ( p = tab; p < tab + sizeof(tab)/sizeof(tab[0]); p++) scanf("%f", p);
8 /* afficher le tableau */ printf("\n Affichage des valeurs saisies: "); for ( p = tab; p < tab + sizeof(tab)/sizeof(tab[0]); p++) printf("%.2f ", *p); /* ON UTILISE L'ARITHMETIQUE DES POINTEURS dans les boucles for */ void initialiser(float * p, int longueur) float * pcourant; for ( pcourant = p; pcourant < p + longueur; pcourant++) *pcourant = 0; void saisir(float * p, int longueur) float * pcourant; for ( pcourant = p; pcourant < p + longueur; pcourant++) scanf("%f", pcourant); void afficher(float * p, int longueur) float * pcourant; for ( pcourant = p; pcourant < p + longueur; pcourant++) printf("%.2f ", *pcourant);
9 Pour les exercices suivants les tableaux seront initialisés en dur dans la fonction main: exemple: double tab[4] = 2.1, 4.8, 16.32, 5.0 ; tab tableau de 4 double ou double tab[] = 2.1, 4.8, 16.32, 5.0 ; tab tableau de 4 double (le compilateur calcule tout seul le nombre d'éléments du tableau). Toutes les déclarations prototypes des fonctions sont dans un fichier fonctions_tableaux.h Toutes les définitions des fonctions sont dans un fichier fonctions_tableaux.c La fonction main contient les appels aux fonctions demandées et les affichages des résultats dans un fichier main.c Exercice 2: Moyenne Écrivez la fonction qui calcule la moyenne des n premiers éléments stockés dans un tableau de double. Prototype : double moyenne (double t[], int n); ou double moyenne (double * t, int n); Exercice 3: Les carrés Écrivez la fonction qui remplit un tableau de n int par les carrés des n premiers nombres entiers et ne retourne aucune valeur. Prototype : void remplit_carres (doublet[], int n); ou void remplit_carres (double * t, int n); Afficher le tableau remplit en utilisant une fonction d'affichage. Exercice 4: Recherche d éléments sur critère Écrivez la fonction qui retourne l indice du premier élément strictement négatif parmi les n premiers éléments d un tableau de double (-1 si aucun élément n est négatif). Prototype : int indice_premier_negatif (double t[], int n); ou int indice_premier_negatif (double * t, int n); Exercice 5:Maximum Écrivez la fonction qui retourne la valeur du plus grand des n premiers éléments d un tableau de double. Prototype : double valeur_plus_grand (double t[], int n); ou double valeur_plus_grand (double * t, int n);
10 Exercice 6: Position du maximum Écrivez la fonction qui retourne l indice du plus grand des n premiers éléments d un tableau de double (en cas d ex-æquo, l indice du premier d entre eux). Prototype : int indice_plus_grand (double t[], int n); ou int indice_plus_grand (double *, int n); Exercice 7: Copie Écrivez la fonction qui copie les n premiers éléments d un tableau source de double dans le tableau destination de double et retourne l adresse du tableau destination. On prendra en compte le fait que les deux tableaux ne peuvent pas se recouvrir partiellement (2 tableaux différents). Prototype : double * copie (double * destination, double * source, int n); fichier fonctions_tableaux.h #ifndef _FONCTION_TABLEAUX_H_ #define _FONCTION_TABLEAUX_H_ double moyenne (double * t, int n); void remplit_carres (int * t, int n); int indice_premier_negatif (double * t, int n); double valeur_plus_grand (double * t, int n); int indice_plus_grand (double * t, int n); double * copie (double * destination, double * source, int n); #endif LES FONCTIONS SONT ECRITES EN UTILISANT LES NOTATIONS TABLEAU fichier fonctions_tableaux.c #include "fonctions_tableaux.h" double moyenne (double * t, int n) double total =0.0; for (i = 0 ; i < n ; ++ i ) total += t[i]; return total /n; void remplit_carres (int * t, int n) for (i=0; i<n ; ++i ) t[i]=i*i;
11 indice_premier_negatif L'analyse du problème nous conduit à la solution suivante : on parcourt le tableau si l'on rencontre un élément négatif, on termine la fonction en retournant l'indice courant si l'on a parcouru l'intégralité du tableau sans avoir rencontré d'élément négatif, on retourne 1 comme indiqué dans la spécification. Attention : c'est après la boucle que l'on peut constater l'absence d'élément négatif. Une erreur courante de programmation consiste à retourner 1 trop tôt, avec un test du style if (t[i]<0) return i; else return -1; ce qui conduit à retourner -1 si le premier un élément n'est pas négatif. int indice_premier_negatif (double * t, int n) for (i =0; i<n ; ++ i) if (t[i] <0) return i; return -1; valeur_plus_grand L'analyse du problème nous conduit à la solution suivante : Un parcours du tableau s'impose, avec une mémorisation du plus grand élément rencontré. En effet, le plus grand élément du tableau peut se situer n'importe où (en début, en cours ou en fin de tableau) et donc on ne peut le connaître qu'après avoir examiné tous les éléments du tableau, et le mémoriser permettra de le retourner en fin de parcours. L'initialisation de ce maximum pourra se faire par le premier élément du tableau ( t[0] ), et la boucle peut commencer par l'indice 1. Le corps de la boucle consistera à comparer l'élément courant au maximum, et, s'il lui est supérieur, à le mémoriser dans le maximum. Ce qui conduit à la solution suivante : double valeur_plus_grand (double * t, int n) double maxi =t [0]; for (i=1; i<n ; ++i ) if (t[i]> maxi ) maxi =t[i]; return maxi ;
12 indice_plus_grand L'analyse du problème nous conduit à la solution suivante : Le programme est semblable au précédent. Un parcours du tableau s'impose, avec une mémorisation de l'indice du plus grand élément rencontré. En effet, le plus grand élément du tableau peut se situer n'importe où (en début, en cours ou en n de tableau) et donc on ne peut le connaître qu'après avoir examiné tous les éléments du tableau ; mémoriser sa position permettra de la retourner en fin de parcours. L'initialisation de cet indice maximum pourra se faire par l'indice du premier élément du tableau ( 0 ), et la boucle peut commencer par l'indice 1. Ce qui conduit à la solution suivante : int indice_plus_grand (double * t, int n) int imax =0; for (i=1; i<n ; ++i ) if (t[i]>t[ imax ]) imax =i; return imax ; copie L'analyse du problème nous conduit à la solution suivante : La solution naturelle est basée sur le principe : on parcourt parallèlement les deux tableaux et on copie élément par élément le contenu du tableau source dans le tableau destination, ce qui donne : /* Attention : ne fonctionne que si * les tableaux ne se recouvrent pas */ double * copie (double * destination, double * source, int n) for (i =0 ; i<n ; ++ i) destination [i ] = source [i]; return destination ;
Introduction 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
Java 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
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
Seance 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
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Programme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Recherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) 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
Claude Delannoy. 3 e édition C++
Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plan 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
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected]
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected] Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Structure 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
Programmation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex [email protected] http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
INTRODUCTION 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
INITIATION A LA PROGRAMMATION
2004-2005 Université Paris Dauphine IUP Génie Mathématique et Informatique INITIATION A LA PROGRAMMATION PROCEDURALE, A L'ALGORITHMIQUE ET AUX STRUCTURES DE DONNEES PAR LE LANGAGE C Maude Manouvrier La
Algorithmique I. [email protected] [email protected] [email protected]. Algorithmique I 20-09-06 p.1/??
Algorithmique I [email protected] [email protected] [email protected] Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
UE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Programmation 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 à
Programmation 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
Gé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...
Travaux Dirigés n 1 : chaînes de caractères
UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected]
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected] Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Langage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne [email protected]
I. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Initiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Les structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Compression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Programmation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Programmation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs
Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales
Java Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd [email protected] Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Programmation 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
La programmation des PIC en C. Les fonctions, les interruptions.
La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure
Corrigé 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
COMPARAISONDESLANGAGESC, C++, JAVA ET
REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY
Programmation 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-
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
SUPPORT DE COURS. Langage C
Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
#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
Projet 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
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
EPREUVE 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
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire
Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...
É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
Langage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Le 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
TP2 : tableaux dynamiques et listes chaînées
Licence 2 Informatique 9 / 2014 TP2 : tableaux dynamiques et listes chaînées Contact.h 1 #include 2 #include 3 4 typedef struct contact { 5 char *nom; 6 char *num; 7 char *adresse;
Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Introduction à l héritage en C++
Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay [email protected] 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE M HAMED BOGARA DE BOUMERDES FACULTE DES SCIENCES - DEPARTEMENT PHYSIQUE
Solutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par
Notions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Le 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
INF111. 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
PROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
MINIMUM. 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
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Cours de Programmation Impérative: Zones de mémoires et pointeurs
Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - [email protected] Julien David (A101 - [email protected]) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Quelques éléments de compilation en C et makefiles
Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
INF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
Programmation 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++
Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;
s Introduction Naissance d'un programme Exercice I-1: Apprendre à décomposer une tâche en sous-tâches distinctes a. Objets nécessaires : 1 tableau, 1 clou, 2 pointes, 1 ficelle, 1 marteau, 1 crayon, 1
Programmation 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
Java 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)
INITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Les chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
Algorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
INF2015 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é
Programmation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Introduction 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
Perl Orienté Objet BioPerl There is more than one way to do it
Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, [email protected] DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels
Examen d informatique première session 2004
Examen d informatique première session 2004 Le chiffre à côté du titre de la question indique le nombre de points sur 40. I) Lentille électrostatique à fente (14) Le problème étudié est à deux dimensions.
Derrière toi Une machine virtuelle!
Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc [email protected] École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936
Anis 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
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
Cours 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
ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C
ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C La société C fabrique des pièces métalliques réalisées dans son atelier. La société C est en relation commerciale uniquement
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
