1.6- Génération de nombres aléatoires

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

Download "1.6- Génération de nombres aléatoires"

Transcription

1 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 4- Génération de valeurs aléatoire selon une distribution ad hoc 5- Génération d'un ordre aléatoire On introduit des fonctions aléatoires classiques pour lesquelles on fournit ensuite un fichier qui les implémente. 1 Le générateur aléatoire disponible en C++ Génération de valeurs aléatoires En toute rigueur, dans ce qui suit, on devrait parler de génération de nombres pseudo-aléatoires. Les fonctions nécessaires à la génération aléatoire sont contenues dans la librairie <cstdlib>. La génération de nombres aléatoires implique d'abord d'initialiser la racine (seed) par l'instruction : srand(time(0)); time est une fonction de la librairie <ctime> : sans entrer dans les détails, time(0) est la date du jour exprimée en nombre de secondes depuis le 1er janvier Le chiffre va permettre d'initialiser une séquence de nombres pseudo-aléatoires. Tous les programmes qui comprennent la génération de nombres aléatoires contiendront cette instruction ou des instructions d'initialisation de la racine des nombres aléatoires, celle qui est présentée ici étant la plus utilisée. Par suite, on utilise la fonction rand() qui renvoie (selon un tirage uniforme) un nombre entier entre 0 et un entier maximal susceptible de varier en fonction des implémentations. Un premier exemple de génération de nombre aléatoire :

2 #include <cstdlib> #include <ctime> #include <iostream> int main() srand(time(0)); for(int i=0;i<5;i++) std::cout << "Nombre aleatoire : " << rand() << "\n"; Les nombres qui sont tirés sont entre 0 et RAND_MAX (inclus) qui est une constante entière définie dans <cstdlib>. Tirage de valeurs aléatoires selon une loi uniforme sur [0:1] Pour tirer des nombres aléatoires compris dans [0:1] : #include <cstdlib> #include <ctime> #include <iostream> int main() srand(time(0)); for(int i=0;i<5;i++) std::cout << "Nombre aleatoire : " << rand()/(double)rand_max << "\n"; On peut donc créer une fonction de génération de nombres aléatoires selon une loi uniforme sur [0:1] : #include <cstdlib> #include <ctime> #include <iostream> double randomuniform() return rand()/(double)rand_max; int main()

3 srand(time(0)); for(int i=0;i<5;i++) std::cout << "Nombre aleatoire : " << randomuniform() << "\n"; 2 Création d'un générateur aléatoire uniforme sur un intervalle Tirage uniforme de réels sur un intervalle quelconque A partir de la fonction randomuniform() qui a été définie plus haut, on peut définir une fonction plus complexe qui tire des valeurs aléatoires dans un intervalle [a:b] de réels. Pour se faire, on surcharge la fonction randomuniform en passant des paramètres d'intervalle : #include <cstdlib> #include <ctime> double randomuniform() return rand()/(double)rand_max; double randomuniform(double a,double b) return (b-a)*randomuniform()+a; Cette fonction fait bien ce qui a été annoncé : tiragealeatoireuniforme01() est tiré dans [0:1] Donc (b-a)*tiragealeatoireuniforme01() est dans [0;b-a] Donc (b-a)*tiragealeatoireuniforme01()+a est dans [a;b] Note : la fonction randomuniform(double a,double b) s'exécutera quand même, même si a>b. On pourrait envisager une fonction plus complexe qui ne s'exécuterait qu'à la condition que a<=b.

4 Tirage uniforme d'entiers sur un intervalle quelconque Pour tirer des entiers dans [0;n-1], on pourrait produire une fonction assez rapidement : int randominteger(int n) return rand()%n; Certes, il est évident que la fonction renvoie des entiers dans [0:n-1]. Néanmoins, cette fonction est biaisée. En effet, supposons que RAND_MAX soit 10 et que l'on veuille faire un tirage sur [0:2], ie avec n=3. Comme RAND_MAX est 10, cela signifie que les valeurs que rand() peut renvoyer sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 et 10. Lorsque rand() renvoie 0, 3, 6, 9, randominteger() renvoie 0. Lorsque rand() renvoie 1, 4, 7, 10, randominteger() renvoie 1. Lorsque rand() renvoie 2, 5, 8, randominteger() renvoie 2. Donc la fonction renvoie 0 avec une probabilité 4/11, 1 avec une probabilité 4/11 et 2avec une probabilité 3/11. Donc la fonction ne tire pas les entiers de manière uniforme sur [0:2], sauf dans le cas où RAND_MAX est un entier premier (à vérifier). Pour tirer des entiers de manière uniforme, on préférera une fonction de la forme randominteger ci dessous : #include <cstdlib> #include <ctime> #include <iostream> double randomuniform() return rand()/(double)rand_max; double randomuniform(double a,double b) return (b-a)*randomuniform()+a; long arrondir(double x)//arrondi à l'entier le plus proche

