{"id":4656,"date":"2012-06-21T17:02:03","date_gmt":"2012-06-21T21:02:03","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=4656"},"modified":"2013-08-07T19:44:15","modified_gmt":"2013-08-07T23:44:15","slug":"7b-fr","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/7b-fr\/","title":{"rendered":"7B: Maths"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<br \/>\nMain French translator: Brice Canvel, brice.canvel@gmail.com<br \/>\nOriginal lesson author: Graeme Kemkes, gdkemkes@alumni.uwaterloo.ca<br \/>\nLicense: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/<br \/>\nFor the full site, visit http:\/\/cscircles.ca-->\n<p><em>La le\u00e7on 7 est compos\u00e9e de trois parties, A, B, C qui peuvent \u00eatre compl\u00e9t\u00e9es dans n'importe quel ordre.<\/em><\/p>\n<p>Jusqu'\u00e0 pr\u00e9sent, nous avons fait des calculs math\u00e9matiques en utilisant les op\u00e9rateurs Python \u00a0<code>+<\/code>, \u00a0<code>-<\/code>, <code>*<\/code>,\u00a0<code>\/<\/code> et les fonctions\u00a0<code>max<\/code> et\u00a0<code>min<\/code>. Dans cette le\u00e7on, nous allons voir d'autres op\u00e9rateurs et fonction et apprendre comment faire des calculs plus complexes.<\/p>\n<h2>Op\u00e9rateurs Math\u00e9matiques<\/h2>\n<p>Nous avons d\u00e9j\u00e0 vu les op\u00e9rateurs pour l'addition (<code>a + b<\/code>), la soustraction (<code>a - b<\/code>), la multiplication (<code>a * b<\/code>) et la division (<code>a \/ b<\/code>). Nous allons maintenant voir trois op\u00e9rateurs suppl\u00e9mentaires:<\/p>\n<ul>\n<li>L'op\u00e9rateur <strong>exponentiel<\/strong>\u00a0<code>a ** b<\/code> calcule\u00a0<code>a<sup>b<\/sup><\/code> (<code>a<\/code>\u00a0multipli\u00e9 par lui-m\u00eame\u00a0<code>b<\/code> fois). Par exemple,\u00a0<code>2 ** 3<\/code> donne\u00a0<code>8<\/code>\u00a0(2\u00d72\u00d72).<\/li>\n<li>L'op\u00e9rateur <strong>division enti\u00e8re<\/strong>\u00a0<code>a \/\/ b<\/code>\u00a0calcule le \"quotient\" de\u00a0<code>a<\/code> divis\u00e9 par\u00a0<code>b<\/code>\u00a0et ignore le reste. Par exemple, <code>14 \/\/ 3<\/code>\u00a0donne\u00a0<code>4<\/code>.<\/li>\n<li>L'op\u00e9rateur <strong>modulo<\/strong> (ou reste)\u00a0<code>a % b<\/code>\u00a0calcule le reste de la division de\u00a0<code>a<\/code> par\u00a0<code>b<\/code>. Par exemple, <code>14 % 3<\/code> donne\u00a0<code>2<\/code>.<\/li>\n<\/ul>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox0'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Les exposants exponentiel, division enti\u00e8re et modulo<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 84px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=3 readonly='readonly'  style = 'height : 84px;'  class='pyboxCode RO'>\nprint(2 ** 3)\nprint(14 \/\/ 3)\nprint(14 % 3)<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(0)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(0,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse0\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"0\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"a3511b91883033660b56dabaf0837468\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit0\").value = \"Run program\";document.getElementById(\"inputInUse0\").value = \"N\";<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox1'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Eggsactement<\/span><\/div>Les cartons d'oeufs contiennent exactement 12 oeufs. Ecrivez un programme qui lit un nombre d'oeufs en entr\u00e9e avec\u00a0<code>input()<\/code>\u00a0et affiche deux nombres: combien de cartons peuvent \u00eatre remplis avec ces oeufs et combien d'oeufs resteront. Par exemple, avec 27 oeufs, le r\u00e9sultat sera<\/p>\n<pre>2\r\n3<\/pre>puisque\u00a0<code>27<\/code>\u00a0oeufs remplissent 2 cartons et qu'il reste 3 oeuf. <a class=\"hintlink\"  id=\"hintlink2\">Indice<\/a><\/p>\n<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode1' id='usercode1'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput1\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch1\" value=\"Input Switch\" onclick=\"pbInputSwitch(1,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(1)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(1,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect1' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(1,'7b.eggs')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(1);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse1\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"1\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"23624bd889b6d7c09a5056b38f8ddd48\"\/>\n<div id='pbresults1' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(1);});pbInputSwitch(1,\"N\");<\/script>\n<\/p>\n<p>L'op\u00e9rateur modulo peut \u00eatre utilis\u00e9 pour de nombreuses t\u00e2ches. On peut l'utiliser pour r\u00e9pondre \u00e0 des questions comme:<\/p>\n<ul>\n<li>S'il est 10h maintenant, quelle heure sera-t-il dans 100 heures? (n\u00e9cessite l'op\u00e9ration modulo 12)<\/li>\n<li>Est-ce que 2032 sera une ann\u00e9e bissextile? (<a href=\"http:\/\/fr.wikipedia.org\/wiki\/Ann\u00e9e_bissextile\">n\u00e9cessite les op\u00e9rations modulo 4, 100 et 400<\/a>)<\/li>\n<\/ul>\n<p>V\u00e9rifier les ann\u00e9es bissextile est un exemple de test de divisibilit\u00e9; dans le prochain exercice, nous vous demandons d'\u00e9crire un programme qui impl\u00e9mente un test de divisibilit\u00e9 en g\u00e9n\u00e9ral.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox3'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Divisibilit\u00e9<\/span><\/div>Ecrivez un programme qui lit deux nombres positif\u00a0<code>a<\/code>\u00a0et\u00a0<code>b<\/code> sur deux lignes s\u00e9par\u00e9es. Si\u00a0<code>a<\/code>\u00a0est divisible par\u00a0<code>b<\/code>, \u00e9crivez le message \"divisible\". Sinon, \u00e9crivez le message \"non divisible\". Par exemple, si les entr\u00e9es sont<\/p>\n<pre>14\r\n3<\/pre>le programme \u00e9crira \"non divisible\". <a class=\"hintlink\"  id=\"hintlink4\">Indice<\/a><div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode3' id='usercode3'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput3\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch3\" value=\"Input Switch\" onclick=\"pbInputSwitch(3,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(3)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(3,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect3' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(3,'7b.divisible')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(3);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse3\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"3\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"4e050e1a7bbf6dd41f940889575a3a30\"\/>\n<div id='pbresults3' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(3);});pbInputSwitch(3,\"N\");<\/script>\n<\/p>\n<h2>Fonctions Math\u00e9matiques<\/h2>\n<p>Python peut calculer la plupart des fonctions math\u00e9matiques que l'on trouve sur une calculatrice scientifique:<\/p>\n<ul>\n<li><code>sqrt(x)<\/code> calcule la recine carr\u00e9e de\u00a0<code>x<\/code>.<\/li>\n<li><code>exp(x)<\/code> et\u00a0<code>log(x)<\/code> sont les fonctions exponentielles et logarithme naturel.<\/li>\n<li><code>sin(x)<\/code>, <code>cos(x)<\/code>, <code>tan(x)<\/code> et les autres fonctions trigonom\u00e9triques sont disponibles.<\/li>\n<li><code>pi<\/code>, la constante math\u00e9matique\u00a0<code>3.1415...<\/code>, \u00a0est \u00e9galement inclue.<\/li>\n<\/ul>\n<p><table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span> Quand Python utilise les fonctions trigonom\u00e9triques, l'angle\u00a0<code>x<\/code>\u00a0doit \u00eatre exprim\u00e9 en radians, pas en degr\u00e9s. <\/span><\/td><\/table><\/p>\n<p>Python propose un grand nombre de fonctions qui sont organis\u00e9es en groupes appel\u00e9s <em>modules<\/em>. Les fonctions ci-dessus appartienne au module <code>math<\/code>. Avant de pouvoir utiliser un module, il faut <em>l'importer<\/em> comme indiqu\u00e9 dans l'exemple ci-dessous.\u00a0Pour utiliser une fonction d'un module, vous devez taper le nom du module, suivi d'un point puis le nom de la fonction.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox5'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Utiliser les fonctions du module math<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode5' id='usercode5'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nimport math\nprint(math.pi)\ne = math.exp(1)\nprint(e)\nprint(math.sqrt(3), math.tan(math.pi \/ 3))<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(5)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(5,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse5\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"5\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"f6885f61429ba7ceee96a03033a06e45\"\/>\n<div id='pbresults5' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit5\").value = \"Run program\";document.getElementById(\"inputInUse5\").value = \"N\";<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform6\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox6'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Pizzas Rondes<\/span><\/div>Vos amis ont mang\u00e9 leurs pizzas carr\u00e9s et commande maintenant des pizzas rondes. Ecrivez un programme qui calcule la surface de cette pizza ronde. L'entr\u00e9e est un\u00a0<code>float<\/code> <em>r<\/em>, qui repr\u00e9sente le rayon en cm. La sortie doit \u00eatre la surface en cm<sup>2<\/sup>, calcul\u00e9e en utilisant la formule \u00a0<em>A=pi*r<sup>2<\/sup><\/em>. Utilisez la constante Python\u00a0<code>pi<\/code> au lieu de taper\u00a0<code>3.1415...<\/code><div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode6' id='usercode6'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory6' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput6\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit6' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch6\" value=\"Input Switch\" onclick=\"pbInputSwitch(6,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(6)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(6,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect6' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(6,'7b.pizza')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(6);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse6\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"6\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"24822b1bab43ca1730bfbeaa7f4af9af\"\/>\n<div id='pbresults6' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(6);});pbInputSwitch(6,\"N\");<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform7\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox7'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Moyenne G\u00e9om\u00e9trique<\/span><\/div>La <em>moyenne g\u00e9om\u00e9trique<\/em> de deux nombres <code>a<\/code>\u00a0et\u00a0<code>b<\/code> est le nombre<\/p>\n<p style=\"text-align: center;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Csqrt%7Bab%7D&#038;bg=T&#038;fg=000000&#038;s=2' alt='\\sqrt{ab}' title='\\sqrt{ab}' class='latex' \/><\/p>\n<p>(C'est utilis\u00e9 pour comparer les proportions d'\u00e9crans et pour d\u00e9crire le taux de croissance moyen d'une population.) Ecrivez un programme qui lit deux\u00a0<code>float<\/code>\u00a0positif de l'entr\u00e9e et affiche leur moyenne g\u00e9om\u00e9trique. <br\/> <em>Exemple<\/em>: Si l'entr\u00e9e est<\/p>\n<pre>5.0\r\n20.0<\/pre>la sortie doit \u00eatre\u00a0<code>10.0<\/code>.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode7' id='usercode7'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory7' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput7\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit7' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch7\" value=\"Input Switch\" onclick=\"pbInputSwitch(7,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(7)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(7,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect7' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(7,'7b.geometricmean')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(7);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse7\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"7\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"1c52b4f7ae7bf1832dc2cbed548b5791\"\/>\n<div id='pbresults7' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(7);});pbInputSwitch(7,\"N\");<\/script>\n<\/p>\n<h2>Mettre tout ensemble<\/h2>\n<p>Comme vous l'avez vu dans l'exercice pr\u00e9c\u00e9dent, vous pouvez construire des expressions math\u00e9matiques en combinant des op\u00e9rateurs. Python \u00e9value les op\u00e9rateurs en utilisant la \"priorit\u00e9 des op\u00e9rations\" que vous avez vu en cours de maths:<\/p>\n<p style=\"padding-left: 30px;\"><strong>P<\/strong>arenth\u00e8ses d'abord, ensuite <strong>E<\/strong>xposants, puis <strong>D<\/strong>ivision et <strong>M<\/strong>ultiplication, et enfin <strong>A<\/strong>ddition et <strong>S<\/strong>oustractions,<\/p>\n<p>dont on peut se souvenir avec l'acronyme \"PEDMAS\". La division enti\u00e8re et le modulo appartiennent \u00e0 la cat\u00e9gorie \"Division et Multiplication\". Par exemple, l'expression<\/p>\n<pre>3 * (1 + 2) ** 2 % 4<\/pre>est \u00e9valu\u00e9e en calculant l'addition entre paranth\u00e8ses (1+2 = 3), puis l'exposant (3 ** 2 = 9) , puis la multiplication (3 * 9 = 27), et enfin le modulo, qui donne le r\u00e9sultat final de 27 % 4 =\u00a0<code>3<\/code>.<\/p>\n<p><div class='pybox modeNeutral' id='pybox8'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Short Answer Exercise: <\/span><span class='title'>Ordre des Op\u00e9rations<\/span><\/div>Calculer la valeur de l'expression Python<\/p>\n<pre>6 - 52 \/\/ 5 ** 2<\/pre><label for=\"pyShortAnswer8\">Your answer (enter a number): <\/label><input type=\"text\" onkeypress=\"{if (event.keyCode==13) pbShortCheck(8)}\" id=\"pyShortAnswer8\"><div class=\"pyboxbuttons\"><input type=\"hidden\" name=\"type\" value=\"number\"\/><input type=\"hidden\" name=\"correct\" value=\"4\"\/><input type=\"hidden\" name=\"slug\" value=\"7b.bedmas\"\/><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick = 'pbShortCheck(8)'\/><\/div><div class=\"pbresults\" id=\"pyShortResults8\"><\/div><div class=\"epilogue\">Correct!<\/div><\/div>\n<p><em>Division enti\u00e8re de nombres n\u00e9gatifs<\/em>: Les expressions\u00a0<code>a \/\/ b<\/code> et\u00a0<code>int(a \/ b)<\/code>\u00a0sont les m\u00eames quand\u00a0<code>a<\/code>\u00a0et\u00a0<code>b<\/code> sont positifs. Par contre, quand\u00a0<code>a<\/code>\u00a0est negatif, <code>a \/\/ b<\/code> utilise \"l'arrondi au plus grand entier inf\u00e9rieur\" et\u00a0<code>int(a \/ b)<\/code> utilise \"l'abaissement \u00e0 z\u00e0ro ou troncature.\"<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform9\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox9'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div> Division enti\u00e8re avec un nombre n\u00e9gatif <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode9' id='usercode9'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nprint((-10) \/\/ 3, int((-10) \/ 3)) # diff\u00e9rent\nprint((-12) \/\/ 2, int((-12) \/ 2)) # pareil, seulement car 2 divise -12 sans reste<\/textarea><\/div>\n<div id='pbhistory9' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit9' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(9)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(9,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse9\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"9\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"915fb6106bf43ae917356a89efeedaf3\"\/>\n<div id='pbresults9' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit9\").value = \"Run program\";document.getElementById(\"inputInUse9\").value = \"N\";<\/script>\n<\/p>\n<h2>Entiers et Nombres \u00e0 Virgule<\/h2>\n<p>Le r\u00e9sultat d'une expression math\u00e9matique est un nombre. Comme nous l'avons vu\u00a0<a title=\"4: Types\" href=\"\/4-fr\/\">auparavant<\/a>, chaque nombre est stock\u00e9 avec comme deux types possibles: \u00a0<code>int<\/code> ou\u00a0<code>float<\/code>. Le type\u00a0<code>int<\/code>\u00a0repr\u00e9sente les entiers, positifs et negatifs, qui peuvent \u00eatre aussi grands que vous le souhaitez.<\/p>\n<p><table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span> Python n'accepte pas les nombres \u00e9crits sous la forme\u00a0<code>1 000 000<\/code> ou\u00a0<code>1,000,000<\/code>. Tapez\u00a0<code>1000000<\/code> \u00e0 la place. <\/span><\/td><\/table><\/p>\n<p>Le type\u00a0<code>float<\/code>\u00a0repr\u00e9sente les nombres d\u00e9cimaux. De la m\u00eame mani\u00e8re qu'une calculatrice stocke <code>1\/3<\/code> sous la forme de sa valeur approch\u00e9e\u00a0<code>0.33333333<\/code>, Python stocke \u00e9galement les nombres d\u00e9cimaux sous la forme de leur valeur approch\u00e9e. <table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span> Comme Python utilise des valeurs approch\u00e9es, certaines \u00e9quations qui sont math\u00e9matiquement vraies ne le seront peut \u00eatre pas en Python.  <form class=\"pbform\" action=\"#\" id=\"pbform10\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox10'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div><div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode10' id='usercode10'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\nimport math\ns = math.sqrt(2) * math.sqrt(2)\nprint(s == 2)\nprint(s)<\/textarea><\/div>\n<div id='pbhistory10' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit10' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(10)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(10,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse10\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"10\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"b416006b57a6ea47b55211769d6b5292\"\/>\n<div id='pbresults10' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit10\").value = \"Run program\";document.getElementById(\"inputInUse10\").value = \"N\";<\/script>\n  <form class=\"pbform\" action=\"#\" id=\"pbform11\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox11'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div><div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 84px;'><textarea wrap='off' name='usercode11' id='usercode11'  cols=10 rows=3 readonly='readonly'  style = 'height : 84px;'  class='pyboxCode RO'>\ns = 0.1 + 0.1 + 0.1\nprint('s \u00e9gal \u00e0 0.3?', s == 0.3)\nprint('s =', s)<\/textarea><\/div>\n<div id='pbhistory11' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit11' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(11)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(11,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse11\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"11\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"b8efe1414b6e1644a11f069240cd5a62\"\/>\n<div id='pbresults11' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit11\").value = \"Run program\";document.getElementById(\"inputInUse11\").value = \"N\";<\/script>\n  Il est donc important pour cette raison de garder une certaine tol\u00e9rance pour ces approximations lorsque l'on compare des valeurs de type\u00a0<code>float<\/code>. Par exemple, pour le \"grader\" interne utilis\u00e9 pour ce site web, chaque sortie de type\u00a0<code>float<\/code>\u00a0est consid\u00e9r\u00e9e comme correcte si elle est <a class=\"hintlink\"  id=\"hintlink12\"><em>approximativement<\/em><\/a> \u00e9gale \u00e0 la r\u00e9ponse attendue. <\/span><\/td><\/table><\/p>\n<p>Nous terminons avec quelques exercices.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform13\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox13'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Question Test de Comp\u00e9tence<\/span><\/div>Comme \"question de test de comp\u00e9tence\", on vous donne 3 entiers et on vous demande d'additionner les deux premiers nombres et de multiplier le r\u00e9sultat par le troisi\u00e8me. Ecrivez un programme qui lit les trois nombres et affiche le r\u00e9sultat correct. <a class=\"hintlink\"  id=\"hintlink14\">Indice<\/a><div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode13' id='usercode13'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory13' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput13\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit13' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch13\" value=\"Input Switch\" onclick=\"pbInputSwitch(13,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(13)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(13,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect13' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(13,'7b.skill')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(13);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse13\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"13\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"70b27419cb0338b4be9ef771ec2e61c9\"\/>\n<div id='pbresults13' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(13);});pbInputSwitch(13,\"N\");<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform15\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox15'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Un Exploit avec les Pieds<\/span><\/div>Pour ce programme, l'entr\u00e9e est un nombre \u00e0 virgule qui repr\u00e9sente la taille mesur\u00e9e en pieds. Ecrivez un programme qui va afficher la taille \u00e9quivalente en centim\u00e8tres en utilisant la formule de convertion 1 pied = 30.48 cm. Par exemple, si l'entr\u00e9e est\u00a0<code>0.5<\/code>, le r\u00e9sultat sera\u00a0<code>15.24<\/code>.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode15' id='usercode15'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory15' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput15\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit15' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch15\" value=\"Input Switch\" onclick=\"pbInputSwitch(15,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(15)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(15,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect15' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(15,'7b.convert')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(15);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse15\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"15\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"6f0bdd3884515715c8ac1795b84f0ede\"\/>\n<div id='pbresults15' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(15);});pbInputSwitch(15,\"N\");<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform16\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox16'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Gravit\u00e9<\/span><\/div>Un paquet est lanc\u00e9 vers le bas \u00e0 la vitesse de\u00a0<em>v<\/em> m\/s depuis un avion \u00e0 l'altitude de 11000 m. La distance de l'objet par rapport au sol est donn\u00e9e par la formule -4.9<em>t<\/em><sup>2<\/sup> - <em>vt<\/em> + 11000, o\u00f9\u00a0<em>t<\/em> est le temps en secondes depuis que l'objet a \u00e9t\u00e9 lanc\u00e9. Ecrivez un programme qui calcule combien de temps il faudra \u00e0 l'objet pour atteindre le sol. L'entr\u00e9e de votre programme sera le nombre \u00e0 virgule\u00a0<em>v<\/em>. Vous aurez besoin de la formule de r\u00e9solution d'un polyn\u00f4me du second degr\u00e9<\/p>\n<p style=\"text-align: center;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle%7Bt%3D%5Cfrac%7Bv-%5Csqrt%7Bv%5E2-4%28-4.9%29%2811000%29%7D%7D%7B2%28-4.9%29%7D%7D&#038;bg=T&#038;fg=000000&#038;s=2' alt='\\displaystyle{t=\\frac{v-\\sqrt{v^2-4(-4.9)(11000)}}{2(-4.9)}}' title='\\displaystyle{t=\\frac{v-\\sqrt{v^2-4(-4.9)(11000)}}{2(-4.9)}}' class='latex' \/><\/p>\n<p><div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode16' id='usercode16'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory16' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput16\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit16' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch16\" value=\"Input Switch\" onclick=\"pbInputSwitch(16,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(16)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(16,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect16' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(16,'7b.gravity')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(16);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse16\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"16\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"581936320fa56266164f035fcc428ee8\"\/>\n<div id='pbresults16' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(16);});pbInputSwitch(16,\"N\");<\/script>\n<\/p>\n<p>F\u00e9licitations! Apr\u00e8s avoir compl\u00e9t\u00e9s ces exercices, vous \u00eates pr\u00eat pour la prochaine le\u00e7on.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La le\u00e7on 7 est compos\u00e9e de trois parties, A, B, C qui peuvent \u00eatre compl\u00e9t\u00e9es dans n'importe quel ordre. Jusqu'\u00e0 pr\u00e9sent, nous avons fait des calculs math\u00e9matiques en utilisant les op\u00e9rateurs Python \u00a0+, \u00a0-, *,\u00a0\/ et les fonctions\u00a0max et\u00a0min. Dans &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/7b-fr\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4656","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=4656"}],"version-history":[{"count":18,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4656\/revisions"}],"predecessor-version":[{"id":7438,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4656\/revisions\/7438"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=4656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}