{"id":5544,"date":"2012-09-12T20:50:57","date_gmt":"2012-09-13T00:50:57","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=5544"},"modified":"2020-04-08T08:41:13","modified_gmt":"2020-04-08T12:41:13","slug":"1-de","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/1-de\/","title":{"rendered":"1: Variablen"},"content":{"rendered":"<p>Variablen sind \"Speicherorte\" f\u00fcr Daten in einem Programm. Sie sind eine M\u00f6glichkeit, Informationen Namen zu geben, um sie sp\u00e4ter zu erreichen.<\/p>\n<p>Jede Variable hat einen <em>Namen<\/em>; ein Beispiel f\u00fcr einen Variablennamen ist <code>meineGluecksZahl<\/code>. Um Informationen in einer Variable zu speichern, nutzt man das Gleich-Zeichen in folgendem Kontext:<\/p>\n<pre>\u00abder Variablenname\u00bb = \u00abder zu speichernde Wert\u00bb<\/pre>(Wir nutzen die \u00abdoppelten spitzen Klammern\u00bb in diesem Kurs, wie oben, um spezielle Teile eines Ausdrucks zu markieren.)<\/p>\n<p>Zum Beispiel speichert die Python-Zeile<\/p>\n<pre>meineGluecksZahl = 13<\/pre>den Wert <code>13<\/code> in der Variable <code>meineGluecksZahl<\/code>. Danach wird Python jedesmal, wenn du den Variablennamen <code>meineGluecksZahl<\/code> schreibst, den gespeicherten Wert nutzen.<\/p>\n<p>Hier ist ein kleines Beispiel, in dem Variablen genutzt werden. Es hat mehr als eine Code-Zeile: Python wird zun\u00e4chst die erste Zeile ausf\u00fchren, dann die zweite, und so weiter, bis die letzte Zeile erreicht wurde. Klicke den <strong>Programm ausf\u00fchren<\/strong>-Button, um zu sehen, was es macht.<\/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>Beispiel zur Variablennutzung.<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'>\nmeineGluecksZahl = 13\nprint(meineGluecksZahl + 1)\nprint(meineGluecksZahl)\nmeineGluecksZahl = 5 + 2\nprint(meineGluecksZahl)<\/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=\"0ad9b3d94e2f88fe01fd11cb10aceeaf\"\/>\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>Schau dir die 5 Zeilen des Programms an und wie sie zur Ausgabe passen. Wie du sehen kannst, beh\u00e4lt <code><code>meineGluecksZahl<\/code><\/code> den Wert <code>13<\/code> in den ersten beiden <code>print<\/code>-Befehlen, dann wird der Wert in <code>7<\/code> ge\u00e4ndert.<\/p>\n<p>Hier haben wir auch den <em>Plus<\/em>-Operator (<code>+<\/code>) eingef\u00fchrt, der zwei Zahlen addiert. Genauso gibt es auch Operatoren f\u00fcr Subtraktion (<code>-<\/code>), Multiplikation (<code>*<\/code>) und Division (<code>\/<\/code>). Wir werden uns diese noch genauer angucken.<\/p>\n<p>Du kannst den Speicherzustand des Computers mit Papier und Bleistift simulieren, indem du den Inhalt der Variablen in einer Tabelle verfolgst. Hier ist ein Beispiel; denke daran, dass <code>*<\/code> in Python Multiplikation bedeutet.<\/p>\n<div class=\"pybox\">\n<p><strong>Ziel<\/strong>: bestimme den Wert der Variablen am Ende des Programms.<\/p>\n<pre>first = 2\r\nsecond = 3\r\nthird = first * second\r\nsecond = third - first\r\nfirst = first + second + third\r\nthird = second * first<\/pre><strong>Idee<\/strong>: Wir nutzen eine Tabelle, um den Zustand der Variablen zu verfolgen. Scrolle nach unten, um das endg\u00fcltige Ergebnis zu sehen.<\/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>Befehl<\/th>\n<th colspan=\"3\">Werte nach dem Befehl<\/th>\n<\/tr>\n<tr class=\"mono\" align=\"center\">\n<th><\/th>\n<th>first<\/th>\n<th>second<\/th>\n<th>third<\/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>first = 2<\/td>\n<td><strong>2<\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>second = 3<\/td>\n<td>2<\/td>\n<td><strong>3<\/strong><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>third = first * second<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td><strong>6<\/strong><\/td>\n<\/tr>\n<tr>\n<td>second = third - first<\/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>first = first + second + third<\/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>third = second * first<\/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>Am Ende des Programms ist entsprechend <code>12<\/code> der Wert von <code>first<\/code>, <code>4<\/code> der Wert von <code>second<\/code> und <code>48<\/code> der Wert von <code>third<\/code>.<\/p>\n<\/div>\n<\/div>\n<p>So eine Tabelle mit Bleistift auf Papier zu zeichnen ist immer eine gute Idee und hilfreich, um Code zu verstehen und zu schreiben. Wir haben auch ein automatisiertes <a href=\"\/visualize\">Python3 Visualisierungshilfsmittel<\/a> um virtuell Programme wie dieses Schritt f\u00fcr Schritt auszuf\u00fchren (siehe auch den Link im Men\u00fc oben). Hier ist wie es aussieht, wenn wir das selbe Programm am Visualisierer laufen lassen. <em>Nutze den <strong>Forward&gt;<\/strong>-Knopf oder dr\u00fccke die Pfeiltaste auf der Tastatur f\u00fcr einen Schritt vor (oder zur\u00fcck). <\/em>Beachte, wie sich die Variablen \u00e4ndern, w\u00e4hrend jede Zeile ausgef\u00fchrt wird.<iframe width='100%' height='480' frameborder='0' scrolling='no' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/OnlinePythonTutor3-cemc\/iframe-embed.html#code=first+%3D+2%0Asecond+%3D+3%0Athird+%3D+first+%2A+second%0Asecond+%3D+third+-+first%0Afirst+%3D+first+%2B+second+%2B+third%0Athird+%3D+second+%2A+first&cumulative=false&heapPrimitives=false&drawParentPointers=false&textReferences=false&showOnlyOutputs=false&py=3&curInstr=0&resizeContainer=true&highlightLines&width=400&rightStdout=1'><\/iframe> Hier ist eine kleine \u00dcbung zu Variablen:<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> Marks the Spot<\/span><\/div><br \/>\nWie ist der Wert von <code>x<\/code> nach der Ausf\u00fchrung dieses Programms?<\/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>Zwei h\u00e4ufige Fehler<\/h2>\n<p>Wenn du auf eine Variable in Python zugreifen willst, die nicht definiert wurde, entsteht ein Fehler.<\/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'>Eine undefinierte Variable<\/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=\"b8790e01c1e85dfd739f2b3b0e6e11cf\"\/>\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>Wie du sehen kannst, kommt eine Fehlermeldung <code>NameError: name 'trouble' is not defined<\/code>. Manchmal entsteht dieser Fehler auch aus einfachen Tippfehlern: wenn du erst die Variable <code>beispiel=32<\/code> definierst, und dann versuchst <code>print(beispeil)<\/code> auszuf\u00fchren, wird der selbe Fehler erzeugt.<\/p>\n<p>Ein anderer Fehler entsteht beim Vertauschen der beiden Seiten in einem ' <code>= <\/code>Ausdruck'.<\/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>Die erste Zeile funktioniert problemlos, aber die zweite Zeile verursacht einen Fehler: Python denkt, die Zeile <code>4 = x<\/code> m\u00f6chte den Wert von <code>4<\/code> \u00e4ndern, was aber nur mit Variablen m\u00f6glich ist, zu denen <code>4<\/code> nicht geh\u00f6rt. Auch wenn <code>A = B<\/code> und <code>B = A<\/code> in der Mathematik das Gleiche ist, bedeutet es in der Programmierung etwas anderes.<\/p>\n<h2>\u00dcbung<\/h2>\n<p>Hier kommt eine erste Aufw\u00e4rm\u00fcbung zum Umgang mit Variablen.<\/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'>Python-Anatomie<\/span><\/div>\n<p>Schreibe ein <em>Code-Fragment<\/em> (ein kleines St\u00fcck eines Python-Programms), das K\u00f6pfe, Schultern, Knie und Zehen auf einer Party z\u00e4hlt. Eine Variable <code>people<\/code> ist schon bekannt, und die Anzahl der Personen auf der Party ist darin bereits gespeichert. Dein Code muss 4 Variablen definieren: <code>heads <\/code>(Anzahl der K\u00f6pfe), <code>shoulders <\/code>(Anzahl der Schultern), <code>knees <\/code>(Anzahl der Knie) und <code>toes <\/code>(Anzahl der Zehen). Dein Programm muss keine Ausgabe erzeugen. <a class=\"hintlink\"  id=\"hintlink5\">F\u00fcr einen Tipp hier klicken<\/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=\"90b3b7507eabc1839bccefed8ec3f3d5\"\/>\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-Durcheinander<\/h2>\n<p>Der n\u00e4chste Teil dieser Lektion ist eine neue Art von Programmieraufgabe, in der du nicht eine einzige Zeile Code tippen musst. Das korrekte Programm liegt schon vor, allerdings sind die Code-Zeilen in die falsche Reihenfolge geraten. Deine Aufgabe ist es, die Code-Zeilen an die richtige Stelle zu schieben.<\/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'>Geschwindigkeitsberechnung<\/span><\/div>Du f\u00e4hrst in einem Radrennen mit, in dem es einen Berg hinauf (<em>uphill<\/em>) und wieder hinunter (<em>downhill<\/em>) geht. Es sind vier Variablen vordefiniert: <code>uphillDistance<\/code> und <code>downhillDistance<\/code> geben die Strecke (in km) beider Teile des Rennens an und <code>uphillTime<\/code> und <code>downhillTime<\/code> die zugeh\u00f6rige Zeit (in Minuten). Schreibe ein Programm, das die Durchschnittsgeschwindigkeit (in km\/min) \u00fcber das ganze Rennen angibt. <br\/><em>Die Codezeilen kannst du per Drag'n'Drop verschieben.<br\/><\/em><a class=\"hintlink\"  id=\"hintlink7\">Wenn du Problem hast, klicke hier f\u00fcr einen Hinweis<\/a> <ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble6\">\n <li class=\"pyscramble\">totalDistance = uphillDistance + downhillDistance<\/li>\n <li class=\"pyscramble\">print(averageSpeed)<\/li>\n <li class=\"pyscramble\">averageSpeed = totalDistance \/ totalTime<\/li>\n <li class=\"pyscramble\">totalTime = uphillTime + downhillTime<\/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=\"58eace0d8d5df3cc9e6716ec74ff470b\"\/>\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>Variablen vertauschen<\/h2>\n<p>Dies ist die letzte \u00dcbung in diesem Kapitel.<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'>Variablen vertauschen<\/span><\/div>Schreibe ein Programm, das die Werte zweier Variablen <strong>vertauscht<\/strong>. Es sind zwei Variablen <code>x<\/code> und <code>y<\/code> vordefiniert, die numerische Werte enthalten. Nach der Ausf\u00fchrung des Programms muss der alte Wert von <code>x<\/code> in der Variable <code>y<\/code> zu finden sein und der alte Wert von <code>y<\/code> in der Variable <code>x<\/code>. Dein Programm muss keine Ausgabe erzeugen. <br\/><em>Die einfachste L\u00f6sung ist kurz, aber schwer zu finden. Klicke auf die Hinweise, wenn du sie lesen m\u00f6chtest. <\/em> <div class=\"accordion\"><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nHinweis 1\n<\/div>\n<div class='collapseBody'><br \/>\nDu ben\u00f6tigst hier keine arithmetische Operatoren (<code>+-*\/<\/code>) um das Problem zu l\u00f6sen. Du brauchst nur Variablen und den <code>=<\/code>-Operator. Du kannst weitere Variablen definieren, wenn du m\u00f6chtest.<\/div><\/div> <div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nHinweis 2\n<\/div>\n<div class='collapseBody'><br \/>\nWir haben zwei Ziele: der Originalwert von <code>y<\/code> soll in <code>x<\/code> stehen und der Originalwert von <code>x<\/code> soll in <code>y<\/code> stehen. Wenn wir nur das erste Ziel h\u00e4tten (also nur von <code>x<\/code> nach <code>y<\/code> kopieren), k\u00f6nnten wir einfach<\/p>\n<pre>x = y<\/pre>benutzen. Doch wie k\u00f6nnen wir beide Ziele erreichen?<br \/>\n<\/div><\/div> <div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nHinweis 3\n<\/div>\n<div class='collapseBody'>Das folgende Programm sieht erfolgversprechend aus:<\/p>\n<pre>x = y\r\ny = x<\/pre>Aber es hat ein kleines Problem. Nehmen wir als Beispiel an, <code>x<\/code> w\u00e4re 10 und <code>y<\/code> w\u00e4re 99. Wenn wir das obige Zwei-Zeilen-Programm nutzen, wird nach der ersten Zeile der Wert beider Variablen <code>x<\/code> und <code>y<\/code> 99 sein. Die zweite Zeile hat dann keinen Effekt. <em>Du kannst diese Zeilen unten eingeben und selber gucken, was passiert.<\/em> Wie k\u00f6nnen wir den Originalwert von <code>x<\/code> irgendwo speichern, um danach <code>y<\/code> zu setzen?<br \/>\n<\/div><\/div> <div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nHinweis 4\n<\/div>\n<div class='collapseBody'> Deine erste Zeile sollte etwas wie <code>xOriginal = x<\/code> enthalten, damit der Originalwert von <code>x<\/code> erhalten wird. Dann kannst du <code>x = y<\/code> setzen. Am Ende musst du nur noch <code>y<\/code> auf den Originalwert von <code>x<\/code> stellen.<\/div><\/div> <div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nHinweis 5\n<\/div>\n<div class='collapseBody'> <a href=\"http:\/\/de.wikipedia.org\/wiki\/Dreieckstausch\">Hier findest du einen Wikipediaartikel<\/a> zu diesem Thema. Dabei wird auch eine arithmetische L\u00f6sung gezeigt, die jedoch nur mit Zahlen, nicht mit Texten (oder anderen komplexen Konstrukten) funktioniert.<\/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=\"dec9a3f5b0972afae8857b91ec2a8992\"\/>\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>Wenn du mit dieser \u00dcbung fertig bist, bist du bereit f\u00fcr den n\u00e4chsten Schritt. Um zur n\u00e4chsten Lektion zu kommen, klicke unten auf den \"Weiter mit\"-Button.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Variablen sind \"Speicherorte\" f\u00fcr Daten in einem Programm. Sie sind eine M\u00f6glichkeit, Informationen Namen zu geben, um sie sp\u00e4ter zu erreichen. Jede Variable hat einen Namen; ein Beispiel f\u00fcr einen Variablennamen ist meineGluecksZahl. Um Informationen in einer Variable zu speichern, &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/1-de\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2653,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5544","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/5544","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\/2653"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=5544"}],"version-history":[{"count":48,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/5544\/revisions"}],"predecessor-version":[{"id":11159,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/5544\/revisions\/11159"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=5544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}