5 long a=(long)x; if(a+0.5<=x) return a+1; else return a; long randominteger(long a,long b) double x=randomuniform(a-0.5,b+0.5); return arrondir(x); int main() srand(time(0)); long a=20; long b=40; unsigned long nombretests= ; unsigned long compte[b+1]; for(int i=0;i<=b;i++) compte[i]=0; for(int i=0;i<nombretests;i++) compte[randominteger(a,b)]++; double somme=0; for(int i=0;i<=b;i++) double x=compte[i]/(double)nombretests; somme+=x; std::cout << i << " " << x << "\n"; std::cout << "La somme : " << somme << "\n";

6 3 Génération de valeurs aléatoires selon une loi normale Plusieurs méthodes sont possibles pour tirer des normes selon une loi normale à partir d'un générateur uniforme pseudo-aléatoire. La méthode la plus connue est celle de Box-Muller. On renvoie à l'exposé Wikipedia sur cette méthode pour son fonctionnement. On donne une version optimisée de cette fonction : 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; Cette fonction va affecter à x1 et x2 des valeurs pseudo-aléatoires tirés selon une loi gaussienne. Il est possible de tester cette fonction en regardant quelle distribution des données elle produit : #include <cstdlib> #include <cmath> #include <iostream> #include <fstream> const double PI= ; using namespace std;

7 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() /*INITIALISATION DES STRUCTURES DE DONNEES*/ srand(time(0)); int taille=1200; double nombretests= ; long compteur1[taille]; for(int i=0;i<taille;i++) compteur1[i]=0; /*TIRAGE DE VALEUR ALEATOIRE*/ for(int i=0;i<nombretests;i++) double x1,x2;

8 polarmarsaglia(&x1,&x2); compteur1[(int)(x1* )]++; compteur1[(int)(x2* )]++; /*AFFICHAGE DE LA DISTRIBUTION*/ ofstream f("c:\\cpp\\testdistribution.txt"); for(int i=0;i<1200;i+=1) double valeur=(i-600)/(double)100; if(compteur1[i]>0) f << valeur << " " << compteur1[i]/nombretests << "\n"; f.close(); Ici, l'instruction ofstream f("c:\\cpp\\testdistribution.txt") dépasse le cadre des cours qui ont été rédigés précédemment. Il s'agit de créer un objet de flux vers fichier. Lors de la création de cet objet, un fichier testdistribution.txt est crée dans le répertoire c:\cpp (il faut donc adapter le chemin en fonction de la machine). L'instruction : f << valeur << " " << compteur1[i]/nombretests << "\n"; demande l'écriture de ce qui suit sur le fichier, à l'instar de l'utilisation de std::cout qui demande l'écriture sur l'invite de commande. Enfin, l'instruction f.close() permet de fermer le fichier sur lequel on aura écrit la distribution. La distribution que l'on obtient à partir de la fonction proposée et du fichier proposé :

9 D'autres algortihmes sont possibles, dont l'algorithme de Ziggurat, ils ne sont pas évoqués ici cependant. 4 Génération de valeurs aléatoires selon une distribution ad hoc A partir d'un tableau passé en paramètre et qui représente une distribution de probabilité, on veut effectuer des tirages aléatoires. Soit l'exemple d'untel tableau : double t[ ]=0.5,0.03,0.05,0.3,0.01,0.01,0.1 : ce tableau est une distribution de probabilité : la somme des t[i] est égale à 1 et chaque t[i] est compris dans [0:1]. On peut vouloir faire des tirages, de sorte que 0 soit tiré avec une probabilité 0.5, que 1 soit tiré avec une probabilité 0.03 etc... On peut utiliser la fonction tirageselondistribution proposée dans le code qui suit, en notant qu'on ne vérifie pas, pour cette fonction, que la somme des probabilités soit égale à 1 : on ne vérifie pas qu'on ait une distribution. La fonction main() propose un test de cette fonction. #include <cstdlib> #include <ctime> #include <iostream> double randomuniform()

