{"id":6189,"date":"2012-11-05T20:42:20","date_gmt":"2012-11-06T01:42:20","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=6189"},"modified":"2019-03-02T02:42:13","modified_gmt":"2019-03-02T07:42:13","slug":"2x-extra-practice-nl","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/2x-extra-practice-nl\/","title":{"rendered":"02X: Extra Oefening"},"content":{"rendered":"<p>Deze les, met extra oefeningen over de functies\u00a0<code>min<\/code> en <code>max<\/code>, is optioneel. Als je bij een opgave vast komt te zitten, sla deze dan over en bekijk de volgende opgave. Bekijk de overgeslagen opgave later nog eens.<\/p>\n<h2>Een complexe uitdrukking vereenvoudigen<\/h2>\n<div class='pybox modeNeutral' id='pybox0'>\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'>Multiple Choice Exercise: <\/span><span class='title'>Vereenvoudigen<\/span><\/div><div>Wat is de vereenvoudiging van de volgende uitdrukking? <\/p>\n<pre>max(x - 3, min(x + 10, x + 5))<\/pre> <\/div><label>Your choice: <\/label><select id=\"pyselect0\"><option value=\"d\" selected>Select one<\/option><option value=\"w\">x + 10<\/option><option value=\"r\">x + 5<\/option><option value=\"w\">x - 3<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"2X.simplify\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(0)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults0\"><\/div><div class=\"epilogue\">Correct! Omdat <code>x + 5<\/code> altijd kleiner is dan <code>x + 10<\/code>, kunnen we <code>min(x + 10, x + 5)<\/code> vereenvoudigen tot alleen maar <code>x + 5<\/code>. Dan werken we verder en wordt de uitdrukking  <code>max(x - 3, x + 5)<\/code>. Omdat <code>x + 5<\/code> altijd het maximum is van de twee getallen, is dat het resultaat.<\/div><\/div>\n<h2>Een eenvoudige expressie complexer maken<\/h2>\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'>Complication<\/span><\/div>Neem aan dat het nakijkprogramma twee variabelen A en B voor je definieert. Schrijf een programma dat de waarde afdrukt van <\/p>\n<pre>min(A, B)<\/pre> Maar er is een beperking: je mag in je programma niet de functie <code>min<\/code>\u00a0gebruiken. In plaats daarvan moet je de functie\u00a0<code>max<\/code>\u00a0op een slimme manier gebruiken teneinde <code>min<\/code> na te bootsen.\u00a0 <a class=\"hintlink\"  id=\"hintlink2\">Hint, Methode 1<\/a><a class=\"hintlink\"  id=\"hintlink3\">Hint, Methode 2<\/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='usercode1' id='usercode1'  cols=10 rows=20   class='pyboxCode RW'>\n<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(1,'2X.simplifyagain')\" ><\/td>\n<td><input type='button' name='help' value=\"Help\" onclick=\"helpClick(1);\" ><\/td>\n<\/tr><\/table><\/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=\"1edd82640441e5173c6650c9d82d7e36\"\/>\n<div id='pbresults1' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit1\").value = \"Run program\";document.getElementById(\"inputInUse1\").value = \"N\";<\/script>\n<\/p>\n<h2>Betaalrekenmachine<\/h2>\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'>Betaalrekenmachine<\/span><\/div>Een credit card-bedrijf berekent de\u00a0 \"minimale betaling\" volgens de volgende regel: de minimale betaling is gelijk aan ofwel \u20ac 10 of 2,1% van het openstaand saldo van de klant, indien dat meer is, maar als dit hoger is dan het openstaand saldo, dan is de minimale betaling het openstaande saldo. Schrijf een programma dat de minimale betaling berekent door gebruik te maken van de functies\u00a0<code>min<\/code> en <code>max<\/code>. Neem daarbij aan dat de variabele <code>saldo<\/code>\u00a0het openstaand saldo van de klant weergeeft. Je programma hoeft niet het euroteken te printen.<br\/> Voorbeeld<em> 1<\/em>: als je <code>saldo<\/code> gelijk is aan <code>1000<\/code>, dan dient je programma <code>21<\/code> te printen. <br\/> Voorbeeld<em> 2<\/em>: als je <code>saldo<\/code> gelijk is aan <code>600<\/code>, dan dient je programma <code>12.6<\/code> te printen. <br\/> Voorbeeld<em> 3<\/em>: als je <code>saldo<\/code> gelijk is aan <code>25<\/code>, dan dient je programma <code>10<\/code> te printen. <br\/> Voorbeeld<em> 4<\/em>: als je\u00a0<code>saldo<\/code> gelijk is aan <code>8<\/code>, dan dient je programma <code>8<\/code> te printen. <br\/> <a class=\"hintlink\"  id=\"hintlink5\">Hint<\/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='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,'2X.saldo')\" ><\/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=\"de43c6a124a582294c959bcaed00f0f0\"\/>\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>Versleep-oefening: sorteren<\/h2>\n<p>De laatste opgave is een uitdagende opgave, over het sorteren van getallen maar wel op een vreemde manier. Er zijn betere, eenvoudigere en snellere\u00a0 <a href=\"http:\/\/en.wikipedia.org\/wiki\/Sorting_algorithm\">manieren om te sorteren <\/a>die je kunt leren nadat je onze lessen hebt doorgewerkt.<\/p>\n<p>Als je vast komt te zitten, sla dan deze opgave voorlopig over. Je kunt het later nog een keer doen. Bovendien kun je bijhouden wat je wel en niet hebt opgelost door te kijken op de pagina <a href=\"\/user-page\">Mijn voortgang<\/a>.<\/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'>Versleep-oefening: Sorteren<\/span><\/div><strong>Versleep-oefening: sorteren<\/strong>: zorg ervoor dat het programma de drie getallen x, y en z <strong>sorteert<\/strong> in opklimmende grootte waarbij <code>x<\/code> de kleinste waarde heeft, <code>y<\/code> de daaropvolgende waarde heeft, en <code>z<\/code> de grootste waarde heeft. <br\/><em>Sleep met je muis de regels in de juiste volgorde.\u00a0<\/em><a class=\"hintlink\"  id=\"hintlink7\">Klik voor een hint.<\/a><ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble6\">\n <li class=\"pyscramble\">y = tmp<\/li>\n <li class=\"pyscramble\">y = min(y, z)<\/li>\n <li class=\"pyscramble\">tmp = max(x, y)<\/li>\n <li class=\"pyscramble\">z = tmp<\/li>\n <li class=\"pyscramble\">x = min(x, y)<\/li>\n <li class=\"pyscramble\">y = tmp<\/li>\n <li class=\"pyscramble\">tmp = max(x, y)<\/li>\n <li class=\"pyscramble\">tmp = max(y, z)<\/li>\n <li class=\"pyscramble\">x = min(x, y)<\/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=\"51de50254712b97d6943cc99d667562d\"\/>\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<p>Ga verder met les 3!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deze les, met extra oefeningen over de functies\u00a0min en max, is optioneel. Als je bij een opgave vast komt te zitten, sla deze dan over en bekijk de volgende opgave. Bekijk de overgeslagen opgave later nog eens. Een complexe uitdrukking &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/2x-extra-practice-nl\/\">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-6189","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/6189","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=6189"}],"version-history":[{"count":23,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/6189\/revisions"}],"predecessor-version":[{"id":11179,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/6189\/revisions\/11179"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=6189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}