{"id":198,"date":"2022-01-20T15:51:26","date_gmt":"2022-01-20T14:51:26","guid":{"rendered":"https:\/\/wiskunst.hjgsoft.nl\/?page_id=198"},"modified":"2022-01-24T09:33:43","modified_gmt":"2022-01-24T08:33:43","slug":"lussen","status":"publish","type":"page","link":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/","title":{"rendered":"Lussen"},"content":{"rendered":"<p>Lussen zijn herhalings-constructies. Iedere programmeertaal zal dergelijke constructies herbergen en zijn bedoeld om een of meerdere zaken te herhalen.<br \/>\nPascal kent drie soorten lussen, te weten: fe For-lus, de While-lus en de Repeat-Until-lus.<br \/>\nIn deze paragraaf zal ik aan de hand van \u00e9\u00e9n en hetzelfde voorbeeld alle drie de lussen illustreren. Hierna zal ik aangeven wanneer je welke lus gebruikt.<\/p>\n<p>Eerst het voorbeeld: Bepaal de som van alle getallen van 1 t\/m 100. Die som is overigens 5050 en is zonder lus gemakkelijk te bepalen (zie ook &#8220;wiskunde is leuk: aflevering 3 bewijs 2)&#8221;.<\/p>\n<h2>De For-lus.<\/h2>\n<p>De syntax van de For-lus luidt als volgt:<\/p>\n<p><b>For [variabele] := [beginwaarde] (down)to [eindwaarde] do<br \/>\n[opdracht];<br \/>\n<\/b><br \/>\nVoor de For-lus heb je dus een variabele nodig (van een aftelbaar type), en je moet een begin- en een eindwaarde weten. Als de [eindwaarde] kleiner is dan de [beginwaarde], dan gebruik je\u00a0<b>downto<\/b>, anders\u00a0<b>to<\/b>.<br \/>\nGedurende de doorloop van de lus wordt de [opdracht] uitgevoerd.<\/p>\n<p>Het eerste programma:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">program p6_1;<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">var<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 teller, som: integer;<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">begin<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 som := 0;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 for teller := 1 to 100 do<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 som := som + teller;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 writeln(teller,&#8217; &#8211; &#8216;,som);<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">end.<\/span><\/p>\n<p>Probeer goed te begrijpen wat er gebeurt. Schrijf ook de uitkomsten even op, dat is later van belang.<\/p>\n<h2>De While-lus.<\/h2>\n<p>De syntax van de While-lus luidt als volgt:<\/p>\n<p><b>While [voorwaarde] do<br \/>\n[opdracht];<br \/>\n<\/b><br \/>\nHierbij kan [voorwaarde] weer complex zijn. De While-lus wordt uitgevoerd zolang er aan de [voorwaarde] voldaan is.<\/p>\n<p>Het tweede programma:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">program p6_2;<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">var<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 teller, som: integer;<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">begin<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 teller := 1;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 som := 0;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 while teller &lt;= 100 do<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 begin<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 \u00a0 som := som + teller;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 \u00a0 teller := teller + 1;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 end;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 writeln(teller,&#8217; &#8211; &#8216;,som);<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">end.<\/span><\/p>\n<p>Ten opzichte van het eerste programma (met de For-lus) een belangrijke zaak: je moet nu zelf de teller bijhouden, ofwel voorzien van een initi\u00eble waarde, en binnen de lus ophogen!<br \/>\nVerder moet je er goed opletten dat de voorwaarde wel een keer eindigt, zodat het programma uit de lus komt.<br \/>\nGevaarlijke constructies zijn die waar in de voorwaarde het is-gelijk-teken of ongelijk-aan-teken staat. Bijvoorbeeld:<\/p>\n<p><b>while teller &lt;&gt; 100 do &#8230;<\/b><\/p>\n<p>waarbij je er dus vanuit gaat dat\u00a0<i>teller<\/i>\u00a0ooit 100 wordt. Stel dat teller een real-variabele is, dan is dit nog maar zeer de vraag. Let daar dus goed op.<\/p>\n<p>Schrijf ook hier de uitkomsten even op.<\/p>\n<h2>De Repeat-Until_lus.<\/h2>\n<p>De syntax van de Repeat-Until_lus luidt als volgt:<\/p>\n<p><b>Repeat<br \/>\n[opdracht(en)];<br \/>\nUntil [voorwaarde];<br \/>\n<\/b><br \/>\nHierbij mag\u00a0<b>[voorwaarde]<\/b>\u00a0complex zijn. De statements tussen\u00a0<b>repeat<\/b>\u00a0en\u00a0<b>until<\/b>\u00a0worden als een compound-statement beschouwd.<br \/>\nDe statements tussen\u00a0<b>repeat<\/b>\u00a0en\u00a0<b>until<\/b>\u00a0worden uitgevoerd totdat er aan de\u00a0<b>until-voorwaarde<\/b>\u00a0is voldaan.<\/p>\n<p>Het derde programma:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">program p6_3;<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">var<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 teller, som: integer;<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">begin<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 teller := 1;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 som := 0;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 repeat<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 som := som + teller;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 \u00a0 teller := teller + 1;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 until teller &gt; 100;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0 writeln(teller,&#8217; &#8211; &#8216;,som);<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">end.<\/span><\/p>\n<p>Probeer ook deze lus weer goed te doorgronden en noteer de uitkomsten nog even.<br \/>\nHeb je alles gesnapt? Zo ja, dan moet je deze vraag kunnen beantwoorden:\u00a0<i>Wat is het wezenlijke verschil tussen de While-lus en de Repeat-Until-lus?<\/i><\/p>\n<p>Als het goed is dan heb je de uitkomsten van alle drie de lussen genoteerd. Dan valt op dat de variabele\u00a0<i>som<\/i>\u00a0in alle gevallen 5050 is, maar dat de variabele\u00a0<i>teller<\/i>\u00a0bij de For-lus de waarde 100 heeft en bij de andere twee lussen de waarde 101. Het is altijd belangrijk te weten wat dit soort teller-variabelen voor waarde hebben nadat de lus is verlaten, voor het geval je verder moet rekenen met zo&#8217;n variabele.<\/p>\n<p>Om nog even terug te komen op de eerder in dit onderdeeltje gestelde vraag:<br \/>\nDe Repeat-Until-lus wordt minimaal 1 keer doorlopen! Verander in programma p6_2 en p6_3 de initi\u00eble waarde van teller maar eens in 1000 en vergelijk de uitkomsten!<\/p>\n<h2>Wanneer welke lus?<\/h2>\n<p>Wanneer moet je nu welke lus gebruiken?<br \/>\nHoewel enigszins arbitrair kun je de volgende vuistregels aanhouden:<\/p>\n<p>Een for-lus gebruik je als je van te voren precies weet hoevaak iets herhaald moet worden.<br \/>\nEen while-lus gebruik je wanneer je van te voren niet weet of de code in de lus wel uitgevoerd moet worden.<br \/>\nEen repeat-until-lus gebruik je wanneer de code tussen repeat en until minimaal 1 keer moet worden uitgevoerd.<\/p>\n<p>Bij een vrije keuze verdient de for-lus verreweg de voorkeur, omdat dit de snelste van de drie is.<\/p>\n<p> [<a href=\"https:\/\/wiskunst.nl\/index.php\/programmeren\/lussen\/\">Keuzes<\/a>] &lt;&#8211; &#8211;&gt; [<a href=\"https:\/\/wiskunst.nl\/index.php\/programmeren\/deelprogrammas-en-variabelen2\/\">Deelprogramma&#8217;s en variabelen(2)<\/a>]\n","protected":false},"excerpt":{"rendered":"<p>Lussen zijn herhalings-constructies. Iedere programmeertaal zal dergelijke constructies herbergen en zijn bedoeld om een of meerdere zaken te herhalen. Pascal kent drie soorten lussen, te weten: fe For-lus, de While-lus en de Repeat-Until-lus. In deze paragraaf zal ik aan de hand van \u00e9\u00e9n en hetzelfde voorbeeld alle drie de lussen illustreren. Hierna zal ik aangeven [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":185,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"class_list":["post-198","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lussen - Wiskunst<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lussen - Wiskunst\" \/>\n<meta property=\"og:description\" content=\"Lussen zijn herhalings-constructies. Iedere programmeertaal zal dergelijke constructies herbergen en zijn bedoeld om een of meerdere zaken te herhalen. Pascal kent drie soorten lussen, te weten: fe For-lus, de While-lus en de Repeat-Until-lus. In deze paragraaf zal ik aan de hand van \u00e9\u00e9n en hetzelfde voorbeeld alle drie de lussen illustreren. Hierna zal ik aangeven [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/\" \/>\n<meta property=\"og:site_name\" content=\"Wiskunst\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-24T08:33:43+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/lussen\\\/\",\"url\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/lussen\\\/\",\"name\":\"Lussen - Wiskunst\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/#website\"},\"datePublished\":\"2022-01-20T14:51:26+00:00\",\"dateModified\":\"2022-01-24T08:33:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/lussen\\\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/lussen\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/lussen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programmeren\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Programmeren met Pascal\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Lussen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/#website\",\"url\":\"https:\\\/\\\/wiskunst.nl\\\/\",\"name\":\"Wiskunst\",\"description\":\"2\u221e\u2227&gt;\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wiskunst.nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lussen - Wiskunst","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/","og_locale":"nl_NL","og_type":"article","og_title":"Lussen - Wiskunst","og_description":"Lussen zijn herhalings-constructies. Iedere programmeertaal zal dergelijke constructies herbergen en zijn bedoeld om een of meerdere zaken te herhalen. Pascal kent drie soorten lussen, te weten: fe For-lus, de While-lus en de Repeat-Until-lus. In deze paragraaf zal ik aan de hand van \u00e9\u00e9n en hetzelfde voorbeeld alle drie de lussen illustreren. Hierna zal ik aangeven [&hellip;]","og_url":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/","og_site_name":"Wiskunst","article_modified_time":"2022-01-24T08:33:43+00:00","twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"3 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/","url":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/","name":"Lussen - Wiskunst","isPartOf":{"@id":"https:\/\/wiskunst.nl\/#website"},"datePublished":"2022-01-20T14:51:26+00:00","dateModified":"2022-01-24T08:33:43+00:00","breadcrumb":{"@id":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/lussen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wiskunst.nl\/"},{"@type":"ListItem","position":2,"name":"Programmeren","item":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/"},{"@type":"ListItem","position":3,"name":"Programmeren met Pascal","item":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/"},{"@type":"ListItem","position":4,"name":"Lussen"}]},{"@type":"WebSite","@id":"https:\/\/wiskunst.nl\/#website","url":"https:\/\/wiskunst.nl\/","name":"Wiskunst","description":"2\u221e\u2227&gt;","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wiskunst.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"}]}},"_links":{"self":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":5,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/198\/revisions"}],"predecessor-version":[{"id":535,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/198\/revisions\/535"}],"up":[{"embeddable":true,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/185"}],"wp:attachment":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/media?parent=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}