10 return rand()/(double)rand_max; int tirageselondistribution(double distrib[],int nbelts) double x=randomuniform(); double bornemin=0,bornemax=distrib[0]; int indicerenvoye=-1; if(bornemin<=x && x<=bornemax) indicerenvoye=0; for(int rg=1;rg<nbelts && indicerenvoye==-1;rg++) bornemin+=distrib[rg-1]; bornemax+=distrib[rg]; if(bornemin<=x && x<=bornemax) indicerenvoye=rg; return indicerenvoye; int main() srand(time(0)); double distrib[]=0.5,0.03,0.05,0.3,0.01,0.01,0.1; unsigned long nombretests= ; unsigned long compte[7]; for(int i=0;i<7;i++) compte[i]=0; for(int i=0;i<nombretests;i++) compte[tirageselondistribution(distrib,7)]++;

11 double somme=0; for(int i=0;i<7;i++) double x=compte[i]/(double)nombretests; somme+=x; std::cout << i << " " << x << "\n"; std::cout << "La somme : " << somme << "\n"; A noter qu'à partir de la fonction tirageselondistribution, on peut répondre à une série de problèmes : tirer des noms au hasard avec pour chaque nom une probabilité qui lui est associée... 5 Génération d'un ordre aléatoire Le problème est ici le suivant : on dispose d'une collection de valeurs ou d'objets, on veut modifier la collection de manière à ce que les valeurs ou objets soient mélangés dans un ordre aléatoire. A noter que ce problème se ramène à un problème plus simple. On note N la taille de la collection, vouloir mélanger les éléments de la collection est équivalent à produire une séquence aléatoire où chaque nombre entier de 0 à N-1 apparaît une et une seule fois. Il existe N! séquences possibles. La fonction ordrealeatoire(t[n]) remplit le tableau t avec une séquence aléatoire. int[] ordrealeatoire(int N) int tableaudesentiers[n]; double valeursaleatoires[n]; for(int i=0;i<n;i++) tableaudesentiers[i]=i; valeursaleatoires[i]=randomuniform(); bool b=true; while(b) b=false; for(int rang=1;rang<n;rang++)

12 if(valeursaleatoires[i-1]>valeursaleatoires[i]) int inter=tableaudesentiers[i]; tableaudesentiers[i]=tableaudesentiers[i-1]; tableaudesentiers[i-1]=inter; double inter2=valeursaleatoires[i]; valeursaleatoires[i]=valeursaleatoires[i-1]; valeursaleatoires[i-1]=inter2; b=true; Attention ici, la procédure de tri pourrait être améliorée : on a en effet choisi d'adopter une méthode de tri à bulle pour simplifier la présentation de la fonction quand un algorithme de tri-fusion aurait beaucoup amélioré la fonction en rendant sa lecture plus confuse cependant. Conclusions Un fichier contient toutes les fonctions qui viennent d'être présentées : On peut utiliser les fonctions de ce fichier dans un autre fichier, à partir du moment où dans cet autre fichier, on met include "utilitairealea.cpp" on met le fichier utilitairealea.cpp dans le même répertoire que le nouveau fichier.

13 C'est un premier exemple de répartition du code en plusieurs fichiers. Les fonctions présentées dans le présent cours et dans le fichier utilitairealea.cpp permettent de résoudre un assez grand nombre des problèmes de générations aléatoire, les exercices liés à ce cours illustrent quelques utilisations.

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

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 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

Plus en détail

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

Plus en détail

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

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

Plus en détail

Introduction au pricing d option en finance

Introduction 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étail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à 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étail

Examen de Programmation I

Examen de Programmation I Examen de Programmation I Sciences et Technologies du Vivant, Semestre 1 Mercredi 22 décembre 2010 1. N oubliez pas de mettre vos NOM et PRÉNOM sur toutes vos copies. 2. Merci de garder la donnée. 3. Vous

Plus en détail

Algorithmique IN102 TD 3

Algorithmique IN102 TD 3 Algorithmique IN10 TD 16 décembre 005 Exercice 1 Clairement, il existe des arbres de hauteur h à h + 1 éléments : il sut pour cela que leurs n uds internes aient au plus un ls non vide. On a alors un arbre

Plus en détail

I. Introduction aux fonctions : les fonctions standards

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

Plus en détail

Compte en banque : Exemple de conception et implantation par raffinement successif

