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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

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

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

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

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

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

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

Introduction à l héritage en C++

Introduction à l héritage en C++ Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition

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

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

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES I-Présentation Un algorithme de recherche de sous-chaine est un type d'algorithme de recherche qui a pour objectif de trouver une chaîne de caractères

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

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

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

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Exercices de programmation concurrente (PCO) semestre printemps 2014-2015. Exclusion mutuelle, synchronisation, coordination

Exercices de programmation concurrente (PCO) semestre printemps 2014-2015. Exclusion mutuelle, synchronisation, coordination Prof. Yann Thoma Exercices de programmation concurrente (PCO) semestre printemps 2014-2015 Exclusion mutuelle, synchronisation, coordination Question 1: Exclusion mutuelle Soit les deux tâches T 0 et T

Plus en détail

Travaux Pratiques. Introduction à la programmation 1er Bac Sc. Géographique - 2 nd Quad- 2009-2010 TP 0

Travaux Pratiques. Introduction à la programmation 1er Bac Sc. Géographique - 2 nd Quad- 2009-2010 TP 0 Travaux Pratiques Professeur C Grégoire Chêne Introduction à la programmation 1er Bac Sc. Géographique - 2 nd Quad- 2009-2010 Pr. Peter Schlagheck Bât. B5 Physique quantique statistique allée du 6 Août

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

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

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

Simulation : application au système bonus-malus en responsabilité civile automobile

Simulation : application au système bonus-malus en responsabilité civile automobile Simulation : application au système bonus-malus en responsabilité civile automobile Robert Langmeier Travail de séminaire réalisé sous la supervision du professeur François Dufresne Ecole des HEC Université

Plus en détail

M2 TIIR (2013-2014) Bilel Derbel

M2 TIIR (2013-2014) Bilel Derbel M2 TIIR (2013-2014) Bilel Derbel Notre but est de concevoir une application générique sur grid5000 qui permet de déployer des calculs parallèles de façon transparente Plus précisément, nous nous plaçons

Plus en détail

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R 2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Julien Rosener (julien.rosener@digital-scratch.org) Le contrôle CRC. 17/05/2004 : Rajout des références

Julien Rosener (julien.rosener@digital-scratch.org) Le contrôle CRC. 17/05/2004 : Rajout des références Historique des versions Le contrôle CRC 03/05/2004 : Création du document 17/05/2004 : Rajout des références Sommaire 1 Introduction... 1 2 Rappel sur l'arithmétique sur les nombres binaire...2 2.1 L'opérateur

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

La programmation des PIC en C. Les fonctions, les interruptions.

La programmation des PIC en C. Les fonctions, les interruptions. La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure

Plus en détail

Trier les ventes (sales order) avec Vtiger CRM

Trier les ventes (sales order) avec Vtiger CRM Trier les ventes (sales order) avec Vtiger CRM Dans l'activité d'une entreprise, on peut avoir besoin d'un outil pour trier les ventes, ce afin de réaliser un certain nombre de statistiques sur ces ventes,

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

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

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

INFO-F-105 Language de programmation I Séance VI

INFO-F-105 Language de programmation I Séance VI INFO-F-105 Language de programmation I Séance VI Jérôme Dossogne Année académique 2008 2009 Un grand merci à Yves Roggeman pour ses relectures et remarques des codes et commentaires qui ont contribuées

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Le langage C++ (partie I)

Le langage C++ (partie I) Master Informatique des Organisations 1 ère et 2 ème années Spécialité ID/MIAGE-IF/MIAGE-SITN Le langage C++ (partie I) Maude Manouvrier Qu est ce que le C++? Rappels sur la gestion de la mémoire Premiers

Plus en détail

Site de la spécialité ISN du lycée Louis Marchal

Site de la spécialité ISN du lycée Louis Marchal Site de la spécialité ISN du lycée Louis Marchal 1) Codage d' un entier positif Un ordinateur ne manipule que des 0 et des 1 (circuit ouvert ou fermé par exemple), toutes les données doivent donc être

Plus en détail

Niveau. Situation étudiée. Type d activité. Durée. Objectifs. Seconde.

