{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Les exercices du diaporama\n", "## DNB, Amérique du Nord 2018\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# import de la bibliothèque gérant la tortue\n", "from turtle import * \n", "# un appui sur la touche tabulation après l'espace\n", "# suivant le import, affiche les fonctions disponibles !\n", "# de façon générale, un appui sur la touche complète les mots\n", "\n", "def carre():\n", " pendown()\n", " for _ in range(4): # quand le nom du compteur de boucle\n", " forward(cote) # est \"muet\" on écrit souvent _\n", " left(90)\n", " penup()\n", "\n", "clearscreen()\n", "setposition(...)\n", "pensize(...)\n", "cote = ...\n", "for ...\n", " carre()\n", " ...\n", " ...\n", "exitonclick()\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## La puce\n", "**Première version** : on modélise le clavier par un axe d'origine \n", "la touche FA, chaque touche étant répérée par son abscisse (un\n", "entier relatif)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# import de la bibliothèque gérant les nombres aléatoires\n", "from random import uniform\n", "\n", "position = 0\n", "for _ in range(10):\n", " if uniform(0,1) < 0.5:\n", " position = position - 1 # en abrégé : position -= 1\n", " else:\n", " ...\n", "print(position)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Deuxième version** :\n", "Réécrire le programme précédent sous forme de fonction et l'appeler 1000 fois dans une boucle, puis faire afficher la probabilité demandée." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# inutile d'importer de nouveau la bibliothèque random\n", "# c'est fait précédemment pour l'ensemble de la feuille.\n", "def dix_sauts():\n", " ...\n", " return position\n", "\n", "proba = 0\n", "for _ in range(...):\n", " if dix_sauts() == ...\n", " ...\n", "print(\"la proba d'être sur le FA initial est \", proba/...)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Les vecteurs colinéaires\n", "**Première version**" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# on fait simple, mais on profite quand même de \n", "# l'affectation en parallèle !\n", "xa, ya = 1, 1\n", "xb, yb = 2, 2\n", "xc, yc = 3, 3\n", "x_ab, y_ab = ...\n", "x_ac, y_ac = ...\n", "det = ...\n", "if ...\n", " print(\"les points sont alignés\")\n", "else:\n", " ..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Deuxième version** \n", "Ce programme fonctionne, pour changer les coordonnées des points, il suffit de changer les valeurs `xa`, `ya`, `xb`, `yb`, `xc` et `yc` dans le corps du programme. \n", "Mais on préfèrera écrire des fonctions... Recopier le code du diaporama et le tester." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.5" } }, "nbformat": 4, "nbformat_minor": 2 }