Compte en banque : Exemple de conception et implantation par raffinement successif Compte en banque : Exemple de conception et implantation par raffinement successif 11 octobre 2014 1 Énoncé On veut écrire un programme qui fait la mise à jour de votre compte en banque. Le programme traite

Plus en détail

C3 : Manipulations statistiques

C3 : Manipulations statistiques C3 : Manipulations statistiques Dorat Rémi 1- Génération de valeurs aléatoires p 2 2- Statistiques descriptives p 3 3- Tests statistiques p 8 4- Régression linéaire p 8 Manipulations statistiques 1 1-

Plus en détail

Chapitre 2 : Références, tableaux, pointeurs, allocation dynamique de mémoire

Chapitre 2 : Références, tableaux, pointeurs, allocation dynamique de mémoire Université Pierre et Marie Curie Programmation en C++ Master M2 "IFMA" R. Roux, F. Benaych-Georges & D. Simon Chapitre 2 : Références, tableaux, pointeurs, allocation dynamique de mémoire Table des matières

Plus en détail

Introduction à Make et aux fonctions pseudo-aléatoires

Introduction à Make et aux fonctions pseudo-aléatoires Introduction à Make et aux fonctions pseudo-aléatoires 1 Introduction à Make Support de TP C Make est un outil de programmation, dont une version est disponible pour les systèmes Unix sous la licence GNU

Plus en détail

APPLICATION. Définition des classes : On va définir - une classe carte - une classe piledecartes - une classe joueur

APPLICATION. Définition des classes : On va définir - une classe carte - une classe piledecartes - une classe joueur APPLICATION On souhaite écrire un programme qui permet à l utilisateur de jouer au jeu de cartes 21. Principe : L utilisateur reçoit une carte à la fois et après chaque carte il décide s il continue ou

Plus en détail

I Quelques points d'algorithmique

I Quelques points d'algorithmique I Quelques points d'algorithmique 1) Types Type "simple" : Identificateur commençant par une majuscule = Description du type Les principaux types : les entiers naturels (int, long, long long) ou relatifs

Plus en détail

Programmation Objet - Cours II

Programmation 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étail

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Hélène Toussaint, juillet 2014 Sommaire 1. Efficacité du std::sort... 1 1.1. Conditions expérimentales... 1 1.2. Tableaux de

Plus en détail

X. Juvigny. Septembre 2007

X. Juvigny. Septembre 2007 De C à C++ X Juvigny Septembre 2007 1 Introduction Outre les nouvelles possibilités en programmation orienté objet, le C++ offre de plus de nouvelles caractéristiques par rapport au langage C dont il est

Plus en détail

420KEL Petite révision v. 1,65. Petite révision

420KEL Petite révision v. 1,65. Petite révision Petite révision Quelques petits exercices pour vous rafraîchir la mémoire et vous remettre en forme. Dans les exercices pour lesquels on vous demande de programmer, cherchez à produire un résultat à la

Plus en détail

Programmation C++ (débutant)/les structures

Programmation C++ (débutant)/les structures Programmation C++ (débutant)/les structures 1 Programmation C++ (débutant)/les structures Le cours sur les structures Présentation Nous avons utilisé pour l'instant des types de base : ils contiennent

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

Les entrées et les sorties sont considérées comme des flots. Un flot est associé à un fichier ou à un périphérique.

Les entrées et les sorties sont considérées comme des flots. Un flot est associé à un fichier ou à un périphérique. Le langage C++ Master Actuariat Séance 5 : Les flots C++ - F.CHAKER- M1 Actuariat 2014/2015 1 Les entrées sorties en C++ Les entrées et les sorties sont considérées comme des flots. Un flot est associé

Plus en détail

Simulation Numérique

Simulation Numérique Ecole Nationale de Techniques Avancées Simulation Numérique Chapitre 4 Surcharge des opérateurs Eric Lunéville Surcharge des opérateurs Le C++ utilise des opérateurs prédéfinis tels que + - * / sur les

Plus en détail

IFT1169 Examen Final

IFT1169 Examen Final Trimestre Hiver, 2006 Mohamed Lokbani IFT1169 Examen Final Inscrivez tout de suite votre nom et code permanent. Nom: Prénom(s): Signature: Code perm: Date : mardi 18 avril 2006 Durée : 2 heures et 45 minutes

Plus en détail

Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1. B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.

Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1. B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac. Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Programme de la séance Correction de la simulation d examen Questions

Plus en détail

Algorithmique et. Plan CHAPITRE 2: NOTIONS D'ALGORITHMIQUE CONCEPTS DE BASE DU LANGAGE C CHAPITRE 3: LES TABLEAUX LES POINTEURS CHAPITRE 4

