{"id":200,"date":"2022-01-20T15:52:08","date_gmt":"2022-01-20T14:52:08","guid":{"rendered":"https:\/\/wiskunst.hjgsoft.nl\/?page_id=200"},"modified":"2022-01-24T09:31:59","modified_gmt":"2022-01-24T08:31:59","slug":"deelprogrammas-en-variabelen2","status":"publish","type":"page","link":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/","title":{"rendered":"Deelprogramma&#8217;s en variabelen(2)"},"content":{"rendered":"<p>Het zal vaak voorkomen dat een programma op verschillende punten (min of meer) hetzelfde zal moeten uitvoeren. Denk bijvoorbeeld aan invoer of uitvoer.<br \/>\nPascal, zoals ook vele andere talen, biedt de mogelijkheid om terugkerende code als een apart deelprogramma te maken.<br \/>\nHet voordeel is dat je het maar \u00e9\u00e9n keer hoeft te programmeren wat de kans op fouten minimaliseert. Op plaatsen waar je de code nodig hebt beperk je je tot een simpele aanroep.<\/p>\n<p>In Pascal noem je zo&#8217;n deelprogramma een\u00a0<b>procedure<\/b>. De syntax voor een procedure luidt:<\/p>\n<p><b>procedure naam;<\/b><\/p>\n<p><strong>[var declaraties]<\/strong><\/p>\n<p><strong>begin<\/strong><br \/>\n<strong>[statements]<\/strong><br \/>\n<strong>end;<\/strong><\/p>\n<p>Dus de procedure moet een (unieke) naam hebben, en voor de rest lijkt het heel erg op een &#8220;gewoon&#8221; Pascal-programma.<br \/>\nEigenlijk is dat ook zo, want in een procedure mag je ook weer een procedure maken!<br \/>\nLaten we maar eens naar een voorbeeldje kijken: Voer een tekst in en zet deze gecentreerd in een kader.<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace;\"><span style=\"font-size: 12pt;\">program p7_1;<br \/>\n<\/span><span style=\"font-size: 12pt;\">\u00a0 var regel: string[60];<\/span><\/span><\/p>\n<p><span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">procedure horlijn;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 {maak een horizontale lijn van 70 x-en}<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\"><span style=\"font-size: 12pt;\">\u00a0 var x: integer;<br \/>\n<\/span><span style=\"font-size: 12pt;\">begin<\/span><\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 for x := 1 to 70 do<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 \u00a0 write(&#8216;x&#8217;);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">end;<\/span><\/p>\n<p><span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">procedure kader;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 {maak een kader van x-en en zet de regel daarin gecentreerd neer}<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\"><span style=\"font-size: 12pt;\">\u00a0 var l: integer;<br \/>\n<\/span><span style=\"font-size: 12pt;\">begin<\/span><\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 horlijn;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 l := length(regel);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 write(&#8216;x&#8217;);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 gotoxy(35 &#8211; (l div 2), wherey); {begin regel op pos 35 &#8211; helft lengte regel}<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 write(regel);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 gotoxy(70, wherey);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln(&#8216;x&#8217;);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 horlijn;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">end;<\/span><\/p>\n<p><span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">begin<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 write(&#8216;Geef een regeltje tekst: &#8216;);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 readln(regel);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 kader;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">end.<\/span><\/p>\n<p>Een aantal opmerkingen zijn hier wel op zijn plaats:<br \/>\nOpmerkingen plaats je tussen accolades ({ }) en worden door de compiler genegeerd. Dit mag over meerdere regels gebeuren.<br \/>\nDe\u00a0<b>procedure horlijn<\/b>\u00a0moet duidelijk zijn.<br \/>\nIn de\u00a0<b>procedure kader<\/b>\u00a0wordt eerst\u00a0<b>horlijn<\/b>\u00a0aangeroepen, simpelweg door\u00a0<b>horlijn<\/b>\u00a0in te tikken.<br \/>\nMet de functie\u00a0<i>length([string-variabele])<\/i>\u00a0krijg je de lengte van de\u00a0<i>[string-variabele]<\/i>.<br \/>\nMet het statement\u00a0<i>gotoxy([x-pos], [y-pos])<\/i>, zet je de cursor op de &#8216;juiste&#8217; plaats neer, waarbij Pascal standaard uitgaat van een scherm van 25 regels bij 80 kolommen.<br \/>\nDe functies\u00a0<i>wherex<\/i>\u00a0en\u00a0<i>wherey<\/i>\u00a0geven resp. de huidige x-positie (kolom) en y-positie (regel).<br \/>\nDe\u00a0<i>div<\/i>-operator bepaalt de gehele deling (dus het gehele deel van een staartdeling).<br \/>\nNu moet je dit programma kunnen begrijpen.<\/p>\n<h2>Variabelen.<\/h2>\n<p>In het bovenstaande programma (<b>program p7_1<\/b>) zijn op verschillende plaatsen variabelen gedeclareerd.<br \/>\nDe variabele\u00a0<i>regel<\/i>\u00a0is buiten de deelprogramma&#8217;s gedeclareerd en heet een\u00a0<i>globale<\/i>\u00a0variabele. Deze is overal zichtbaar en bruikbaar, dus zowel in het hoofdprogramma alsook in de deelprogramma&#8217;s.<br \/>\nDe variabelen die in deelprogramma&#8217;s worden gedeclareerd (hierboven\u00a0<i>x<\/i>\u00a0en\u00a0<i>l<\/i>) heten\u00a0<i>lokale<\/i>\u00a0variabelen en zijn alleen maar zichtbaar en bruikbaar in dat deelprogramma.<br \/>\nVerder geldt dat lokale variabelen een hogere prioriteit hebben als globale variabelen. Kijk maar naar het volgende voorbeeld:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace;\"><span style=\"font-size: 12pt;\">program p7_2;<br \/>\n<\/span><span style=\"font-size: 12pt;\">\u00a0 var test: integer;<\/span><\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace;\"><span style=\"font-size: 12pt;\">procedure DoeTest;<\/span><\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 var test: integer;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">begin<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 test := 10;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln(&#8216;DoeTest: test = &#8216;,test);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">end;<\/span><\/p>\n<p><span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">begin<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 test := 20;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln(&#8216;Hoofdprogramma: test = &#8216;,test);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 DoeTest;<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">\u00a0 writeln(&#8216;Hoofdprogramma: test = &#8216;,test);<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: 'courier new', courier, monospace;\">end.<\/span><\/p>\n<p> [<a href=\"https:\/\/wiskunst.nl\/index.php\/programmeren\/lussen\/\">Lussen<\/a>] &lt;&#8211; &#8211;&gt; [<a href=\"https:\/\/wiskunst.nl\/index.php\/programmeren\/parameters-en-type-declaratie\/\">Parameters en type-declaratie<\/a>]\n","protected":false},"excerpt":{"rendered":"<p>Het zal vaak voorkomen dat een programma op verschillende punten (min of meer) hetzelfde zal moeten uitvoeren. Denk bijvoorbeeld aan invoer of uitvoer. Pascal, zoals ook vele andere talen, biedt de mogelijkheid om terugkerende code als een apart deelprogramma te maken. Het voordeel is dat je het maar \u00e9\u00e9n keer hoeft te programmeren wat de [&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-200","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>Deelprogramma&#039;s en variabelen(2) - 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\/deelprogrammas-en-variabelen2\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deelprogramma&#039;s en variabelen(2) - Wiskunst\" \/>\n<meta property=\"og:description\" content=\"Het zal vaak voorkomen dat een programma op verschillende punten (min of meer) hetzelfde zal moeten uitvoeren. Denk bijvoorbeeld aan invoer of uitvoer. Pascal, zoals ook vele andere talen, biedt de mogelijkheid om terugkerende code als een apart deelprogramma te maken. Het voordeel is dat je het maar \u00e9\u00e9n keer hoeft te programmeren wat de [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/\" \/>\n<meta property=\"og:site_name\" content=\"Wiskunst\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-24T08:31:59+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=\"2 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\\\/deelprogrammas-en-variabelen2\\\/\",\"url\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/deelprogrammas-en-variabelen2\\\/\",\"name\":\"Deelprogramma's en variabelen(2) - Wiskunst\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/#website\"},\"datePublished\":\"2022-01-20T14:52:08+00:00\",\"dateModified\":\"2022-01-24T08:31:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/deelprogrammas-en-variabelen2\\\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/deelprogrammas-en-variabelen2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/programmeren1\\\/programmeren\\\/deelprogrammas-en-variabelen2\\\/#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\":\"Deelprogramma&#8217;s en variabelen(2)\"}]},{\"@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":"Deelprogramma's en variabelen(2) - 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\/deelprogrammas-en-variabelen2\/","og_locale":"nl_NL","og_type":"article","og_title":"Deelprogramma's en variabelen(2) - Wiskunst","og_description":"Het zal vaak voorkomen dat een programma op verschillende punten (min of meer) hetzelfde zal moeten uitvoeren. Denk bijvoorbeeld aan invoer of uitvoer. Pascal, zoals ook vele andere talen, biedt de mogelijkheid om terugkerende code als een apart deelprogramma te maken. Het voordeel is dat je het maar \u00e9\u00e9n keer hoeft te programmeren wat de [&hellip;]","og_url":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/","og_site_name":"Wiskunst","article_modified_time":"2022-01-24T08:31:59+00:00","twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"2 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/","url":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/","name":"Deelprogramma's en variabelen(2) - Wiskunst","isPartOf":{"@id":"https:\/\/wiskunst.nl\/#website"},"datePublished":"2022-01-20T14:52:08+00:00","dateModified":"2022-01-24T08:31:59+00:00","breadcrumb":{"@id":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wiskunst.nl\/index.php\/programmeren1\/programmeren\/deelprogrammas-en-variabelen2\/#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":"Deelprogramma&#8217;s en variabelen(2)"}]},{"@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\/200","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=200"}],"version-history":[{"count":5,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/200\/revisions"}],"predecessor-version":[{"id":529,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/200\/revisions\/529"}],"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=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}