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

1.5- Les pointeurs et la gestion de la mémoire

1.5- Les pointeurs et la gestion de la mémoire 1.5- Les pointeurs et la gestion de la mémoire 1- Notion de pointeur, déclaration et initialisation 2- La gestion de la mémoire et ses dangers 3- Opérations sur les pointeurs 4- Pointeurs et tableaux 5-

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

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

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

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

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

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

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

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

INFO-F-101 Programmation Projet 4

INFO-F-101 Programmation Projet 4 INFO-F-101 Programmation Projet 4 Année académique 2008-2009 1 Introduction Une image peut-être décomposée en un tableau de points élémentaires appelés pixels (abréviation de picture element). Supposons

Plus en détail

LIF 1 TP 3 : Passage de paramètres / Tableaux 1D

LIF 1 TP 3 : Passage de paramètres / Tableaux 1D LIF 1 TP 3 : Passage de paramètres / Tableaux 1D Objectifs : Traduction d algorithmes en langage C Mode de passage des paramètres : données, données/résultats (cas particulier des tableaux). Utilisation

Plus en détail

Tableaux dynamiques avec vector

Tableaux dynamiques avec vector Tableaux dynamiques avec vector Tableaux statiques Les tableaux que nous avons vus jusqu'ici sont des tableaux statiques: int tab[3]; Cette forme de tableaux vient du langage C, et est encore très utilisée.

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

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

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

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

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

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

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

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

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

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

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

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

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

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

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

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

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

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

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

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

Travaux Pratiques d Informatique 1

Travaux Pratiques d Informatique 1 Faculté Polytechnique de Mons Service d Informatique Travaux Pratiques d Informatique 1 par Mohammed BENJELLOUN Avec la participation de : J-F Bauwens, Assistant S. Mahmoudi, Assistant E. Malengreau, Assistante

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

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

Simulation de variables aléatoires

Simulation de variables aléatoires Simulation de variables aléatoires S. Robin INA PG, Biométrie Décembre 1997 Table des matières 1 Introduction Variables aléatoires discrètes 3.1 Pile ou face................................... 3. Loi de

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006 ESSEC M B A CONCOURS D ADMISSION Option économique MATHEMATIQUES III Année 2006 La présentation, la lisibilité, l orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront

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

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

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

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 ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

Feuille d'exercices 1. Prise en main. Ecrire un programme qui ache la phrase Bonjour le monde! à l'écran.

Feuille d'exercices 1. Prise en main. Ecrire un programme qui ache la phrase Bonjour le monde! à l'écran. Master MIMSE - Spécialité 3-1ère Année J0MS7301 : Algorithmique et Programmation Objet Feuille d'exercices 1 Prise en main Exercice 0 : Ecrire un programme qui ache la phrase Bonjour le monde! à l'écran.

Plus en détail

COMMENT INSTALLER R? COMMENT LANCER R? COMMENT INSTALLER DES PACKAGES? COMMENT ACTIVER DES PACKAGES? COMMENT AVOIR DE L'AIDE DANS R?

COMMENT INSTALLER R? COMMENT LANCER R? COMMENT INSTALLER DES PACKAGES? COMMENT ACTIVER DES PACKAGES? COMMENT AVOIR DE L'AIDE DANS R? Sommaire Petit guide de survie avec R COMMENT INSTALLER R? COMMENT LANCER R? COMMENT INSTALLER DES PACKAGES? COMMENT ACTIVER DES PACKAGES? COMMENT AVOIR DE L'AIDE DANS R? COMMENT SAISIR DES DONNEES? COMMENT

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

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

Plus en détail

Systeme d'exploitation

Systeme d'exploitation Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées

Plus en dé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

Algorithmique et programmation : les bases (C) Corrigé

Algorithmique et programmation : les bases (C) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours C, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage C des éléments vus en algorithmique. Table des matières 1 Pourquoi

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

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

NOMBRES ALEATOIRES et PSEUDO-ALEATOIRES G.Saporta, P.Périé et S.Rousseau, octobre 2011

NOMBRES ALEATOIRES et PSEUDO-ALEATOIRES G.Saporta, P.Périé et S.Rousseau, octobre 2011 NOMBRES ALEATOIRES et PSEUDO-ALEATOIRES G.Saporta, P.Périé et S.Rousseau, octobre 2011 Utiles pour réaliser r des tirages et simuler des phénom nomènes nes aléatoires atoires Nombres aléatoires: atoires:

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

Cours d initiation à la programmation en C++ Johann Cuenin

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

Plus en détail

Travaux Pratiques en Dev C++ (1 GIM)

Travaux Pratiques en Dev C++ (1 GIM) Université Sidi Mohammed Ben Abdellah École Supérieure de Technologie de Fès Filière Génie Industriel et Maintenance Travaux Pratiques en Dev C++ (1 GIM) Mr KHATORY TABLE DE MATIERES PREMIERS PAS EN DEV

Plus en détail

Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini.

Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini. Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini. 1 Introduction Des actions comme lancer un dé, tirer une carte d un jeu, observer la durée de vie d une ampoule électrique, etc...sont

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

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

Quelques éléments de compilation en C et makefiles

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

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

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