Algorithmique et. Plan CHAPITRE 2: NOTIONS D'ALGORITHMIQUE CONCEPTS DE BASE DU LANGAGE C CHAPITRE 3: LES TABLEAUX LES POINTEURS CHAPITRE 4 Université Mohammed V Agdal Ecole Mohammadia d'ingénieurs Département Génie Informatique Rabat CHAPITRE 1: Plan NOTIONS D'ALGORITHMIQUE CHAPITRE 2: Algorithmique et Programmation en Langage C CONCEPTS

Plus en détail

TD 5 LES POINTEURS. Définition: Pointeur

TD 5 LES POINTEURS. Définition: Pointeur TD 5 LES POINTEURS d'après le site de F. Faber http://www.ltam.lu/tutoriel_ansi_c Définition: Pointeur Un pointeur est une variable spéciale qui peut contenir l'adresse d'une autre variable. En C, chaque

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-onventions Initiation à la programmation en Python Une commande Python sera écrite en caractère gras. Exemples : print("bonjour") max=input("nombre maximum autorisé :") Le résultat de l'exécution d'un

Plus en détail

Algorithmique Partie 1

Algorithmique Partie 1 Algorithmique Partie 1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Modalités Sommaire 1 Modalités 2 Programmation 3 Données 4 Opérateurs

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

Université des Antilles et de la Guyane Département Scientifique Interfacultaire Corrigé Examen INFO1 Informatique

Université des Antilles et de la Guyane Département Scientifique Interfacultaire Corrigé Examen INFO1 Informatique Université des Antilles et de la Guyane Département Scientifique Interfacultaire Corrigé Examen INFO1 Informatique Le corrigé propose une des réponses possibles aux problèmes posés. Le but de l'examen

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le 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étail

Informatique III: Programmation en C++

