{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercices du livre - Chapitre 11\n",
    "\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### Exercice 1 ✓✓\n",
    "\n",
    "  Un tableau contient $n$ entiers ($2 \\leqslant n \\leqslant 100$) aléatoires tous compris entre 0 et 500. Vérifier qu'ils sont tous différents."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Exercice 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 2 ✓\n",
    "\n",
    "  Proposer une version plus simple du problème précédent en comparant les longueurs des tableaux avant et après traitement ; le traitement consiste à utiliser une structure de données contenant des éléments uniques."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Exercice 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 3 ✓\n",
    "\n",
    "  Comparer le temps de calcul de l'élévation au carré d'une liste de 1000 entiers et d'un `ndarray` construit sur cette même liste."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Exercice 3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 4 ✓✓\n",
    "\n",
    "On donne une fonction `noncarres(n)` qui retourne la liste des nombres entiers de 1 à n\n",
    "qui ne sont pas des carrés de nombres entiers, en utilisant une boucle while . Celle-ci comporte\n",
    "plusieurs erreurs... Identifiez les problèmes et corrigez-les.\n",
    "\n",
    "```python\n",
    "import math\n",
    "def noncarres(n):\n",
    "    lst = []\n",
    "    i = 1\n",
    "    while i <= n :\n",
    "        reste = math.sqrt(i) - int(math.sqrt(i))\n",
    "        if reste == 0:\n",
    "            lst.append(i)\n",
    "            i = i + 1\n",
    "     print(lst)\n",
    "```    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 4"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 5 ✓✓\n",
    "\n",
    "L'utilisation de base de `matplotlib` est le tracé de graphe de fonction définie avec `numpy`.\n",
    "\n",
    "  Tracer sur une même figure le graphe de la fonction $y$ et de ses dérivées première et seconde dans l'intervalle $[-6, 8]$.\n",
    "  $y = 2 \\times x^3 - 5 \\times x$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 6 ✓✓\n",
    "\n",
    "Reprendre l’exercice n°5 du chapitre 5 sur le calcul de la droite des moindres carrés en réécrivant le programme principal de la façon suivante :\n",
    "\n",
    "- construire un nuage de 100 point, toujours du type `Point` mais suivant le modèle indiqué, i variant dans l’intervalle $[1..100]$ :\n",
    "```python\n",
    "p = Point(100*random() + i, 15*random() + i)\n",
    "```\n",
    "- calculez le coefficient directeur $m$ et le coefficient constant $b$ comme précédemment ;\n",
    "- faire la représentation graphique du nuage de points et de la droite des moindres carrés. La figure suivante donne un exemple de tracé.\n",
    "\n",
    "![nuage](../data/nuage.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 6"
   ]
  }
 ],
 "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.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
