1. Recursieve Algoritmen
|
|
- Christian Martens
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 1. Recursieve Algoritmen Doel : Verdiepen van je inzicht in recursieve procedures ; bestudeer ook hoofdstuk 15 van de WWW-B1- reader op (en/of Savitch Hfst 14) Aan het einde van de B1 cursus heb je al kennis gemaakt met recursie. Er is sprake van recursie wanneer procedures zichzelf aanroepen. Recursie kan zowel direct als indirect plaatsvinden. Bij directe recursie roept de procedure zichzelf aan binnen de eigen procedure body. Tot deze vorm beperken wij ons op dit moment. 1.1 Herhalingstestjes Om je begrip van recursie te testen volgen hieronder enkele testvragen. Herinner je dat bij een recursief werkend programma(deel) je steeds via een stop -conditie moet testen of er met een volgende recursiestap verder gegaan moet worden, of dat het recursie-proces gestopt kan worden. Bestudeer het onderstaande programmaatje: Program Recursietest; Procedure RecursieDiepte ( getal : INTEGER ); write ( getal, ) ; IF getal > 0 THEN RecursieDiepte ( getal - 1 ) ; write ( getal, ) ; { RecursieDiepte } VAR startwaarde : INTEGER ; {program} startwaarde := 4 ; RecursieDiepte ( startwaarde ) ; writeln ; writeln ( Startwaarde heeft nu de waarde :, startwaarde ) {program} Vragen: 1) Ga na waarom het volgende resultaat op het scherm verschijnt: Startwaarde heeft nu de waarde : 4 2) Wat is in dit voorbeeld de (recursie-) terminatie-voorwaarde? Bij de volgende vraag heb je ook je kennis over het effect van het doorgeven van globale waarden via een valueof een VAR- (variabele) parameter nodig: Program Recursie_met_variabele_parameters; Procedure RecursieMetVarParameter ( VAR getal : INTEGER ) ; write ( getal, ) ; getal := getal - 1 ; IF getal > 0 THEN RecursieMetVarParameter ( getal ); write ( getal, ) ; { RecursieMetVarParameter } VAR getalswaarde : INTEGER ; { globale variabele declaratie } { program } getalswaarde := 4 ; RecursieMetVarParameter ( getalswaarde ) ; Writeln ( Na afloop geldt: getalswaarde =, getalswaarde ) { program } Vraag: - Wat drukt het programma nu af op het scherm? - Speciaal: wat is de waarde van getalswaarde na terugkeer uit de procedure aanroep? 1
2 1.2 Andere voorbeelden met recursie Hier volgt een recursieve uitwerking voor het als binair getal neerschrijven van een opgegeven decimale waarde. Aanroep van deze procedure met b.v. de decimale waarde 9 levert output ' 1001' op. program Recursief_Binair_Schrijven ; PROCEDURE Schrijf_Binair ( decimaalgetal : WORD ) ; IF decimaalgetal <= 1 THEN write ( decimaalgetal : 1 ) Schrijf_Binair ( decimaalgetal DIV 2 ) ; write ( decimaalgetal MOD 2 ) ; VAR decimale_waarde : INTEGER ; { declaratie van de globale variabele } write ( 'Tik positief geheel getal in: ') ; readln ( decimale_waarde ); {eventuele herhaling voor afdwingen positief getal} Schrijf_Binair ( decimale_waarde ) ; Voor de puzzelaars volgt hier nog een wat uitgebreider vraagstuk. Het is een aan Kernighan ontleende procedure itoc (Integer TO Character): program itoc_gebruik; PROCEDURE itoc ( getal : INTEGER ; VAR cijferstring : STRING ) ; { deze itoc converteert het getal getal naar een karakterstring in cijferstring } IF getal < 0 THEN cijferstring := - ; itoc ( -getal, cijferstring ) IF getal>=10 THEN itoc (getal DIV 10, cijferstring ) ; cijferstring := cijferstring + Chr( getal MOD 10 + Ord ( 0 ) ) ; { itoc_gebruik } VAR getalswaarde : INTEGER ; getalstekst : STRING; { program } write ( Tik getal in: ) ; readln( getalswaarde ) ; getalstekst := ; itoc ( getalswaarde, getalstekst ) ; write ( Na conversie naar tekst :, getalstekst, met lengte :, Length ( getalstekst )) Opdracht: ga na wat van dit programma de (totale!) uitvoer naar het beeldscherm is indien je het getal 123 als getalswaarde via het toetsenbord invoert. Opmerking tussendoor: De leesbare Ascii tekens lopen van 32 (de spatie) t/m 126 (de ~). De Ascii-codes 48 t/m 57 stellen de lettertekens 0 t/m 9 voor. De Ascii-codes 65 t/m 90 stellen de lettertekens A t/m Z voor. De Ascii-codes 97 t/m 122 stellen de lettertekens a t/m z voor. De resterende codes zijn allerlei leestekens en haakjes. 2
3 Opgave ( ter overpeinzing ): Een programmeur heeft (zie hierna) een recursieve routine geschreven om INTEGER-getallen als STRINGS te kunnen afdrukken (zie hierna). Helaas heeft hij een fout gemaakt. De routine werkt wel, maar doet niet precies wat er van verwacht wordt. Vraag: a. Beredeneer de uitvoer naar het scherm van de opdracht print_getal ( getal ). b. Herstel de fout die de programmeur gemaakt heeft. CONST cijferreeks : STRING = ; PROCEDURE print_cijfer ( cijf : INTEGER ) ; IF ( cijf < 0 ) OR ( cijf > 9 ) THEN write (? ) write ( cijferreeks [ cijf + 1 ] ) ; { print_cijfer } PROCEDURE print_getal (getal : INTEGER) ; IF getal < 0 THEN write ( - ) ; print_getal ( - getal ) IF getal < 10 THEN print_cijfer ( getal ) print_cijfer ( getal MOD 10 ) ; print_getal ( getal DIV 10 ) ; { print_getal } { program } print_getal (-1732) Een ander voorbeeld (dat al bij B1 ter sprake kwam) is: program recursie_voorbeeld; FUNCTION Head ( Woord : STRING ) : CHAR ; Head := Woord[1] ; FUNCTION Tail ( Zin : STRING ) : STRING ; Tail := copy ( Zin, 2, Length ( Zin ) - 1) ; {= alles behalve eerste teken} FUNCTION Vervang_Teken_In_Regel_Door ( Oudteken, Nieuwteken : CHAR; Regel: STRING ): STRING ; IF Regel = '' { d.w.z. de regel is leeg } THEN Vervang_Teken_In_Regel_Door := '' { resultaat: een lege string } IF Head ( Regel ) = Oudteken THEN Vervang_Teken_In_Regel_Door := NieuwTeken + Vervang_Teken_In_Regel_Door( Oudteken, Nieuwteken, Tail(Regel)) Vervang_Teken_In_Regel_Door := HEAD ( Regel ) + Vervang_Teken_In_Regel_Door( Oudteken, Nieuwteken, Tail(Regel)) ; writeln ( Vervang_Teken_In_Regel_Door ( 'l', 'k', 'lepelbak' ) ) Opdracht: ga na wat van dit programma de uitvoer naar het beeldscherm is. 3
4 1.3 Enkele moeilijkere constructies bij recursie We bespreken hier voorbeelden van enkele constructies, die we bij recursie kunnen tegenkomen: een recursieve functie/procedure die zichzelf meerdere malen aanroept het aanroepen van een recursieve procedure via een tussen-aanroep het gebruik van de FORWARD -declaratie Een klassiek voorbeeld: de torens van Hanoi Het klassieke probleem van de torens van Hanoi kwam bij de behandeling van recursie in de B1-cursus reeds ter sprake. We geven hier nogmaals de probleem-definitie en de oplossing. Merk op dat in die uitwerking de recursieve procedure Transporteer_Toren zichzelf twéémaal aanroept Probleemdefinitie: Voor een tempel in Hanoi staan drie zuilen; de eerste is gemaakt van koper, de tweede van zilver en de derde van goud. Om de koperen zuil bevinden zich honderd schijven. Van onder naar boven nemen de schijven steeds in doorsnede af. Een oude wijze monnik stelde zich de volgende taak: Verplaats de schijven van de koperen zuil naar de gouden zuil, schijf voor schijf door telkens de bovenste schijf van een zuil weg te nemen en op een andere zuil te plaatsen. Zorg ervoor dat nooit een grotere schijf op een kleinere terecht komt. Volgens de legende zou, als de monnik met zijn werk klaar was, het einde van de wereld daar zijn Probleemoplossing: Het probleem kan in drie stappen worden opgelost. 1) Transporteer de toren bestaande uit de bovenste 99 schijven van de koperen naar de zilveren zuil. 2) Verplaats de laatste, grootste, schijf van de koperen naar de gouden zuil. 3) Transporteer tot slot de toren van 99 schijven van de zilveren naar de gouden zuil. In dit recursievoorbeeld wordt het (recursief) aanroepen van een procedure vergeleken met het geven van een opdracht door een persoon (de oudere monnik) aan een ander (de minder oude leerling-monnik). PROGRAM Torens_van_Hanoi; TYPE Zuilen = ( Koperen, Gouden, Zilveren ); { enumerated TYPE } CONST NaamZuil: ARRAY[Zuilen] OF String[8] = ( koperen, gouden, zilveren ); PROCEDURE Verplaats_schijf (Schijfnummer:Integer; Bron, Doel : Zuilen); Writeln ( Verplaats schijf,schijfnummer:2, van de, NaamZuil [Bron], naar de, NaamZuil [ Doel ], zuil ) { Verplaats_schijf } ; PROCEDURE Transporteer_toren (Schijfnummer:Integer; Bron, Doel, Via : Zuilen); {verplaats schijf met Schijfnummer van de Bron(zuil) naar de Doel(zuil) met als tussenstation de Via(zuil)} IF Schijfnummer > 1 THEN Transporteer_toren ( Schijfnummer - 1, Bron, Via, Doel ); Verplaats_schijf ( Schijfnummer, Bron, Doel ); IF Schijfnummer > 1 THEN Transporteer_toren ( Schijfnummer - 1, Via, Doel, Bron ) {Transporteer_toren} ; Writeln ( De torens van Hanoi : ); Transporteer_toren ( 4, Koperen, Gouden, Zilveren ) Opdracht: ga voor jezelf na, wat de uitvoer van dit programma is. 4
5 1.3.2 Aanroepen van een recursieve procedure via een tussenaanroep Het is mogelijk om een recursieve procedure niet direct maar via een tussenstap aan te roepen. Zoiets kan bijvoorbeeld gebruikt worden om de leesbaarheid van een programmatekst te verbeteren; bijvoorbeeld als je wat extra parameters bij de recursieve aanroep wilt meegeven, terwijl je in eerste instantie niet zou verwachten dat dergelijke extra parameters nodig zijn. Een voorbeeld om dit te verduidelijken, gaat over een numeriek probleem: het (in dit hoofdstuk uiteraard: recursief) benaderend bepalen van de derde machtswortel van een reëel getal. Daarbij roept (zie hieronder) de eerst (vanuit het hoofdprogramma) aangeroepen procedure Derde_Machts_Wortel_van de echte benaderende procedure Wortel_3_Benadering op met een eerste benaderende waarde van 1.0. In die procedure Wortel_3_Benadering wordt steeds bepaald of het (absolute) verschil tussen het oorspronkelijke getal en de derde macht van die benaderde waarde voldoende klein is. Als die benadering nog niet voldoende nauwkeurig is, dan wordt een volgende (betere) benaderde waarde bepaald en het proces wordt recursief voortgezet. Bij dat steeds tussentijds bepalen van de derde macht van die benaderde waarde, maken we gebruik van een eveneens recursief geformuleerde functie Tot_de_Macht_N. program recursieve_benadering_derde_machts_wortel ; FUNCTION Tot_de_Macht_N ( getal : REAL ; macht : INTEGER ): REAL; {recursief} IF macht < 0 THEN Tot_de_Macht_N := 1 / Tot_de_Macht_N ( getal, - macht ) IF macht = 0 THEN Tot_de_Macht_N := 1.0 Tot_de_Macht_N := getal * Tot_de_Macht_N ( getal, macht - 1 ) ; FUNCTION Wortel_3_Benadering ( benadering, waarde, precisie : REAL ): REAL ; IF ( Abs (waarde - Tot_de_Macht_N ( benadering, 3 )) < Abs ( precisie )) THEN Wortel_3_Benadering := benadering Wortel_3_Benadering := Wortel_3_Benadering ( ( benadering + waarde /(benadering*benadering)) / 2, waarde, precisie ) ; FUNCTION Derde_Machts_Wortel_van ( waarde : REAL ) : REAL ; CONST precisie = ; Derde_Machts_Wortel_van := Wortel_3_Benadering ( 1.0, waarde, precisie ) ; VAR waarde, uitkomst : REAL ; { globale variabelen } { program } write ( 'Geef getal: ') ; readln ( waarde ) ; uitkomst := Derde_Machts_Wortel_van ( waarde ) ; writeln( 'De derde macht''s wortel van ', waarde:10:4,' is: ',uitkomst:10:5) We zien in dit voorbeeld, dat eerst op een natuurlijke manier een tussenfunctie aan geroepen wordt (immers: we verwachten, dat we inderdaad kunnen zeggen: geef me de derdemachtswortel van een getal. Die tussen - functie zorgt ervoor, dat de èchte recursieve functie Wortel_3_Benadering_van met 2 extra parameters wordt aangeroepen: een parameter, waarmee een initiële benaderde waarde (1.0) wordt meegegeven en een andere extra parameter, waarmee een precisie-wens wordt vastgelegd. Bij de functie Tot_de_Macht_N zien we trouwens, dat een van de parameterwaarden (namelijk die voor macht ) gebruikt wordt om de recursiediepte te bepalen. 5
6 1.3.3 Het gebruik van de FORWARD -declaratie Bij het gebruik van recursie kan het voorkomen, dat twee (of meer) recursieve procedures elkaar wederzijds aanroepen; bijvoorbeeld dat de procedures Doe_iets een procedure Doe_anders aanroept en dat daarna Doe_anders op haar beurt Doe_iets aanroept. We komen dan te staan voor het probleem, dat de compiler normaal gesproken vereist, dat Doe_iets al vóór Doe_anders gedeclareerd moet zijn, maar ook dat Doe_anders al vóór Doe_iets gedeclareerd is. Omdat dit een onmogelijk dilemma zou opleveren, is in Pascal het gebruik van een FORWARD -declaratie mogelijk: je kunt daarbij de normale kop (inclusief parameterlijst) van een procedure, laten volgen door het gereserveerde woord FORWARD, om aan te geven dat de verdere uitwerking van die procedure een stuk verderop zal komen. De compiler staat het ná zo n FORWARD -declaratie al toe, om de betreffende procedure al aan te roepen, nog vóórdat hij echt ingevuld is. 1.4 Practicumopdracht 1: over Recursieve algoritmen Hoofdlettergebruik in een zin Maak een recursief programma waarmee een (niet al te lange!; b.v. <= 20 tekens) ingetikte zin/regel, waarin slordig met hoofdletters is omgesprongen, omgezet wordt in een regel, die met een hoofdletter begint en waarbij in de rest van de regel alle hoofdletters door overeenkomstige kleine letters zijn vervangen. Voorbeeld: waar gaat DiT naar Toe? moet worden: Waar gaat dit naar toe? Hint: zoek op wat de TP-procedures Ord(..) en Chr(..) doen en gebruik ze in je programma Het Byte -gewijs recursief schrijven van een getal Maak een (eveneens recursieve) variant op het als voorbeeld gegeven programma waarmee een decimaal gegeven getal niet slechts als een binair getal (met nullen en énen) wordt afgedrukt, maar waarbij die uitvoer bovendien byte -gewijs wordt getoond. Daarmee wordt bedoeld, dat de uitvoer steeds uit één of meer groepjes van 8 bits moet bestaan. Zo moet het programma voor het getal 9 als output ' ' opleveren (dus: mèt leading zeros) en voor het getal 34567: ' ' Recursief de sinus -waarde van een hoek bepalen Het is misschien al lang geleden dat je voor het laatst iets hebt moeten doen met de sin (α) = a/c zogenaamde sinus van een hoek. In de meetkunde geldt voor een rechthoekige c driehoek, dat de sinus van een van de (niet -rechte) hoeken het quotiënt is van de a lengte van de tegenoverliggende rechthoekszijde en van de schuine zijde. Een paar (benaderde) waarden zijn: sin(0 o ) = 0 ; sin(30 o ) = 0,500 ; sin(45 o ) = 0,707 ; α sin(90 o ) = 1,000 en (meer abstract): sin(180 o ) = 0 en sin( -30 o ) = - 0,500. b Via de analyse, een aparte tak van sport in de wiskunde, is het mogelijk om voor de sinuswaarde van een hoek x de volgende b enaderende reeks -formule af te leiden: x **3 x **5 ( x **(2 * n + 1)) sin( x ) = x ( 1) ** n * 3! 5! (2* n + 1)! waarbij de dubbele sterretjes staan voor machtsverheffen (dus bijvoorbeeld: x**3 betekent x -tot-de-derdemacht) en het uitroepteken staat voor faculteit (waarvoor bijvoorbeeld geldt: 5! = 5*4*3*2*1 = 120). N.B. Platvloers, zonder gebruik te maken van de horizontale deelstrepen, kun je schrijven: sin (x) = x - x**3/3! + x**5/5! (-1)**n * (x**(2*n+1)/(2*n+1)! Je kunt de reeks zien als een kop -term, gevolgd door een staart -term, die ook weer een benaderende reeks is. In het Borland Pascal-systeem is een ingebouwde functie sin aanwezig, maar wij willen nu zelf een functie Sinus ontwerpen en implementeren, die [via aanroep van een recursieve vervolgfunctie] steeds verder e bijdragen (lees: breukwaarden) laat bepalen waarmee de sinus benaderd wordt. Zowel voor de aanroep van die ingebouwde sin- als onze eigen sinus-functie moeten we eerst de hoek-waardein-graden omrekenen naar radialen (cirkeldelen, waarbij een halve cirkel π radialen zijn). De waarde π is binnen Borland Pascal onder de constante-naam pi. De omrekening van graden naar radialen kan als volgt: Hoek_in_radialen = Hoek_in_graden * (π / 180 ) Zo geldt: 0 o = 0 radialen ; 30 o = π/6 radialen ; 90 o = π/2 radialen. Implementeer je functie eerst door hem een vast aantal termen van de reeks te laten meenemen in de berekening en verfijn je implementatie later door de recursie te stoppen als de termen te klein worden. 6
Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieTurbo Pascal (deel 1)
Turbo Pascal (deel 1) MSX CLUB MAGAZINE 34 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 Erik van Bilsen leert u het klappen van de Turbo Pascal zweep. Turbo Pascal toepassen Deze
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatie7 Omzetten van Recursieve naar Iteratieve Algoritmen
7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme
Nadere informatieEen korte samenvatting van enkele FORTRAN opdrachten
Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5
Nadere informatie10 Meer over functies
10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieProgrammeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/
Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,
Nadere informatie{ specificatie (contract) en toelichting }
Programmeren Blok B Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 7 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering &
Nadere informatieNumerieke benadering van vierkantwortels
HP Prime Grafische Rekenmachine Numerieke benadering van vierkantwortels Doel: De waarde van een vierkantswortel met een recursieve rij benaderen, het schrijven van een klein programma. Sleutelwoorden:
Nadere informatie{ specificatie (contract) en toelichting }
Programmeren Blok A Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software
Nadere informatieEen eenvoudig algoritme om permutaties te genereren
Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden
Nadere informatieWeek 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers
Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Hoofdstuk 6: Beslissingen: if-statement en switch-statement. Inleiding: Condities zijn waar (true) of onwaar (false) In C staat het int-getal
Nadere informatieTotaal
Programmeren Blok A Wat was het doel? http://www.win.tue.nl/ wstomv/edu/2ip05/ College 2 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology
Nadere informatieRekenen aan wortels Werkblad =
Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden
Nadere informatieGetallensystemen, verzamelingen en relaties
Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,
Nadere informatieAls een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.
HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een
Nadere informatieDeze stelling zegt dat je iedere rechthoekige driehoek kunt maken door drie vierkanten met de hoeken tegen elkaar aan te leggen.
Meetkunde Inleiding We beginnen met het doorlezen van alle theorie uit hoofdstuk 3 van het boek. Daar staan een aantal algemene regels goed uitgelegd. Waar je nog wat extra uitleg over nodig hebt, is de
Nadere informatieTrillingen en geluid wiskundig
Trillingen en geluid wiskundig 1 De sinus van een hoek 2 Radialen 3 Uitwijking van een harmonische trilling 4 Macht en logaritme 5 Geluidsniveau en amplitude 1 De sinus van een hoek Sinus van een hoek
Nadere informatie8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde Optellen: 5a + 3b + 2a + 6b = 7a + 9b 1) Alleen gelijksoortige
Nadere informatieRecursie: definitie. De som van de kwadraten van de getallen tussen m en n kan als volgt gedefinieerd worden:
Recursie: definitie Een object wordt recursief genoemd wanneer het partieel bestaat uit of partieel gedefinieerd is in termen van zichzelf. Recursie wordt gebruikt bij wiskundige definities, bijvoorbeeld:
Nadere informatiePascal uitgediept Data structuren
Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur
Nadere informatieOpgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Herkansingstentamen Algoritmiek voor Biologen
Opgave 1. (4 punten) Elk jaar verliest een boom al z'n bladeren. Een boom begint op dag D met B bladeren. Op de eerste dag is voor elk blad dat aan de boom zit de kans op afvallen 0.03. Voor elke volgende
Nadere informatieProefToelatingstoets Wiskunde B
Uitwerking ProefToelatingstoets Wiskunde B Hulpmiddelen :tentamenpapier,kladpapier, een eenvoudige rekenmachine (dus geen grafische of programmeerbare rekenmachine) De te bepalen punten per opgave staan
Nadere informatieProbleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ College 1 5 spelers,2 dobbelstenen Probleem met dobbelspel Per ronde werpt elke speler 1 Tom Verhoeff Technische Universiteit Eindhoven
Nadere informatiePROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd
Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,
Nadere informatieMethode: Verdeel en heers
Programmeren Blok B Thema: Complexiteit beteugelen http://www.win.tue.nl/ wstomv/edu/ip05/ College Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering
Nadere informatieCollege Notatie, Recursie, Lijsten
College 2016-2017 2. Notatie, Recursie, Lijsten Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Functieapplicatie functieapplicatie associeert naar links: als x in f x y moet kiezen
Nadere informatieOpmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ 5 spelers, 2 dobbelstenen Probleem met dobbelspel College 1 Per ronde werpt elke speler 1 Kees Hemerik Tom Verhoeff Technische Universiteit
Nadere informatie2.0 Voorkennis. Rekenregels machten: 5) a 0 = 1. p p q p q a p q q. p q pq p p p. Willem-Jan van der Zanden
2.0 Voorkennis Voorbeeld: (a + b) 2 = a 2 + 2ab + b 2 (a + b) 3 = (a +b)(a2 + 2ab + b2) = a 3 + 2a 2 b + ab 2 + a 2 b +2ab 2 + b 3 = a 3 + 3a 2 b + 3ab 2 + b 3 Rekenregels machten: p p q pq a pq 1) a a
Nadere informatiewiskunde B pilot havo 2015-II
wiskunde B pilot havo 05-II Veilig vliegen De minimale en de maximale snelheid waarmee een vliegtuig veilig kan vliegen, zijn onder andere afhankelijk van de vlieghoogte. Deze hoogte wordt vaak weergegeven
Nadere informatieWaarden persistent (blijvend) opslaan gaat in bestanden (files). Lege tekst: eof
Programmeren Blok A Persistente opslag van waarden http://www.win.tue.nl/ wstomv/edu/2ip05/ College 4 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering
Nadere informatieDe uitleg in dit moduul is gebaseerd op een CASIO rekenmachine fx-82ms. Voor de verschillen met de TI-30X II zie de bijlage achterin.
Rekenmachine 1. Rekenmachine De uitleg in dit moduul is gebaseerd op een CASIO rekenmachine fx-82ms. Voor de verschillen met de TI-30X II zie de bijlage achterin. Onze rekenmachine geeft het resultaat
Nadere informatieOpgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Tentamen Algoritmiek voor Biologen
Opgave 1. (4 punten) Elk jaar verliest een boom al z'n bladeren. Een boom begint op dag D met B bladeren. Op de eerste dag is voor elk blad dat aan de boom zit de kans op afvallen 0.03. Voor elke volgende
Nadere informatie8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde Optellen: 5a + 3b + 2a + 6b = 7a + 9b 1) Alleen gelijksoortige
Nadere informatieCombinatoriek groep 1 & 2: Recursie
Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie
Nadere informatie{ auteur, toelichting }
Programmeren Blok A Trilogie van (programmeer)talen http://www.win.tue.nl/ wstomv/edu/ip0/ College Syntaxis (vormleer): Hoe ziet t eruit, hoe schrijf je t? Tom Verhoeff Technische Universiteit Eindhoven
Nadere informatieUitwerkingen van de opgaven uit Pi
Uitwerkingen van de opgaven uit Pi Frits Beukers January 3, 2006 Opgave 2.3. Bedoeling van deze opgave is dat we alleen een schatting geven op grond van de gevonden tabel. Er worden geen bewijzen of precieze
Nadere informatie1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Nadere informatieVoorbereidend Wetenschappelijk Onderwijs Tijdvak 1 Woensdag 16 mei uur
Wiskunde B Profi (oude stijl) Eamen VWO Voorbereidend Wetenschappelijk Onderwijs Tijdvak Woensdag 6 mei 3.30 6.30 uur 20 0 Voor dit eamen zijn maimaal 9 punten te behalen; het eamen bestaat uit 7 vragen.
Nadere informatieBiljarten op een ellips. Lab kist voor 3-4 vwo
Biljarten op een ellips Lab kist voor 3-4 vwo Dit lespakket behoort bij het ellipsvormige biljart van de ITS Academy. Ontwerp: Pauline Vos, in opdracht van Its Academy Juni 2011 Leerdoelen: - kennismaken
Nadere informatieUitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)
Nadere informatie1.1 Rekenen met letters [1]
1.1 Rekenen met letters [1] Voorbeeld 1: Een kaars heeft een lengte van 30 centimeter. Per uur brand er 6 centimeter van de kaars op. Hieruit volgt de volgende woordformule: Lengte in cm = -6 aantal branduren
Nadere informatieAlgebra leren met deti-89
Algebra leren met deti-89 Werkgroep T 3 -symposium Leuven 24-25 augustus 2001 Doel Reflecteren op het leren van algebra in een computeralgebra-omgeving, en in het bijzonder op het omgaan met variabelen
Nadere informatieProgrammeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 8 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Verdelen
Nadere informatieTurbo Pascal deel 3 MSX CLUB MAGAZINE 36. Erik van Bilsen. Scanned, ocr ed and converted to PDF by HansO, 2001
Turbo Pascal deel 3 MSX CLUB MAGAZINE 36 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering van de cursus gaan we scrollen en wel smooth-scroll in maar liefst vier richtingen.
Nadere informatie44 De stelling van Pythagoras
44 De stelling van Pythagoras Verkennen Pythagoras Uitleg Je kunt nu lezen wat de stelling van Pythagoras is. In de applet kun je de twee rode punten verschuiven. Opgave 1 a) Verschuif in de applet punt
Nadere informatie10.0 Voorkennis. cos( ) = -cos( ) = -½ 3. [cos is x-coördinaat] sin( ) = -sin( ) = -½ 3. [sin is y-coördinaat] Willem-Jan van der Zanden
10.0 Voorkennis 5 1 6 6 cos( ) = -cos( ) = -½ 3 [cos is x-coördinaat] 5 1 3 3 sin( ) = -sin( ) = -½ 3 [sin is y-coördinaat] 1 Voorbeeld 1: Getekend is de lijn k: y = ½x 1. De richtingshoek α van de lijn
Nadere informatie1E HUISWERKOPDRACHT CONTINUE WISKUNDE
E HUISWERKOPDRACHT CONTINUE WISKUNDE Uiterste inleverdatum dinsdag oktober, voor het begin van het college N.B. Je moet de hele uitwerking opschrijven en niet alleen het antwoord geven. Je moet het huiswerk
Nadere informatieProgrammeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:
Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen
Nadere informatie9.1 Recursieve en directe formules [1]
9.1 Recursieve en directe formules [1] Voorbeeld: 8, 12, 16, 20, 24, is een getallenrij. De getallen in de rij zijn de termen. 8 is de eerste term (startwaarde, u 0 ) 12 is de tweede term (u 1 ) 24 is
Nadere informatieBlog-Het gebruik van variabelen in Excel VBA
Blog-Het gebruik van variabelen in Excel VBA Versie : 2012.01.31.1 (Blog http://www.reinder.eu) Dank voor de leuke reacties op het vorige blog en ook dank voor de kritische noot over het nivo dat de gebruiker
Nadere informatieII. ZELFGEDEFINIEERDE FUNCTIES
II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual
Nadere informatieUitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.
Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken
Nadere informatieFuncties. Huub de Beer. Eindhoven, 4 juni 2011
Functies Huub de Beer Eindhoven, 4 juni 2011 Functies: je kent ze al Je hebt al verschillende PHP functies gebruikt: pi() om het getal π uit te rekenen. sin( 0.453 ) om het de sinus van het getal 0.453
Nadere informatiepythagoras handleiding inhoudsopgave 1 de grote lijn 2 applets 3 bespreking per paragraaf 4 tijdsplan 5 materialen voor een klassengesprek pythagoras
inhoudsopgave 1 de grote lijn applets 3 bespreking per paragraaf 4 tijdsplan 5 materialen voor een klassengesprek 1 de grote lijn hoofdlijn de zijlijn De oppervlakte van rechthoekige driehoeken. Van een
Nadere informatieConstanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.
een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers
Nadere informatieHoofdstuk 5: Functies voor getallen en teksten
Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2001 Hoofdstuk 5: Functies voor getallen en teksten
Nadere informatieArrays in LOGO. In LOGO heeft de eerste item van de array standaard index 1.
Arrays in LOGO Een array Is één variabele die verschille items bevat. Iedere item heeft een waarde. De items staan in een bepaalde volgorde. Het is dus een rij van waarden. De positie van iedere item in
Nadere informatieUitwerking tentamen Algoritmiek 9 juli :00 13:00
Uitwerking tentamen Algoritmiek 9 juli 0 0:00 :00. (N,M)-game a. Toestanden: Een geheel getal g, waarvoor geldt g N én wie er aan de beurt is (Tristan of Isolde) b. c. Acties: Het noemen van een geheel
Nadere informatieExamen VWO. Wiskunde B Profi
Wiskunde B Profi Eamen VWO Voorbereidend Wetenschappelijk Onderwijs Tijdvak Donderdag 25 mei 3.30 6.30 uur 20 00 Dit eamen bestaat uit 7 vragen. Voor elk vraagnummer is aangegeven hoeveel punten met een
Nadere informatieHet warmteverlies van het lichaamsoppervlak aan de wordt gegeven door de volgende formule:
Opgave 1. (4 punten) Inleiding: Een vleermuis is een warmbloedig zoogdier. Dat wil zeggen dat hij zijn lichaamstemperatuur op een konstante waarde moet zien te houden. Als de omgeving kouder is dan de
Nadere informatieVergelijkingen met één onbekende
- 89 - Hoofdstuk 3: ergelijkingen met één onbekende Opgave boek pag 67 nr. 5: Los op in R a. 3 ( + ) 4 7.................. {... }... proef : 1 e lid :... e lid :... b. ( 3 ) + 7 5 ( )........................
Nadere informatieFaculteit Economie en Bedrijfskunde
Faculteit Economie en Bedrijfskunde Op dit voorblad vindt u belangrijke informatie omtrent het tentamen. Voordat u met het tentamen t: lees dit voorblad! Tentamen: V&O IV: Programmeren Tentamendatum &
Nadere informatieOEFENINGEN PYTHON REEKS 6
OEFENINGEN PYTHON REEKS 6 1. A) Schrijf een functie die een getal x en een getal y meekrijgt. De functie geeft de uitkomst van volgende bewerking als returnwaarde terug: x y x als x y x y y als x < y B)
Nadere informatieOPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.
Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven
Nadere informatieSmall Basic Console Uitwerking opdrachten
Opdracht 1 3 getallen => inlezen Gemiddelde uitrekenen Resultaat afdrukken TextWindow.WriteLine("Dit programma berekend het gemiddelde van drie door U in te voeren getallen.") TextWindow.Write("Voer getal
Nadere informatieLab Webdesign: Javascript 3 maart 2008
H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen
Nadere informatie5.1 Herleiden [1] Herhaling haakjes wegwerken: a(b + c) = ab + ac (a + b)(c + d) = ac + ad + bc + bd (ab) 2 = a 2 b 2
Herhaling haakjes wegwerken: a(b + c) = ab + ac (a + b)(c + d) = ac + ad + bc + bd (ab) = a b 5.1 Herleiden [1] Voorbeeld 1: (a + 5)(a 6) (a + 5)(-a + 7) = a 6a + 5a 30 ( a + 14a 5a + 35) = a 6a + 5a 30
Nadere informatie3. Lineaire vergelijkingen
3. Lineaire vergelijkingen Lineaire vergelijkingen De vergelijking 2x = 3 noemen we een eerstegraads- of lineaire vergelijking. De onbekende x komt er namelijk tot de eerste macht in voor. Een eerstegraads
Nadere informatieEindexamen wiskunde B1-2 vwo 2007-II
ier tappen ij het tappen van bier treden verschillen op in de hoeveelheid bier per glas. Uit onderzoek blijkt dat de hoeveelheid bier die per glas getapt wordt bij benadering normaal verdeeld is met een
Nadere informatieLab Webdesign: Javascript 25 februari 2008
H4: FUNCTIES We zullen in dit hoofdstuk zien hoe we functies moeten maken, aanroepen, argumenten doorgeven en waarden retourneren. Ook zullen we het hebben over het begrip "recursie", en laten zien hoe
Nadere informatieChecklist Wiskunde B HAVO HML
Checklist Wiskunde B HAVO 4 2014-2015 HML 1 Hoofdstuk 1 Lineaire vergelijkingen en lineaire ongelijkheden oplossen. Wanneer klapt het teken om? Haakjes en breuken wegwerken. Ontbinden in factoren: x buiten
Nadere informatie1 Recurrente betrekkingen
WIS1 1 1 Recurrente betrekkingen 1.1 De torens van Hanoi De torens van Hanoi Edouard Lucas, 1884: Gegeven 3 pinnen en 64 schijven van verschillende grootte. Startsituatie: 64 op linkerpin, geordend naar
Nadere informatieCursus Algoritmiek --- najaar 2005
Cursus Algoritmiek --- najaar 2005 Practicumopdracht 3 : communicatie tussen programma-onderdelen (vervolg), via call-by-value- versus call-by-reference-parameters, of via een functiewaarde Vooraf: a)
Nadere informatieCursus Algoritmiek - - - najaar 2005
Cursus Algoritmiek - - - najaar 2005 Practicumopdracht 4 : werken met kale gegevensbestanden 1. Achtergrond In de 2 e en de 3 e practicumopdracht heb je al kennis gemaakt met het via het toetsenbord laten
Nadere informatieExamen VWO. wiskunde B1,2. tijdvak 2 woensdag 20 juni uur. Bij dit examen hoort een uitwerkbijlage.
Eamen VW 007 tijdvak woensdag 0 juni 13.30-16.30 uur wiskunde 1, ij dit eamen hoort een uitwerkbijlage. Dit eamen bestaat uit 17 vragen. Voor dit eamen zijn maimaal 81 punten te behalen. Voor elk vraagnummer
Nadere informatieKleuren met getallen Afbeeldingen weergeven
Activiteit 2 Kleuren met getallen Afbeeldingen weergeven Samenvatting Computers slaan tekeningen, foto s en andere afbeeldingen op door het gebruik van getallen. De volgende opdracht laat zien hoe. Kerndoelen
Nadere informatie4.0 Voorkennis. 1) A B AB met A 0 en B 0 B B. Rekenregels voor wortels: Voorbeeld 1: Voorbeeld 2: Willem-Jan van der Zanden
4.0 Voorkennis Rekenregels voor wortels: 1) A B AB met A 0 en B 0 A A 2) met A 0 en B 0 B B Voorbeeld 1: 2 3 23 6 Voorbeeld 2: 9 9 3 3 3 1 4.0 Voorkennis Voorbeeld 3: 3 3 6 3 6 6 6 6 6 1 2 6 Let op: In
Nadere informatieVOORBLAD SCHRIFTELIJKE TOETSEN
Technology, Innovation & Society Delft VOORBLAD SCHRIFTELIJKE TOETSEN OPLEIDING TOETSCODE GROEP : ELEKTROTECHNIEK : GESPRG : EP11/EP12 TOETSDATUM : 07-02-2014 TIJD : 13.00 14.30 uur AANTAL PAGINA S (incl.
Nadere informatie5. Vergelijkingen. 5.1. Vergelijkingen met één variabele. 5.1.1. Oplossen van een lineaire vergelijking
5. Vergelijkingen 5.1. Vergelijkingen met één variabele 5.1.1. Oplossen van een lineaire vergelijking Probleem : We willen x oplossen uit de lineaire vergelijking p x+q=r met p. Maxima biedt daartoe in
Nadere informatieTHEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)
THEORIE TALSTELSELS De binaire code Het geheugenelement van de computer kan slechts twee verschillende waarden bevatten. De schakelingen uit de computer werken daarom met een tweetallig ofwel binair stelsel.
Nadere informatieCursus MSW-Logo. Def. Recursie: recursie is het oproepen van dezelfde functie of procedure binnen de functie of procedure
Hfdst 1: De schildpadwereld Recursie Cursus MSW-Logo Def. Recursie: recursie is het oproepen van dezelfde functie of procedure binnen de functie of procedure Regelmatige vierhoeken Voorbeeld in Logo: TO
Nadere informatieInformatica: C# WPO 11
Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo
Nadere informatieVariabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Nadere informatieHieronder zie je hoe dat gaat. Opgave 3. Tel het aantal routes in de volgende onvolledige roosters van linksboven naar rechtsonder.
Groepsopdracht 1: Volledige en onvolledige roosters Voor een volledig rooster kun je de driehoek van Pascal gebruiken om te weten te komen hoeveel routes er van A naar B zijn. Bij onvolledige roosters
Nadere informatieAchtste college algoritmiek. 8 april Dynamisch Programmeren
Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst
Nadere informatieBLOK 3 HOOFDSTUK 8 PARAGRAAF 2
BLOK 3 HOOFDSTUK 8 PARAGRAAF 2 4-BITS DEMOCOMPUTER IN 1000 STO R0 0000 opdracht tot opslaan 0000 waar moet het worden opgeslagen IN 1000 LD R1 0011 opdracht tot kopiëren 0000 welk adres moet gekopieerd
Nadere informatieEen diverse inhoud deze keer: aangepaste procedures voor GIOS, machinetaal, geheugenmanipulatie, BASIC-equivalenten en recursief programmeren.
Turbo Pascal deel 6 MSX Club Magazine 36 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 Een diverse inhoud deze keer: aangepaste procedures voor GIOS, machinetaal, geheugenmanipulatie,
Nadere informatiePracticumopdracht 8 : Recursief bomen tekenen en complexiteit van algoritmen
Cursus Algoritmiek - - - najaar 2005 Practicumopdracht 8 : Recursief bomen tekenen en complexiteit van algoritmen Ook deze opdracht is bedoeld voor 2 weken: 1 e week t/m deelopdracht 8.2 ; maak in de 2
Nadere informatieinleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur
1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele
Nadere informatieEen typisch programma in C en C++ bestaat uit een aantal onderdelen:
Eerste stappen in C. Een typisch programma in C en C++ bestaat uit een aantal onderdelen: /* Alles wat op meerdere lijnen staat zoals hier is commentaar. */ // Dit is commentaar op 1 lijn. Geldig tot einde
Nadere informatieDatastructuren Programmeeropdracht 3: Expressies. 1 Expressies. Deadline. Dinsdag 8 december 23:59.
Datastructuren 2015 Programmeeropdracht 3: Expressies Deadline. Dinsdag 8 december 23:59. Inleiding. Deze opdracht is losjes gebaseerd op Opdracht 5.13.2 in het boek van Drozdek. U wordt gevraagd expressies
Nadere informatie9 Meer over datatypen
9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,
Nadere informatieDocentenhandleiding havo deel 3 CB. Docentenhandleiding Netwerk 3e editie. deel 3B havo
Docentenhandleiding Netwerk 3e editie deel 3B havo 0 Hoofdstuk 7 Verschillende verbanden Beginniveau Al eerder hebben de leerlingen kennis gemaakt met lineaire, kwadratische en exponentiële verbanden.
Nadere informatieVierde college algoritmiek. 23/24 februari Complexiteit en Brute Force
Algoritmiek 2017/Complexiteit Vierde college algoritmiek 23/24 februari 2017 Complexiteit en Brute Force 1 Algoritmiek 2017/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:
Nadere informatieOEFENINGEN PYTHON REEKS 1
OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en
Nadere informatieToets Programmeren, 2YP05 op donderdag 13 november 2008, 09:00-12:00
Toets Programmeren, 2YP05 op donderdag 13 november 2008, 09:00-12:00 TU/e Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica (Na de toets gecorrigeerde versie) PROBLEEM: Sleutels Lees
Nadere informatie0. voorkennis. Periodieke verbanden. Bijzonder rechthoekige driehoeken en goniometrische verhoudingen
0. voorkennis Periodieke verbanden Bijzonder rechthoekige driehoeken en goniometrische verhoudingen Er zijn twee verschillende tekendriehoeken: de 45-45 -90 driehoek en de 30-0 -90 -driehoek. Kenmerken
Nadere informatie