Informatique III: Programmation en C++ Rappel: fstream Informatique III: Programmation en C++ void open(const char *nom fichier, openmode mode) ouvre le fichiers nom fichier dans le mode mode (ifstream: par défaut en lecture, ofstream: par

Plus en détail

Métaheuristique. Jérémy CHANUT Charles BALLARINI

Métaheuristique. Jérémy CHANUT Charles BALLARINI Métaheuristique Jérémy CHANUT Charles BALLARINI 15 octobre 2012 CHAPITRE 1 INTRODUCTION Ce projet consiste en la résolution du problème des composants électroniques par deux méthodes : Recuit simulé Algorithme

Plus en détail

Tutorial: Compiler un programme en C++

Tutorial: Compiler un programme en C++ Tutorial: Compiler un programme en C++ Ce tutorial propose de reprendre dans deux cas de figures (un unique fichier source, et plusieurs fichiers sources en c++11 différentes approches permettant de compiler

Plus en détail

Les types somme. 1 Préparation du TP. 2 Interface du module Carte. Algorithmes et Programmation Impérative 2. 2.1 Les types de donnees

Les types somme. 1 Préparation du TP. 2 Interface du module Carte. Algorithmes et Programmation Impérative 2. 2.1 Les types de donnees Univ. Lille1 - Licence Informatique 2ème année 2014-15 Algorithmes et Programmation Impérative 2 Les types somme 1 Préparation du TP Dans le prochain TP, vous allez réaliser un programme de jeu de poker

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

INVENTAIRE INFORMATISE D'UN PARC INFORMATIQUE EN RESEAU. Client UNIX

INVENTAIRE INFORMATISE D'UN PARC INFORMATIQUE EN RESEAU. Client UNIX INVENTAIRE INFORMATISE D'UN PARC INFORMATIQUE EN RESEAU Client UNIX Session 2006 2007 Lycee de formation: Lycee Jean Lurcat Page1/17 SOMMAIRE 1. Presentation du projet 2. Description 3. Analyse UML 1.

Plus en détail

Initiation à la programmation en Python

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

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Programmation récursive

Programmation récursive Année 2004-2005 F. Lévy IUT De Villetaneuse Dép t informatique Cours d'algorithmique 2 éme Année Cours 8 Programmation récursive 1. Qu'est-ce que la programmation récursive Définition : la programmation

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Méthodes Numériques et Informatiques (MP050) Examen de TP du 23 juin 2010

Méthodes Numériques et Informatiques (MP050) Examen de TP du 23 juin 2010 Méthodes Numériques et Informatiques () Examen de TP du 23 juin 2010 Calculatrices et documents autorisés Les deux parties sont indépendantes. Les questions indépendantes sont signalées par le symbole

Plus en détail

2 de AP1 : utilisation de la calculatrice en mode «Programme» CORRECTION

2 de AP1 : utilisation de la calculatrice en mode «Programme» CORRECTION 2 de AP1 : utilisation de la calculatrice en mode «Programme» CORRECTION Algorithmes et programmes : Un algorithme est un ensemble d'instructions structuré de manière à atteindre un but. Ces instructions

Plus en détail

INITIATION A LA PROGRAMMATION ORIENTEE OBJET (POO)

INITIATION A LA PROGRAMMATION ORIENTEE OBJET (POO) Objectifs INITIATION A LA PROGRAMMATION ORIENTEE OBJET (POO) Bertrand Vandeportaele IUT GEII TOULOUSE 2015 Objectifs Connaître les possibilités offertes par la POO Comprendre les concepts Savoir utiliser

Plus en détail

Jeu Simon: analyse. La partie est perdue, on a eu une erreur ou un dépassement du temps limite : musique

Jeu Simon: analyse. La partie est perdue, on a eu une erreur ou un dépassement du temps limite : musique Jeu Simon: analyse 1 Algorithme du jeu : Effectuer un tirage de la séquence des couleurs (20 éléments, 3 couleurs) Répéter Afficher la séquence des couleurs et émission des notes associées Répéter Entrée

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

Plus en détail

Chapitre 6 : Génération aléatoire

Chapitre 6 : Génération aléatoire Chapitre 6 : Génération aléatoire Alexandre Blondin Massé Laboratoire d informatique formelle Université du Québec à Chicoutimi 12 février 2013 Cours 8STT105 Département d informatique et mathématique

Plus en détail

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

Plus en détail

1 Notions de base 1.1 Structure d'un programme

1 Notions de base 1.1 Structure d'un programme 1 Notions de base 1.1 Structure d'un programme Le langage C++ contient le langage C : tout programme écrit en C à la norme ANSI doit pouvoir être compilé par un compilateur C++. C++ fait la diérence entre

Plus en détail

Programmation C++ (débutant)/les tableaux statiques

Programmation C++ (débutant)/les tableaux statiques Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne

Plus en détail

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Master Modélisation et Simulation / ENSTA TD 1 2012-2013 Les méthodes dites de Monte-Carlo consistent en des simulations expérimentales de problèmes

Plus en détail

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

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

Plus en détail

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

Plus en détail

Informatique, Algorithmique, Programmation, etc. CPEL2

Informatique, Algorithmique, Programmation, etc. CPEL2 Informatique, Algorithmique, Programmation, etc. CPEL2 1 Informatique? Mot valise créé en 1962: INFORMATION + AUTOMATIQUE En français moderne: science du traitement de l'information par un ordinateur 2

Plus en détail

Projet console Visual C++ 2010 avec OpenCV

Projet console Visual C++ 2010 avec OpenCV Table des matières Projet console Visual C++ 2010 avec OpenCV...2 Pré-requis...2 Création du projet...2 Configuration des options dans Visual Studio...3 Le squelette de base du programme OpenCV...4 Projet

Plus en détail

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

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

Plus en détail

IN104. Programmation orientée objet Introduction aux objets

IN104. Programmation orientée objet Introduction aux objets IN104 Programmation orientée objet Introduction aux objets Séance de Travaux Dirigés du 24 septembre 2009 B. Monsuez, F. Védrine Exercice 1 Notre compteur en C++ Nous étudions dans cet exercice l exemple

Plus en détail

Recherche dans un tableau

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

Plus en détail

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

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

Plus en détail

LM206 : Initiation à Scilab

LM206 : Initiation à Scilab Université Pierre et Marie Curie Année 2013-2014 Licence période 2 7 Au hasard LM206 : Initiation à Scilab Cette séance traite de quelques possibilités de simulation en probabilités et statistiques. Après

Plus en détail

Programmation de modèles à registres en Sophus

Programmation de modèles à registres en Sophus Programmation de modèles à registres en Sophus I/Avec des billes dans des boîtes Les modèles de Post et Wang peuvent être simulés par des boîtes quantiques, où un fermion (obligatoirement unique) peut

Plus en détail

ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE Section informatique. Cours 3.307P: INFORMATIQUE EXAMEN FINAL

ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE Section informatique. Cours 3.307P: INFORMATIQUE EXAMEN FINAL ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE Section informatique Cours 3.307P: INFORMATIQUE EXAMEN FINAL DATE : Dimanche 8 décembre 1996 HEURE: DE 13h30 A 16h00

Plus en détail

Programmation C++ (débutant)/les fichiers

Programmation C++ (débutant)/les fichiers Programmation C++ (débutant)/les fichiers 1 Programmation C++ (débutant)/les fichiers Généralité sur les fichiers La règle générale pour créer un fichier est la suivante : il faut l'ouvrir en écriture.

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

Préparation à réaliser avant le début du TP

Préparation à réaliser avant le début du TP Préparation à réaliser avant le début du TP Soit une suite de points p 0,p 1,... p n du plan (n>=3). On cherche à approximer l'ensemble de ces points par une droite. Écrivez le système d'équations (sur

Plus en détail

Notion de portée locale (1)

Notion de portée locale (1) Notion de portée locale (1) Les notions de portée locale v.s. globale définies pour les blocs sont également valides dans le cadre des fonctions 1. Comme dans le cas des blocs, la portée permet de résoudre

Plus en détail

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008 Table des matières 3- Algorithmique...1 3.1 Définition : algorithmique...1 Critère algorithmique élémentaire...1 3.2 De l algorithme au programme...2

Plus en détail

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

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

Plus en détail

Cours 3 SDA et conception de logiciel. 1. Exemple d'analyse algorithmique n'utilisant que des tableaux

Cours 3 SDA et conception de logiciel. 1. Exemple d'analyse algorithmique n'utilisant que des tableaux Cours 3 SDA et conception de logiciel Les SDA servent à pouvoir construire des logiciels performants en cherchant à combiner des "briques" dont on sait qu'on pourra les implémenter en utilisant des techniques

Plus en détail

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td. Exercice 1 TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.htm Exercices de base de Programmation Arbre Programmatique

Plus en détail

I. La sécurité des mots de passe sous Linux : la fonction crypt

I. La sécurité des mots de passe sous Linux : la fonction crypt Sécurité GNU/Linux La fonction crypt By sharevb Sommaire I.La sécurité des mots de passe sous Linux : la fonction crypt...1 a)description...1 b)types de cryptages...1 c)prototype C...2 II.De la sécurité

