Epidémiologie, l urne de Pólya, partie II



Documents pareils
Initiation à la programmation en Python

Cours d algorithmique pour la classe de 2nde

TP 1. Prise en main du langage Python

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

STAGE IREM 0- Premiers pas en Python


Présentation du langage et premières fonctions

Algorithmique et Programmation, IMA

Algorithmique et structures de données I

L informatique en BCPST

Algorithmique avec Algobox

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

Découverte de Python

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Algorithme. Table des matières

Rappels sur les suites - Algorithme

Algorithmique avec Algobox

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Probabilités Loi binomiale Exercices corrigés

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

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

Chapitre 2 Devine mon nombre!

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

1 Recherche en table par balayage

Cours 7 : Utilisation de modules sous python

Le langage C. Séance n 4

I00 Éléments d architecture

Représentation d un entier en base b

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3

Initiation à LabView : Les exemples d applications :

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Cours d Algorithmique et de Langage C v 3.0

Cours 1 : Qu est-ce que la programmation?

Notions fondamentales du langage C# Version 1.0

V- Manipulations de nombres en binaire

Langage Java. Classe de première SI

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmation Objet - Cours II

CONFIGURATION DE L AUTOMATE SIEMENS

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Découverte du tableur CellSheet

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Bases de programmation. Cours 5. Structurer les données

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

Introduction au langage C

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Introduction à l informatique en BCPST

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Initiation à Excel. Frédéric Gava (MCF)

Introduction à l algorithmique et à la programmation (Info 2)

Probabilités conditionnelles Loi binomiale

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

La mémoire. Un ordinateur. L'octet. Le bit

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

Algorithmique et programmation : les bases (VBA) Corrigé

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Cours d Informatique

Organigramme / Algorigramme Dossier élève 1 SI

Maple: premiers calculs et premières applications

Créer vos données sources avec OpenOffice, adieu Excel

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Logiciel de gestion pour restaurants et Bars

Programmer en JAVA. par Tama

Création du projet : 1 sur 13

Programmation avec Xcas ou Python

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

2 Comment fonctionne un ordinateur, dans les grandes lignes

Chap III : Les tableaux

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Java Licence Professionnelle CISII,

EXCEL TUTORIEL 2012/2013

TP, première séquence d exercices.

Algorithmes récursifs

Évaluation et implémentation des langages

Chapitre 4 Pierre, papier, ciseaux

I. Introduction aux fonctions : les fonctions standards

MODE D EMPLOI DU MODULE D E-COMMERCE

Conventions d écriture et outils de mise au point

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

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

IV- Comment fonctionne un ordinateur?

Rappels Entrées -Sorties

Fluctuation d une fréquence selon les échantillons - Probabilités

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Programmation Classique en langage C

Styler un document sous OpenOffice 4.0

ACTIVITÉ DE PROGRAMMATION

Algorithmique et Programmation Fonctionnelle

L ALGORITHMIQUE. Algorithme

Initiation à l algorithmique

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

LES DECIMALES DE π BERNARD EGGER

Transcription:

Epidémiologie, l urne de Pólya, partie II Se mettre par groupe de deux. Traiter la fiche dans l ordre. Un compte de rendu de TP devra être rendu avec les réponses écrites aux questions, les recherches documentaires et les listings des programmes. Pour l algorithme de la partie 1 et les programmes de la partie 2, il faudra les faire valider par le professeur avant de les imprimer. L activité et la participation pendant la séance seront des éléments important de l évaluation. 1 Simulation de l urne de Pólya avec un algorithme L urne de Pólya constitue un modèle basique de propagation d une épidémie. Nous avons déjà simulation l évolution d une urne de Pólya avec un tableur, nous allons réaliser une simulation avec un algorithme, écrit avec le logiciel Algobox. Les hommes utilisent des algorithmes depuis les temps anciens pour calculer (algorithme d Euclide pour le calcul de PGCD), construire, cultiver, cuisiner... Définition 1 Un algorithme est une procédure de calcul bien définie qui prend en entrée une valeur ou un ensemble de valeurs (on parle d instance du problème) et qui retourne en sortie une valeur ou un ensemble de valeurs. Pour être exécuté par un ordinateur, un algorithme doit être traduit dans un langage de programmation. Algobox est un mini-langage de programmation dont la syntaxe est très proche de celle d un algorithme écrit en Français. 1. Choisir un personnage parmi les suivants, puis faire une recherche documentaire pour retracer en une dizaine de lignes son apport à l histoire des algorithmes et de l informatique : Al Kwarizmi Charles Babbage Ada Lovelace Alan Turing 2. Ouvrir le logiciel Algobox et enregistrer un nouveau fichier Polya.alg. Nous écrirons l algorithme au fil des questions, les modèles de syntaxe sont donnés dans des captures d écrans. Pour commencer la rédaction de notre algorithme, nous allons d abord déclarer les variables utilisées. Définition 2 Variable : Une variable désigne un emplacement de la mémoire de l ordinateur. Elle est identifiée par un nom (identificateur) et contient une valeur (ou pas). C est une boîte portant une étiquette (son nom) et contenant une valeur. Comme il existe des boîtes différentes pour ranger des chaussures, des outils ou un texte (une enveloppe), les variables peuvent être de différents types : nombre entier, nombre à virgule, chaîne de caractères, booléen (valeur logique Vrai ou Faux), tableau.... Affectation de variable : Lorsqu on range une valeur dans une variable, on dit qu on affecte cette valeur à la variable. Il faut que le type de la valeur soit le même que celui de la variable.par exemple, pour affecter la valeur 2 à la variable A de type entier on écrira l instruction : A prend la valeur 2. Interaction avec l utilisateur Entrée des données : Au moment de l exécution de l algorithme, celui-ci s arrête à cette instruction et attend l entrée d une valeur par l utilisateur pour qu elle soit affectée à une variable. Par exemple, pour saisir une valeur et l affecter à la variable A on écrira l instruction : Saisir A. Sortie des données : On distingue l affichage de la valeur d une variable par l instruction Afficher A de l affichage d un message (noté entre guillemets) comme Afficher«Valeur de A :». Page 1/5

Cinq variables a,b,n,p et i sont déclarées. Dans Algobox, les lignes commençant par // sont des commentaires, ce ne sont pas des instructions de l algorithme. Les rôles de a,b,n,p sont commentés ci-dessous et la variable i servira de compteur de boucle. 3. Pour réaliser n itérations (ou évolutions) de l urne de Polya, il faut répéter n fois la même simulation : on tire une boule dans l urne, si elle est blanche on la remet avec une boule blanche, sinon, on la remet avec une boule rouge. Définition 3 On a donc besoin d imbriquer deux structures de contrôle dans notre algorithme : une boucle Pour qui répète n fois le même bloc d instructions, le décompte étant assuré par l incrémentation de la variable compteur i de sa valeur initiale 1 jusqu à sa valeur finale n. ce bloc répété étant constitué d une structure conditionnelle : Si boule tirée blanche Alors rajouter 2 boule blanches Sinon rajouter 2 boules rouges Page 2/5

4. Réaliser plusieurs simulations de la composition de l urne au bout de n = 50 itérations en fixant une composition initiale de l urne (a ; b) = (1; 1). On pourra faire d autres tests avec des compositions initiales différentes telles que (a ; b) = (2; 1). Peut-on faire les mêmes observations que pour les simulations avec le tableur? 2 Présentation du langage Python et simulation de l urne de Polya Python est un langage de programmation utilisé dans le monde professionnel et dans le monde éducatif : Site officiel : http://www.python.org/ 2.1 Opérations,affectations, entrées, sorties Ouvrir le logiciel Idle Python3 (outil de développement de programme en langage Python version 3). On se trouve devant une fenêtre avec un prompt >>> qui attend la saisie d une commande. La console Python ne sert pas à écrire des programmes mais à tester des commandes ou à faire des calculs. On saisit une instruction après le prompt >>> et on la termine par un retour à la ligne (appui sur «Entrée») puis l interpréteur Python l exécute. Tout ce qui se situe à droite d un symbole «dièse» # jusqu au changement de ligne, est ignoré par l interpréteur. On peut ainsi insérer des commentaires. En Python, on ne déclare pas le type des variables. Le type d une variable est celui de la valeur qui lui est affecté. L affectation de l entier 2 à la variable a se note a = 2. Tester dans la console la série d instructions suivantes : Quelques calculs 1 >>> 3*5+7-(10+3) 2 >>> 2**3 # pour l'exponentiation ( et non pas 2^3) 3 >>> 2,5/3 4 >>> 2.5/3 5 >>> 5/2 6 >>> 5//2 7 >>> 5%2 Affectations de variables, opérations sur les variables, type d une variable : 1 >>> a = 5 #affectation de variable 2 >>> a = a+1 3 >>> print(a) #affichage, instruction de sortie 4 >>> print(type(a)) 5 >>> print("hello World") #les chaines de caractères entre guillemets 6 >>> b = input('entrez un entier') 7 >>> print(b,type(b)) 8 >>> print(a+b) 9 >>> b = int(b) #on transforme b en entier 10 >>> print(a+b) 11 >>> c,d = "Hello ","World" 12 >>> print(c+d) 13 >>> e = 3.5 14 >>> print(type(e)) Si une variable contient : un nombre entier, elle est de type int un nombre à virgule (en fait le séparateur décimal est le point), elle est de type float une chaîne de caractères, elle est de type str Page 3/5