Rédigé par un élève de Terminale S à l'aide de ses livres de maths (Indice, Bordas), ses cours, toute sa peine, et son stress pour le bac! J.

Rédigé par un élève de Terminale S à l'aide de ses livres de maths (Indice, Bordas), ses cours, toute sa peine, et son stress pour le bac! J. Rédigé par un élève de Terminale S à l'aide de ses livres de maths (Indice, Bordas), ses cours, toute sa peine, et son stress pour le bac! J. FAIVRE s de cours exigibles au bac S en mathématiques Enseignement

Plus en détail

Utilitaires Tableau [tb01] - Outils

Utilitaires Tableau [tb01] - Outils Utilitaires Tableau [tb01] - Outils Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 9 avril 2015 Table des matières 1 Utilitaires Tableau / tb01outils1 (C++) 1 1.1

Plus en détail

3 - Boucles for et Séquences (range, listes, chaînes de caractères)

3 - Boucles for et Séquences (range, listes, chaînes de caractères) 3 - Boucles for et Séquences (range, listes, chaînes de caractères) Exercices et programmes à rendre dans le compte-rendu de TP : ex 1 (TP3_1), ex 2 (TP3_2), ex 3 (TP3_3), ex 5 (TP3_5), ex 6 (TP3_6), ex

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

LES GENERATEURS DE NOMBRES ALEATOIRES

LES GENERATEURS DE NOMBRES ALEATOIRES LES GENERATEURS DE NOMBRES ALEATOIRES 1 Ce travail a deux objectifs : ====================================================================== 1. Comprendre ce que font les générateurs de nombres aléatoires

Plus en détail

Les structures. Chapitre 3

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

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

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

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

Java & Algorithme Corrigé du test final

Java & Algorithme Corrigé du test final Java & Algorithme Corrigé du test final 1 QUESTIONS EN JAVA Chaque question est sur un point, sauf certaines sur deux points. En tout, le QCM est noté sur 24 : la note est divisée par 6 pour revenir entre

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

InitProg par l exemple

InitProg par l exemple InitProg par l exemple Martin Monperrus 16 décembre 2011 Ce cument illustre avec des programmes Ocamlcartes et Ocaml le polycopié du cours Initiation à la programmation (InitProg) de l Université Lille

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

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

CH.1 COMPLEXITÉ. 1.1 Les ordres de grandeur 1.2 Les récurrences linéaires 1.3 Des exemples

CH.1 COMPLEXITÉ. 1.1 Les ordres de grandeur 1.2 Les récurrences linéaires 1.3 Des exemples CH.1 COMPLEXITÉ 1.1 Les ordres de grandeur 1.2 Les récurrences linéaires 1.3 Des exemples L2-2 ch1 1 1.1 Les ordres de grandeur Chaque problème peut être résolu de différentes manières par des algorithmes

Plus en détail

Introduction au langage C++

Introduction au langage C++ Introduction au langage C++ D après les notes d introductives au C++ de Stéphane Menozzi http://www.proba.jussieu.fr/~menozzi/ Maxime Pallud IMACS/X-TEC Bat 404 Tel: 01 69 33 46 86 Mail: pallud@imacs.polytechnique.fr

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

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

Bases d algorithmique

Bases d algorithmique Bases d algorithmique Christophe ROSSIGNOL Année scolaire 2015/2016 Table des matières 1 Un peu de vocabulaire 2 1.1 Qu est-ce qu un algorithme?....................................... 2 1.2 Variable, affectation...........................................

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 5 : Les Tableaux PLAN DE LA SÉANCE Comprendre l utilité des tableaux Apprendre à manipuler

Plus en détail

ISN TP 3 : «Premiers pas en programmation» 18/06/2015

ISN TP 3 : «Premiers pas en programmation» 18/06/2015 ISN TP 3 : «Premiers pas en programmation» 18/06/2015 Cette année, nous allons développer des programmes dans un langage de programmation qui s appelle Python. Nous allons travailler dans un environnement

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

De Java (et C) à C++

De Java (et C) à C++ De Java (et C) à C++ Historique Syntaxe basée sur le langage C Bjarne Stroustrup 1979 : C with classes 1983 : renommé C++ 1985 : The C++ Programming Language, première édition 1998 : premier standard 2003

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

Mieux programmer en Java

Mieux programmer en Java Mieux programmer en Java Peter Haggar Éditions Eyrolles ISBN : 2-212-09171-0 2000 PARTIE 1 l exécution de l instruction return, cependant, le contrôle est transféré au bloc finally en // 2. Cela provoque

Plus en détail

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

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

Classes et templates C++

Classes et templates C++ Classes et templates C++ Ce TP propose une application des classes, des templates et du polymorphisme au travers du design de classes permettant de gérer des courbes de Bézier. Contents 1 Bézier unidimensionnelle

Plus en détail

Fx-92 Collège 2D+ à l école

Fx-92 Collège 2D+ à l école Utiliser sa calculatrice Fx-92 Collège 2D+ à l école Par Christophe Escola www.casio-education.fr 2 Sommaire I Mode COMP (w1) Application 1 : Calculs numériques avec des écritures fractionnaires. Application

Plus en détail