Plus en détail

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. 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étail

ISN : Initiation à la programmation TP 1. Syntaxe à retenir. Lancer la Proglet «abcdalgos»

ISN : Initiation à la programmation TP 1. Syntaxe à retenir. Lancer la Proglet «abcdalgos» ISN : Initiation à la programmation TP 1 I) Premier programme avec Javascool A) avec Javascool Sur votre lecteur réseau P :, créer un dossier que l on nommera ISN Créer un sous dossier P :\JAVASCOOL et

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Pointeurs de fonctions

Pointeurs de fonctions Florence Levé - Université de Picardie Jules Verne 145 Pointeurs de fonctions Parfois utile de passer une fonction comme paramètre d une autre fonction Un pointeur de fonction correspond à l adresse du

Plus en détail

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

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

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Projet 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. 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étail

TD Objets distribués : Introduction à.net Remoting

TD Objets distribués : Introduction à.net Remoting IUT Bordeaux 1 2008-2009 Département Informatique Licence Professionnelle ~ SI TD Objets distribués : Introduction à.net Remoting Vous mettrez en œuvre votre première application en.net remoting. Les sources

Plus en détail

Simuler l aléatoire. Licence 1 MASS, parcours SEMS et ESD Introduction à Java et à l algorithmique

Simuler l aléatoire. Licence 1 MASS, parcours SEMS et ESD Introduction à Java et à l algorithmique Licence 1 MASS, parcours SEMS et ESD Introduction à Java et à l algorithmique verel@i3s.unice.fr http://www.i3s.unice.fr/ verel Équipe ScoBi - Université Nice Sophia Antipolis 15 mars 2013 Synthèse Introduction

Plus en détail

DS Informatique Scientifique

DS Informatique Scientifique DUT Mesures Physiques - semestre S'2 DS Informatique Scientifique 10 décembre 2012 0. Directives Durée : 2h Tout système électronique interdit (calculatrice, téléphone, etc). Téléphone portable éteint

Plus en détail

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

AP2 - programmation objet en C++ Semestre 2, année 2009-2010. Février 2010