Niveau. Situation étudiée. Type d activité. Durée. Objectifs. Seconde. Simuler des expériences aléatoires avec une calculatrice Niveau Seconde. Situation étudiée Différentes selon les séances : Séance 1 : Jeu de pile ou face, tirages de boule dans une urne avec des proportions

Plus en détail

Manipulations binaires en C++

Manipulations binaires en C++ Manipulations binaires en C++ Tous les exercices devront être résolus sans utiliser les opérateurs *, / et % Rappels En informatique, les nombres sont stockés sous forme binaire. Même si ce n'est pas nécessaire,

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

et Programmation Objet

et Programmation Objet FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

INF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini

INF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1// Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble 2/52 Introduction Structures de contrôle

Plus en détail

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

Plus en détail

Modélisation et Outils Mathématiques TP génération de nombres aléatoires et probabilités

Modélisation et Outils Mathématiques TP génération de nombres aléatoires et probabilités Modélisation et Outils Mathématiques TP génération de nombres aléatoires et probabilités 3IF, INSA de Lyon, 2014/2015 Marine Minier, Irène Gannaz INSA-Lyon, Département Informatique version 2.00, 12 Février

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

1 Les entrées-sorties, les ux

1 Les entrées-sorties, les ux 1 Les entrées-sorties, les ux 1 1.1 Généralités les fonctions d'entrée/sortie n'appartiennent pas au langage C++ mais à la bibliothèque standard Les fonctions d'entrée/sortie sont déclarées dans le chier

Plus en détail

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel) Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

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

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

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

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2 2ème partie de cours: 23.fév.10 Cours 1 20.avr.10 TEST 24.fév.10 TP1 21.avr.10 miniprojet 26.fév.10 TP réserve 23.avr.10 miniprojet 2.mars.10 Cours 2 27.avr.10 Présentation miniprojet 3.mars.10 TP2 28.avr.10

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Travaux dirigés : Programmation Orientée objet

Travaux dirigés : Programmation Orientée objet Travaux dirigés : Programmation Orientée objet Exercice 1: Créer un projet c# qui permet de gérer les voitures sachant que une voiture est caractérisée par sa matricule, marque, puissance 1. Les attributs

Plus en détail

Programmation Visual Basic sous Excel

Programmation Visual Basic sous Excel 1 Programmation Visual Basic sous Excel Version provisoire Septembre 06 1 Introduction Excel était avant tout un tableur. Au fil des versions, il a su évoluer et intégrer des fonctionnalités qui le rendent

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Projet de mathématique financière. Programmation DLL de deux fonctions financières consommatrices de temps

Projet de mathématique financière. Programmation DLL de deux fonctions financières consommatrices de temps Le 24 mai 2005 Projet de mathématique financière Programmation DLL de deux fonctions financières consommatrices de temps Par : Arthur Pham Yoan Renard Bou Ly Wu I.I.E Institut d Informatique d Entreprise

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Algorithmique & Programmation (INF431) Contrôle classant CC2. 25 juin 2014

Algorithmique & Programmation (INF431) Contrôle classant CC2. 25 juin 2014 Algorithmique & Programmation (INF431) Contrôle classant CC2 25 juin 2014 Les parties I, II et III sont indépendantes les unes des autres. Elles peuvent être traitées dans l ordre de votre choix. Elles

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

Arbres binaires Version prof Version prof

Arbres binaires Version prof Version prof Arbres binaires Version prof Version prof types /* déclaration du type t_element */ t_arbrebinaire = t_noeudbinaire t_noeudbinaire = enregistrement t_element cle t_arbrebinaire fg, fd n enregistrement

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Rendu de travaux I, Algo - langage C

Rendu de travaux I, Algo - langage C IFIP 33 avenue de la République 75011 PARIS Rendu de travaux I, Valérie Amiot RP 50 2001-2002 SOMMAIRE I. Pourquoi sous C? II. Présentation du jeu 1) But du jeu III. Analyse fonctionnelle IV. Fonctionnalités

Plus en détail

Introduction à l Algorithmique

Introduction à l Algorithmique Introduction à l Algorithmique N. Jacon 1 Définition et exemples Un algorithme est une procédure de calcul qui prend en entier une valeur ou un ensemble de valeurs et qui donne en sortie une valeur ou

Plus en détail