{"id":4593,"date":"2012-06-17T23:23:39","date_gmt":"2012-06-18T03:23:39","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=4593"},"modified":"2015-04-09T09:57:40","modified_gmt":"2015-04-09T13:57:40","slug":"1-fr","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/1-fr\/","title":{"rendered":"1: Variables"},"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: David Pritchard, daveagp@gmail.com<\/p>\n<p>Additional corrections: Andr\u00e9 Roberge, andre.roberge@gmail.com<\/p>\n<p>License: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/<br \/>\nFor the full site, visit http:\/\/cscircles.ca-->\n<p>Les variables ont un r\u00f4le de \"lieu de stockage\" pour les donn\u00e9es dans un programme. Elles sont un moyen de nommer les informations pour une utilisation post\u00e9rieure.<\/p>\n<p>Chaque variable a un <em>nom<\/em>\u2009; un exemple de nom de variable que nous utiliserons est <code>monNombreChanceux<\/code>. Pour stocker de l'information dans une variable, nous \u00e9crivons une commande en utilisant le <em>signe \u00e9gal<\/em>\u00a0(<code>=<\/code>) dans la mani\u00e8re suivante\u00a0:<\/p>\n<pre>\u00ab le nom de la variable \u00bb\u00a0= \u00ab la valeur que nous voulons stocker \u00bb<\/pre>(Nous utilisons les \u00ab\u00a0guillemets doubles\u00a0\u00bb\u00a0dans nos le\u00e7ons pour indiquer des parties particuli\u00e8re dans nos expressions.)<\/p>\n<p>Par exemple, la ligne Python<\/p>\n<pre>monNombreChanceux = 13<\/pre>stocke la valeur <code>13<\/code> dans la variable <code>monNombreChanceux<\/code>. Ensuite, partout o\u00f9 vous \u00e9crirez le nom de variable <code>monNombreChanceux<\/code> \u00e0 nouveau, Python replacera cette variable par\u00a0la valeur stock\u00e9e.<\/p>\n<p>Vous trouverez ci-dessous un court exemple d'utilisation des variables. Cet exemple poss\u00e8de plus d'une ligne d'instructions\u00a0: Python ex\u00e9cute la premi\u00e8re ligne, puis la deuxi\u00e8me, et ainsi de suite jusqu'\u00e0 ce qu'il atteigne la derni\u00e8re ligne. Appuyez sur\u00a0<strong>Ex\u00e9cuter le programme<\/strong> pour voir ce qu'il fait.<\/p>\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>Exemple d'utilisation d'un variable.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nmonNombreChanceux = 13\nprint(monNombreChanceux + 1)\nprint(monNombreChanceux)\nmonNombreChanceux = 5 + 2\nprint(monNombreChanceux)<\/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<\/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=\"517d05bd53e9762cdc577b31b134f7b3\"\/>\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>Regardez les 5 lignes du programme dans l'ordre et comment elles correspondent \u00e0 la sortie. Comme vous pouvez le voir, <code>monNombreChanceux<\/code> conserve la valeur 13 pour les deux premi\u00e8res instructions, puis sa valeur est chang\u00e9e \u00e0 7.<\/p>\n<p>Nous avons aussi introduit l'op\u00e9rateur <em>plus<\/em> (<code>+<\/code>) ci-dessus, op\u00e9rateur qui additionne deux nombres. De la m\u00eame mani\u00e8re, il y a des op\u00e9rateurs pour la soustraction (<code>-<\/code>), la multiplication (<code>*<\/code>) et la division (<code>\/<\/code>). Nous y reviendrons dans une prochaine le\u00e7on.<\/p>\n<p>Vous pouvez simuler la m\u00e9moire de stockage d'un ordinateur avec du papier et un crayon, en suivant \u00e0 la trace la valeur des variables dans une table. Voici un exemple\u2009; souvenez-vous que <code>*<\/code> signifie la multiplication en Python.<\/p>\n<div class=\"pybox\">\n<p><strong>But<\/strong>\u00a0: d\u00e9terminez les valeurs finales de toutes les variables \u00e0 la fin du programme.<\/p>\n<pre>premier = 2\r\ndeuxieme = 3\r\ntroisieme = premier * deuxieme\r\ndeuxieme = troisieme - premier\r\npremier = premier + deuxieme + troisieme\r\ntroisieme = deuxieme * premier<\/pre><strong>Id\u00e9e<\/strong>\u00a0: Nous utilisons une table pour garder trace des valeurs au fur et \u00e0 mesure qu'elles changent. D\u00e9filez jusqu'en bas pour voir le r\u00e9sultat final.<\/p>\n<table style=\"margin-bottom: 0px; padding-right: 20px;\">\n<colgroup>\n<col width=\"55%\" \/> <\/colgroup>\n<colgroup>\n<col width=\"15%\" \/>\n<col width=\"15%\" \/>\n<col width=\"15%\" \/> <\/colgroup>\n<tbody>\n<tr align=\"center\">\n<th>instruction<\/th>\n<th colspan=\"3\">valeur apr\u00e8s que l'instruction soit ex\u00e9cut\u00e9e<\/th>\n<\/tr>\n<tr class=\"mono\" align=\"center\">\n<th><\/th>\n<th>premier<\/th>\n<th>deuxieme<\/th>\n<th>troisieme<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"margin-top: 0px; overflow-y: scroll; max-height: 100px;\">\n<table class=\"mono\" style=\"margin-bottom: 5px;\">\n<colgroup>\n<col width=\"55%\" \/> <\/colgroup>\n<colgroup>\n<col width=\"15%\" \/>\n<col width=\"15%\" \/>\n<col width=\"15%\" \/> <\/colgroup>\n<tbody>\n<tr>\n<td>premier = 2<\/td>\n<td><strong>2<\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>deuxieme = 3<\/td>\n<td>2<\/td>\n<td><strong>3<\/strong><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>troisieme = premier * deuxieme<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td><strong>6<\/strong><\/td>\n<\/tr>\n<tr>\n<td>deuxieme = troisieme - premier<\/td>\n<td>2<\/td>\n<td><span style=\"text-decoration: line-through;\">3<\/span> <strong>4<\/strong><\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>premier = premier + deuxieme + troisieme<\/td>\n<td><span style=\"text-decoration: line-through;\">2<\/span> <strong>12<\/strong><\/td>\n<td>4<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>troisieme = deuxieme * premier<\/td>\n<td>12<\/td>\n<td>4<\/td>\n<td><span style=\"text-decoration: line-through;\">6<\/span> <strong>48<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Donc, \u00e0 la fin du programme, la valeur de <code>premier<\/code> est <code>12<\/code>, celle de <code>deuxieme<\/code> est <code>4<\/code> et celle de <code>troisieme<\/code> est <code>48<\/code>.<\/p>\n<\/div>\n<\/div>\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> Essayez l'outil\u00a0<a href=\"\/visualize\">Python3 visualisation<\/a>\u00a0pour voir des programmes comme celui-ci s'ex\u00e9cuter virtuellement pas \u00e0 pas. Nous vous le recommandons comme ressource utile quand vous \u00eates confus quant \u00e0 ce que Python est en train de faire, ou quand vous \u00eates bloqu\u00e9s avec le d\u00e9bogage. Vous trouverez ce lien \u00e0 la page des\u00a0<a href=\"http:\/\/cscircles.cemc.uwaterloo.ca\/ressources\/\">Ressources<\/a>. <\/span><\/td><\/table><\/p>\n<p>Voici un court exercice \u00e0 propos des variables.<br \/>\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'>Short Answer Exercise: <\/span><span class='title'><code>x<\/code> factor<\/span><\/div><br \/>\nQuelle est la valeur de <code>x<\/code> apr\u00e8s que ces commandes aient \u00e9t\u00e9 ex\u00e9cut\u00e9es\u2009?<\/p>\n<pre>x = 10\r\nx = x + x\r\nx = x - 5<\/pre><label for=\"pyShortAnswer1\">Your answer (enter a number): <\/label><input type=\"text\" onkeypress=\"{if (event.keyCode==13) pbShortCheck(1)}\" id=\"pyShortAnswer1\"><div class=\"pyboxbuttons\"><input type=\"hidden\" name=\"type\" value=\"number\"\/><input type=\"hidden\" name=\"correct\" value=\"15\"\/><input type=\"hidden\" name=\"slug\" value=\"1.plusminus\"\/><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick = 'pbShortCheck(1)'\/><\/div><div class=\"pbresults\" id=\"pyShortResults1\"><\/div><div class=\"epilogue\">Correct!<\/div><\/div>\n<h2>Deux erreurs\u00a0fr\u00e9quentes<\/h2>\n<p>Si vous demandez \u00e0 Python d'utiliser une variable qui n'est pas d\u00e9finie, vous obtenez une erreur.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox2'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Une variable non d\u00e9finie<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode2' id='usercode2'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(trouble)<\/textarea><\/div>\n<div id='pbhistory2' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit2' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse2\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"2\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"fd7e07824deee43736698f230f3c428d\"\/>\n<div id='pbresults2' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit2\").value = \"Run program\";document.getElementById(\"inputInUse2\").value = \"N\";<\/script>\n<\/p>\n<p>Comme vous pouvez le constater, nous obtenons un message d'erreur disant \u00a0<code>NameError: name 'trouble' is not defined<\/code>. Quelquefois, de telles erreurs sont dues \u00e0 des erreurs de frappes\u00a0: si vous d\u00e9finissez une variable\u00a0<code>adresse=32<\/code>, et ensuite\u00a0<code>print(adrese)<\/code>, le m\u00eame type d'erreur est g\u00e9n\u00e9r\u00e9.<\/p>\n<p>Un autre type d'erreur est g\u00e9n\u00e9r\u00e9 si vous inversez le sens de l'instruction <code>=<\/code>.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox3'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'><code>SyntaxError: can't assign to literal<\/code><\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode3' id='usercode3'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nx = 4\n4 = x<\/textarea><\/div>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/td>\n<\/tr><\/table><\/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=\"130cb3846431645709a90d52b640f87e\"\/>\n<div id='pbresults3' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit3\").value = \"Run program\";document.getElementById(\"inputInUse3\").value = \"N\";<\/script>\n<\/p>\n<p>La premi\u00e8re ligne est bien mais la deuxi\u00e8me g\u00e9n\u00e8re une erreur\u00a0: Python pense que le deuxi\u00e8me ligne\u00a0<code>4 = x<\/code>\u00a0essaye de changer la valeur de 4 mais vous n'\u00eates autoris\u00e9 qu'\u00e0 changer la valeur d'une variable, et <code>4<\/code> n'est pas une variable.\u00a0Si <code>A = B<\/code> et\u00a0<code>B = A<\/code> repr\u00e9sentent la m\u00eame chose en math\u00e9matiques, ce n'est pas le cas en programmation.<\/p>\n<h2>Exercice<\/h2>\n<p>Ceci est un r\u00e9chauffement pour vous familiariser avec les variables.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform4\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox4'>\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'>L'anatomie Python<\/span><\/div>\n<p>Ecrivez un <em>extrait de code<\/em> (une petite partie d'un programme Python) qui compte les t\u00eates, les \u00e9paules, les genoux et les orteils \u00e0 une f\u00eate.\u00a0Le correcteur\u00a0va automatiquement d\u00e9finir une variable <code>personnes<\/code> pour vous, elle contiendra le nombre de personnes \u00e0 la f\u00eate. Votre code doit d\u00e9finir quatre variables, une appel\u00e9e <code>tetes<\/code>, une appel\u00e9e <code>epaules<\/code>, une appel\u00e9e <code>genoux<\/code>\u00a0et une appel\u00e9e <code>orteils<\/code>, \u00e9gales au nombre de t\u00eates, \u00e9paules, genoux et orteils \u00e0 la f\u00eate.\u00a0Votre programme ne doit pas g\u00e9n\u00e9rer de sortie. <a class=\"hintlink\"  id=\"hintlink5\">Cliquez ici pour un indice.<\/a><br \/>\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='usercode4' id='usercode4'  cols=10 rows=20   class='pyboxCode RW'>\n<\/textarea><\/div>\n<div id='pbhistory4' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit4' value=' '\/><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(4,'1.heads')\" ><\/td>\n<td><input type='button' name='help' value=\"Help\" onclick=\"helpClick(4);\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse4\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"4\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"075b1c635dd4d65f60fb07b419251bd1\"\/>\n<div id='pbresults4' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit4\").value = \"Run program\";document.getElementById(\"inputInUse4\").value = \"N\";<\/script>\n<\/p>\n<h2>Code m\u00eal\u00e9<\/h2>\n<p>Le prochain point de cette le\u00e7on est un nouveau type d'exercice de programmation, dans lequel vous n'aurez pas \u00e0 programmer. Nous vous fournirons le programme correct mais l'astuce est que les lignes ont \u00e9t\u00e9 m\u00e9lang\u00e9es. Vous devez d\u00e9placer les lignes de code afin de les r\u00e9arranger en un programme correct.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform6\" method=\"POST\">\n<div class='pybox modeNeutral scramble' 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'>Scramble Exercise: <\/span><span class='title'>Calculette vitesse<\/span><\/div>Vous assistez \u00e0 une course cycliste qui monte et descend une colline. Le <em>correcteur automatique<\/em>\u00a0d\u00e9finira quatre\u00a0variables pour vous\u00a0:\u00a0<code>distanceMontee<\/code> et\u00a0<code>distanceDescente<\/code> donnent la distance (en km) des deux parties de la course, et\u00a0<code>tempsMonte<\/code> et\u00a0<code>tempsDescent<\/code> donne le temps (en minutes) du temps pris pour compl\u00e9ter chaque partie de la cours. Ecrivez un programme qui indique la vitesse moyenne (en km\/min) pour toute la course.<br\/><em>Cliquez et glissez<\/em> avec la souris pour r\u00e9arranger les lignes.<em><br\/><\/em><a class=\"hintlink\"  id=\"hintlink7\">Cliquez ici pour un indice si vous \u00eates bloqu\u00e9<\/a>\u00a0<ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble6\">\n <li class=\"pyscramble\">distanceTotale = distanceMontee + distanceDescente<\/li>\n <li class=\"pyscramble\">print(vitesseMoyenne)<\/li>\n <li class=\"pyscramble\">vitesseMoyenne = distanceTotale \/ tempsTotal<\/li>\n <li class=\"pyscramble\">tempsTotal = tempsMonte + tempsDescent<\/li>\n<\/ul>\n<input type='hidden' id='usercode6' name='usercode6'\/>\n<div id='pbhistory6' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit6' value=' '\/><\/td>\n<\/tr><\/table><\/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=\"46fff7716d62683b7dd72676c3dc993a\"\/>\n<div id='pbresults6' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit6\").value = \"Run program\";document.getElementById(\"inputInUse6\").value = \"N\";<\/script>\n<\/p>\n<h2>Programme d'\u00e9change<\/h2>\n<p>Voici le dernier exercice de cette le\u00e7on.<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform8\" method=\"POST\">\n<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'>Coding Exercise: <\/span><span class='title'>Programme d'\u00e9change<\/span><\/div>Ecrivez un programme pour <strong>inverser<\/strong>\u00a0les valeurs de deux variables. Le\u00a0correcteur\u00a0va automatiquement d\u00e9finir les variables <code>x<\/code> et <code>y<\/code> pour vous, avec des valeurs num\u00e9riques.\u00a0Vous devez \u00e9crire le code qui va \u00e9changer leurs valeurs\u00a0: la valeur de <code>x<\/code> apr\u00e8s que votre code soit ex\u00e9cut\u00e9 doit \u00eatre \u00e9gale \u00e0 la valeur que <code>y<\/code> avait avant que votre code s'ex\u00e9cute, et la valeur de <code>y<\/code> apr\u00e8s que votre code s'ex\u00e9cute doit \u00eatre celle de <code>x<\/code> avant que votre code s'ex\u00e9cute.\u00a0Votre programme ne doit pas g\u00e9n\u00e9rer de sortie. <br\/><em>La solution la plus fr\u00e9quemment utilis\u00e9e avec Python est courte mais difficile \u00e0 trouver.<\/em>\u00a0<em>Cliquez sur chaque indice si vous voulez les lire.\u00a0<\/em><div class=\"accordion\"><br \/>\n<div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nIndice, partie 1\n<\/div>\n<div class='collapseBody'>Vous n'avez pas besoin d'utiliser d'arithm\u00e9tique (<code>+-*\/<\/code>) pour r\u00e9soudre ce probl\u00e8me. Vous avez seulement besoin des variables et de l'instruction <code>=<\/code>. Vous pouvez d\u00e9finir de nouvelles variables avec des noms \u00e0 choix si vous en avez besoin.<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nIndice, partie 2\n<\/div>\n<div class='collapseBody'>Nous avons deux buts\u00a0: mettre la valeur originale de <code>y<\/code> dans <code>x<\/code>, et mettre la valeur originale de <code>x<\/code> dans <code>y<\/code>. Si tout ce que nous voulions faire \u00e9tait le premier but (en d'autres termes mettre la valeur de <code>y<\/code> dans <code>x<\/code>), nous pourrions utiliser le programme d'une ligne<\/p>\n<pre>x = y<\/pre>Comment peut-on atteindre ces deux buts en m\u00eame temps\u2009?<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nIndice, partie 3\n<\/div>\n<div class='collapseBody'>Le programme suivant peut para\u00eetre nous rapprocher du but,<\/p>\n<pre>x = y\r\ny = x<\/pre>Mais il y a un probl\u00e8me. Par exemple, disons que le correcteur commence par d\u00e9finir <code>x<\/code> \u00e9gal \u00e0 10 et <code>y<\/code> \u00e9gal \u00e0 99. Si on ex\u00e9cute le programme de deux lignes ci-dessus, apr\u00e8s le premi\u00e8re ligne, \u00e0 la fois <code>x<\/code> et <code>y<\/code> sont \u00e9gaux \u00e0 99. Le seconde ligne n'a pas d'effet.\u00a0<em>Vous pouvez soumettre cette solution au correcteur\u00a0pour voir par vous-m\u00eame ce qui se passe.\u00a0<\/em>Comment peut-on garder la valeur originale de <code>x<\/code> quelque part pour pouvoir la mettre dans <code>y<\/code> plus tard\u2009?<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nIndice, partie 4\n<\/div>\n<div class='collapseBody'>Votre premi\u00e8re ligne devrait \u00eatre quelque chose comme\u00a0<code>xOriginal = x<\/code>, pour stocker la valeur original de\u00a0<code>x<\/code>. Ensuite, vous pouvez attribuer\u00a0<code>x = y<\/code>. Et enfin, attribuer \u00e0 <code>y<\/code> la valeur original de <code>x<\/code>.<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nIndice, partie 5\n<\/div>\n<div class='collapseBody'><a href=\"http:\/\/fr.wikipedia.org\/wiki\/%C3%89change_(informatique)\">Cliquez pour lire une page Wikipedia<\/a>\u00a0qui donne du psuedo-code (dans un autre langage) pour \u00e9changer deux valeurs. Voici un lien vers une\u00a0<a href=\"http:\/\/fr.wikipedia.org\/wiki\/%C3%89change_(informatique)#En_utilisant_l.27addition_et_la_soustraction\">deuxi\u00e8me methode<\/a>\u00a0qui utilise l'arithm\u00e9tique de mani\u00e8re fut\u00e9e mais qui ne marche qu'avec des nombres et pas du texte.<\/div><\/div><\/div><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='usercode8' id='usercode8'  cols=10 rows=20   class='pyboxCode RW'>\n<\/textarea><\/div>\n<div id='pbhistory8' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit8' value=' '\/><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(8,'1.swap')\" ><\/td>\n<td><input type='button' name='help' value=\"Help\" onclick=\"helpClick(8);\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse8\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"8\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"590ce5b80cea64b9354b74e8b9329bf8\"\/>\n<div id='pbresults8' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit8\").value = \"Run program\";document.getElementById(\"inputInUse8\").value = \"N\";<\/script>\n<\/p>\n<p>Une fois que cet exercice est correct, vous \u00eates pr\u00eat \u00e0 passer \u00e0 la prochaine le\u00e7on.\u00a0Cliquez\u00a0<strong>Suivant<\/strong>\u00a0ci-dessous.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les variables ont un r\u00f4le de \"lieu de stockage\" pour les donn\u00e9es dans un programme. Elles sont un moyen de nommer les informations pour une utilisation post\u00e9rieure. Chaque variable a un nom\u2009; un exemple de nom de variable que nous &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/1-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-4593","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4593","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=4593"}],"version-history":[{"count":81,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4593\/revisions"}],"predecessor-version":[{"id":8895,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4593\/revisions\/8895"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=4593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}