AP2 - programmation objet en C++ Semestre 2, année 2009-2010. Février 2010 Constantes, variables et méthodes de classe AP2 - programmation objet en C++ Semestre 2, année 2009-2010 Département d informatique IUT Bordeaux 1 Février 2010 1 / 13 Projet Le projet Situation : une classe

Plus en détail

Programmation I : Cours d introduction à la programmation Pointeurs

Programmation I : Cours d introduction à la programmation Pointeurs Programmation I : Cours d introduction à la programmation Pointeurs Laboratoire d Intelligence Artificielle Faculté I&C Programmation I Pointeurs 1 / 23 Rappel du calendrier Programmation I Pointeurs 2

Plus en détail

Claude Delannoy. 3 e édition C++

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

Plus en détail

Exercice 1 QCM. 4 i. e π ou. e π, ou : 4 ( i) 1 /4. e π. e π Réponse d. 1. Le carré de z est : ce qui donne : soit : , soit 4i

Exercice 1 QCM. 4 i. e π ou. e π, ou : 4 ( i) 1 /4. e π. e π Réponse d. 1. Le carré de z est : ce qui donne : soit : , soit 4i TSTI2D - Bac 203 - Polynésie STI2D -.0 - Corrigé.doc - Page /5 Terminale STI2D - Bac 203 - Polynésie - Corrigé. TSTI2D - Bac 203 - Polynésie STI2D -.0 - Corrigé.doc - Page 2/5 Exercice QCM. Le carré de

Plus en détail

1 Générateurs à Congruences Linéaires (GCL)

1 Générateurs à Congruences Linéaires (GCL) TP 4 : Générateurs pseudo-aléatoires et applications Un générateur de nombres pseudo-aléatoires, pseudorandom number generator (PRNG) en anglais, est un algorithme qui génère une séquence de nombres présentant

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Problème: si les tableaux que l'on trie sont déjà à peu près triés, l'algorithme n'est pas efficace.

Problème: si les tableaux que l'on trie sont déjà à peu près triés, l'algorithme n'est pas efficace. Traonmilin Yann traonmil@enst.fr MOD Algorithmique Probabiliste 1. Deux exemples 1.1. Quicksort randomisé. Dans l'algorithme de tri classique Quicksort, le pivot est choisi au début du tableau puis on

Plus en détail

INTRODUCTION A LA PROGRAMMATION

INTRODUCTION A LA PROGRAMMATION INTRODUCTION A LA PROGRAMMATION Baccalauréat S - Spécialité Informatique et Sciences du Numérique 4.3 : Langages et programmation Objectifs A la fin de cette séquence l'élève est capable : d'expliquer

Plus en détail

X2012 INF421 Examen de rattrapage / 25 novembre 2013. 1 Le compte est bon

X2012 INF421 Examen de rattrapage / 25 novembre 2013. 1 Le compte est bon X2012 INF421 Examen de rattrapage / 25 novembre 2013 Tous documents autorisés (poly, notes de cours, notes de PC). Dictionnaires électroniques autorisés pour les élèves étrangers. L'énoncé est composé

Plus en détail

Le son sur l ordinateur

Le son sur l ordinateur PGON.CA Le son sur l ordinateur Avec C++ et SDL Simon Levesque 2008-08-17 1 Contenu Le son pour un ordinateur... 2 La fonction pour concevoir un échantillon avec une fréquence sonore désirée... 3 Créer

Plus en détail

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème.

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème. 1/30 Objectif de ce cours 2/30 Objectifs de ce cours Introduction au langage C - Cours 4 Girardot/Roelens Septembre 2013 Analyse de problème I décomposer un traitement complexe en traitements simples Concepts

Plus en détail

Algorithmique Correction du DS1

Algorithmique Correction du DS1 Algorithmique Correction du DS1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Exercice 1 Exercice 1 Un service de reprographie facture : 0.10

Plus en détail

Tableau d'enregistrements

Tableau d'enregistrements Tableau d'enregistrements Regrouper plusieurs enregistrements dans un tableau est parfaitement possible! Exemple : représenter les données concernant 50 personnes algorithme monalgorithme // déclaration

Plus en détail

Licence E.E.A. TD N 2 de Langage C/C++

Licence E.E.A. TD N 2 de Langage C/C++ TD N 2 de Langage C/C++ 1 Licence E.E.A. TD N 2 de Langage C/C++ Ce TD a pour objectif de vous faire découvrir et utiliser le langage C et peut être C++. Il s agira de transcrire sous la forme d un programme

Plus en détail