2.2 Edition d un programme, instructions conditionnelles Pour écrire le code source d un programme, ouvrir l éditeur de texte en cliquant sur File/New Window. 1. Saisir le programme suivant puis le tester en cliquant sur Run/Module : 1 # \n symbolise un retour à la ligne 2 prix= float(input("entrez le prix initial : \n")) 3 taux = float(input("entrez le taux de variation : \n")) 4 prix = prix*(1+taux/100) 5 print("le prix après augmentation est de : ",prix,"euros") 2. Ecrire de même un programme qui demande le prix final et le taux de variation t et qui calcule le prix initial avant la variation de t %. 3. Ecrire un programme qui demande à l utilisateur sa date de naissance et qui calcule son âge. 4. Le programme suivant demande à l utilisateur de saisir un entier n puis affiche en sortie n si n est positif ou nul ou n si n est négatif. L instruction if commande un bloc d instructions conditionnelles : si le test après le if est vrai, le bloc qui le suit est exécuté sinon c est le bloc suivant le else. En python, un bloc d instructions, qui est un déroutement du flot d instructions principal, est délimité par son indentation supérieure. 1 n = int(input("entrez un entier : \n")) 2 if n>=0: 3 print("résultat :",n) 4 else: 5 print("résultat :",-n) a. Ecrire un programme qui demande à l utilisateur de saisir deux entiers a et b et qui affiche leur écart absolu. Par exemple l écart absolu de a = 3 et b = 2 est 1, celui de a = 5 et b = 7 est 12. b. Ecrire un programme qui demande à l utilisateur de saisir trois entiers a,b et c et qui retourne le plus grand de ces trois entiers. 5. Beaucoup de fonctions sont préprogrammées en Python mais sont stockées dans des modules qu il faut importer avec la commande import. Nous utiliserons les modules math et random. 1 from math import* 2 from random import* 3 4 print("racine carré de 2 : ",sqrt(2)) 5 print("nombre aléatoire entre 0 et 1 :",random()) 6 print("entier aléatoire entre 1 et 6 :",randint(1,6)) Ecrire un programme qui calcule la somme de deux dés à 6 faces après leur lancer. Page 4/5

2.3 Boucle Programmation en Python d une boucle Pour : Pour i allant de 1 à n faire Bloc d instructions FinPour for i in range(1,n+1): Bloc d instructions On peut aussi écrire for i in range(n), dans ce cas l indice i varie de 0 à n exclu par incrémentations de 1. Exemple du calcul de la somme des n premiers entiers consécutifs 1 + 2 + 3 + + n : 1 n = int(input("entrez un entier : \n")) 2 s = 0 3 for i in range(1,n+1): 4 s = s+i 5 print("somme =",s) 1. Ecrire un programme qui demande à l utilisateur de saisir son nombre n de notes puis qui demande les n notes et calcule la moyenne. 2. Ecrire un programme qui demande à l utilisateur de saisir un entier n et qui affiche les résultats obtenus pour la simulation de n lancers d un dé à six faces. Modifier le programme pour qu il compte les 6 apparus. 2.4 Simulation de l urne de Pólya avec Python Traduire en Python l algorithme étudié en section 1 qui simule l évolution d une urne de Polya au bout de n itérations. 1 from random import* 2 3 a = int(input("entrez le nombre de boules blanches : \n")) 4... 5... 6... 7 for i in range(1,n+1): 8 if random()...: 9... 10 else: 11... 12 p = a/(a+b) 13 print('itération :',i,'p =',p) Page 5/5