Gedistribueerd Programmeren - Samenvatting

Maat: px
Weergave met pagina beginnen:

Download "Gedistribueerd Programmeren - Samenvatting"

Transcriptie

1 Gedistribueerd Programmeren - Samenvatting Geertjan van Vliet Disclaimer: Aan deze teksten kunnen geen rechten ontleend worden. Bepaalde passages zijn de visie van de auteur en niet die van de docent. Copyright: Een groot gedeelte van de tekst is min of meer letterlijk overgenomen uit het dictaat Gedistribueerd Programmeren van Gerard Tel. Alle rechten tot vermenigvuldiging liggen bij hem. 1 Hoofdstuk 7 Computerprogramma s moeten robuust worden uitgevoerd, zodat uitval van componenten niet leidt tot dramatische gevolgen. Als threads worden getermineerd door het operating system, dan moeten de overige threads dit goed kunnen opvangen. (bijvoorbeeld goed afsluiten, of de fout detecteren) Een thread die net een semafoor heeft en vervolgens crasht in de kritieke sectie kan de andere threads blokkeren. Een oplossing hiervoor die bijna werkte was een soort van try-catch blok. Als een thread dan crasht dan zal het catch(exception) gedeelte de semafoor weer vrijgeven. Dit werkte echter niet omdat het ook mis kan gaan vlak voor het try-statement. Een try rond het pakken (s.p) zetten werkt ook niet, omdat het kan zijn dat s.p crasht zonder de semafoor te pakken, en dan laat het catch blok wel een s.v gaan. Er zijn diverse soorten storingen mogelijk: 1. crashen 2. omissie : overslaan van instructies 3. onjuiste waarde in geheugen of berichten: Byzantijns falen GDP richt zich op crashes die zich elk moment kunnen voordoen. Voorlopig gaan we ervan uit dat het OS geen mededelingen kan doen over gecrashte threads aan hun collega s. 1

2 1.1 Beslisproblemen Een correct proces crash niet. Bij beslisproblemen moet elk correct proces (dat niet crasht) een uitvoer genereren en voldoen aan voorgangs-, consistentie- en niet-trivialiteitseisen De voortgangs-eis vraagt dat alle correcte processen uiteindelijk iets berekenen. Er zijn drie vormen 1. Deterministische terminatie 2. Probabilistische terminatie (convergentie) 3. Impliciete terminatie (stabilisatie) Deterministische terminatie Er wordt door ieder correct proces een beslissing en schrijft deze beslissing exact éénmaal naar de uitvoervariabele. Probabilistische terminatie De kans dat elk correct proces een beslissing neemt (en dus éénmaal naar de uitvoervariabele schrijf) is 1. Impliciete terminatie Beslissing zijn herroepbaar en de uitvoervariabele wordt telkens verandert. De berekening van elk algoritme is echter eindig en uiteindelijk stabiliseert de beslissing dus. Voorbeelden van beslisproblemen zijn: commit/abort of consensus - alle beslissingen zijn gelijk en electie - een proces beslist op leider en de rest op niet-leider. Niet-trivialiteit : Aan een programma dat altijd dezelfde waarde teruggeeft, onafhankelijk van de invoer is triviaal en niet nuttig te gebruiken. Formeel: Niet-trivialiteit Er is een executie waarin op 0 wordt beslist en een executie waarin op 1 wordt beslist 1.2 Voorbeeld: flexibele electie Er is een situatie waarin een set processen in staat zijn een beslisprobleem robuust uit te voeren. 1. De n gestarte processen zijn volledig verbonden en kunnen dus naar iedereen berichten sturen. 2. Er crashen maximaal t processen. De variabele t is de veiligheidsparameter, die aangeeft hoeveel crashes het programma aankan. 3. Als n klein is dan roept iedereen naar iedereen. 4. Na het roepen ( shouten ) wacht het proces op shouts van n t processen, voor tolerantie van t crashes. 5. Omdat processen mogelijk berichten hebben gehoord van gecrashte processen en andere processen niet, hebben de processen niet allemaal dezelfde informatie. Dit kan leiden tot interpretatieproblemen. 2

3 Vanwege puntje 5 hierboven is zijn de eisen voor electie verzwakt tot flexibele electie: Het aantal leider beslissingen is tenminste 1 en ten hoogste 1 + 2t. Daarnaast is er nog terminatie : In elke executie waar hoogstens t processen crashen beslist elk correct proces op leider of niet-leider. Worden er meerdere ronden uitgevoerd, dan moeten de berichten onderscheidbaar zijn per ronde, omdat er altijd berichten van een vorige ronde kunnen achterblijven in de INBOX, als gevolg van de robuustheid. Een ontvanger deamon moet actief blijven en alle messages die nog bij een vorige ronde horen weggooien. 1.3 Consensus-algoritmen (7.2) Bij een consensus probleem geldt de volgende eis: Overeenstemming: Alle genomen beslissingen zijn gelijk. Voor ieder probleem wordt een terminatie-eis gespecificeerd en wat dan die gemeenschappelijke beslissing kan of moet zijn. Electie is geen consensus-probleem omdat er juist maar één proces leider mag worden en de rest niet-leider. Is een kloksynchronisatie nu wel of geen consensus-probleem? Dat hangt ervan af of er sprake is van exacte synchronisatie. In dat geval is het wel en consensus-probleem, maar dit probleem blijkt onoplosbaar (?) Een (triviaal) programma dat voldoet aan overeenstemming en terminatie is decide(0) De volgende oplossing maakt gebruik van twee servers die hun waarden geven aan al de clients. De clients wachtn op een bericht. Als een van de servers crasht dan komt een waarde toch nog aan en beslissen alle clienten hetzelfde als de server. De twee servers moeten wel a priori overeenstemming hebben, dus niet alle invoercombinaties zijn toegestaan. Er wordt dan dus aan overeenstemming voldaan. Een client termineert als hij een bericht heeft gekregen. Er is dus ook sprake van terminatie zolang niet beide servers crashen. Nu kunnen we ook een zwakke broadcast proberen. Hierbij komt ieder proces de invoer van hetzelfde serverproces te weten. Er wordt een eis toegevoegd: Broadcast: Als de server niet crasht, is elke uitvoer gelijk aan de invoer x van de server. In het broadcast algoritme zal iedere client de waarde doorsturen naar iedere andere client. Zolang een client niks ontvangt blijft de uitvoer hangen op nul en als dus de invoer van de server nul is, zal de server de uitvoer op nul zetten en niets sturen. Als een correct proces (niet-crashend) aan het eind een 1 geeft, dan hebben gegarandeerd alle andere correcte processen ook een 1 als 3

4 uitvoer. Er is dus overeenstemming. Er is sprake van implicitie terminatie, dwz stabilisatie. Maar in het geval dat de invoer van het algoritme nul is (via de server) dan wordt er geen beslissing genomen door de processen, want ze blijven hangen op nul en wachten om op 1 te gaan. Er is dus geen terminatie. Een oplossing hiervoor is de sterke broadcast. Hierbij wordt met timeouts gewerkt. Daarvoor moet eerst berekend worden hoelang het maximaal kan duren voordat een bericht met een 1 door iedere client ontvangen is. Deze berekening is niet eenvoudig. 1.4 Stelling van Fischer, Lynch en Paterson Even ter herhaling: Niet-trivialiteit Er is een executie waarin op 0 wordt beslist en een executie waarin op 1 wordt beslist Het gaat hier om verschillende executies, want binnen een executie zijn de uitvoeren allemaal gelijk wegens overeenstemming. Hoe maken we een programma dat asynchroon, terminerend en niet-triviaal is en dat alle invoercombinaties (zie replicate servers) aankan. Fischer, Lynch en Paterson hebben aangetoond dat dit niet kan. Hun stelling is Stelling FLP,1985 Er bestaat geen asynchroon, deterministisch 1-crash robuust consensus protocol Hun bewijs bevat de redenering dat mocht er zo n programma bestaan, noem deze P, dat er een oneindig aantal stappen te verzinnen is binnen zo n programma waarbij er bij elke stap van P nog een proces is dat kan besluiten tot 1 en nog een proces dat kan besluiten tot 0. Er wordt dus niet besloten en dat is in strijd met terminatie Het maken van een model voor een bewijs Een model moet precies en kort de relevante eigenschappen van een klasse van computersystemen beschrijven. Het model wat voor het bewijs van FLP gebruikt wordt is het volgende [letterlijk uit dictaat, newlines toegevoegd] : Een protocol bestaat uit n 2 processen, die elk (o.a.) een input register x p en een output register y p hebben. De waarde van y p is 0, 1 of b en dit register mag slechts éénmaal geschreven worden (wanneer proces p beslist). Een configuratie van het protocol bestaat uit de locale toestand van elk proces en de berichtenverzameling van alle berichten, die in de configuratie onderweg zijn. Voor elk bericht is er slechts één proces, dat dit bericht kan ontvangen. In een 4

5 initiële configuratie zijn alle y p gelijk aan b, en er zijn geen berichten onderweg. Een initiële configuratie is volledig vastegelegd door de waarden van de x p registers. 5

ling van die eigenschap binnen het model geldt. In het bijzonder bij het wiskundig modelleren van een programma kan een eigenschap met wiskundige zeke

ling van die eigenschap binnen het model geldt. In het bijzonder bij het wiskundig modelleren van een programma kan een eigenschap met wiskundige zeke De Nederlandse samenvatting van een proefschrift is bij uitstek het onderdeel van het proefschrift dat door familie en vrienden wordt gelezen. Voor hen wil ik deze samenvatting dan ook schrijven als een

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 Algemene opmerkingen (lees dit!): - Dit tentamen duurt ANDERHALF UUR! - Dit

Nadere informatie

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A. Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:

Nadere informatie

Een computerprogramma is opgebouwd uit een aantal instructies die op elkaar volgen en die normaal na elkaar uitgevoerd worden.

Een computerprogramma is opgebouwd uit een aantal instructies die op elkaar volgen en die normaal na elkaar uitgevoerd worden. 2 Programmeren 2.1 Computerprogramma s Een computerprogramma is opgebouwd uit een aantal instructies die op elkaar volgen en die normaal na elkaar uitgevoerd worden. (=sequentie) Niet alle instructies

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

Nadere informatie

Computerarchitectuur en netwerken. Gedistribueerde IPC

Computerarchitectuur en netwerken. Gedistribueerde IPC Computerarchitectuur en netwerken 6 Gedistribueerde IPC Lennart Herlaar 21 september 2015 Inhoud IPC: locaal vs. gedistribueerd Message passing Client/server model Remote Procedure Call locaal vs. gedistribueerd

Nadere informatie

Gedistribueerd programmeren

Gedistribueerd programmeren Gedistribueerd programmeren Gedistribueerd programmeren Collegedictaat, september 2007 Gerard Tel Email: [email protected] Instituut voor Informatica en Informatiekunde Universiteit Utrecht Opmaak: Gerard

Nadere informatie

Eerste Toets Concurrency 20 december 2018, , Educ-β.

Eerste Toets Concurrency 20 december 2018, , Educ-β. Eerste Toets Concurrency 20 december 2018, 11.00 13.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert

Nadere informatie

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Kijk het huiswerk van je collega s na en schrijf de namen van de nakijkers linksboven en het totaalcijfer rechts onder de namen

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

Sequentiële Logica. Processoren 24 november 2014

Sequentiële Logica. Processoren 24 november 2014 Sequentiële Logica Processoren 24 november 2014 Inhoud Eindige automaten Schakelingen met geheugen Realisatie van eindige automaten Registers, schuifregisters, tellers, etc. Geheugen Herinnering van week

Nadere informatie

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht

Nadere informatie

Lineaire algebra I (wiskundigen)

Lineaire algebra I (wiskundigen) Lineaire algebra I (wiskundigen) Toets, donderdag 22 oktober, 2009 Oplossingen (1) Zij V het vlak in R 3 door de punten P 1 = (1, 2, 1), P 2 = (0, 1, 1) en P 3 = ( 1, 1, 3). (a) Geef een parametrisatie

Nadere informatie

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA? Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal

Nadere informatie

De enveloppenparadox

De enveloppenparadox De enveloppenparadox Mats Vermeeren Berlin Mathematical School) 6 april 013 1 Inleiding Een spel gaat als volgt. Je krijgt twee identiek uitziende enveloppen aangeboden, waarvan je er één moet kiezen.

Nadere informatie

Computerarchitectuur en netwerken Toets 1 4 okt

Computerarchitectuur en netwerken Toets 1 4 okt 11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer

Nadere informatie

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen. Uitwerking Puzzel 92-7 Allemaal gelijk? Wobien Doyer Lieke de Rooij Er zijn veel puzzels over het opsporen van één valse munt tussen een aantal goede munten met hulp van een balans. Bij deze puzzel is

Nadere informatie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie Lineaire Algebra, tentamen Uitwerkingen vrijdag 4 januari 0, 9 uur Gebruik van een formuleblad of rekenmachine is niet toegestaan. De

Nadere informatie

Quarantainenet Log Forwarder

Quarantainenet Log Forwarder Quarantainenet Log Forwarder Versie Opmerkingen 2.0 Initiële versie voor versie 2.0.0.0 Disclaimer Tesorion biedt deze documentatie aan ter ondersteuning van de taken die u binnen het implementatietraject

Nadere informatie

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal. 4. Array s Een array is een geïndexeerde variabele. Deze zin zal de nodig vragen oproepen, waarop enige uitleg van toepassing is. Met variabelen hebben we al kennis gemaakt. In een variabele kun je iets

Nadere informatie

TI-2720 Operating System Concepten. 21 januari 2013, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen

TI-2720 Operating System Concepten. 21 januari 2013, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen TECHNISCHE UNIVERSITEIT DELFT Faculteit EWI, Afdeling SCT Sectie Parallelle en Gedistribueerde Systemen Ty Delft TI-2720 Operating System Concepten 21 januari 2013, 14.00-17.00 uur. docent: H.J. Sips Dit

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

Nadere informatie

TRILLINGEN EN GOLVEN HANDOUT FOURIER

TRILLINGEN EN GOLVEN HANDOUT FOURIER TRILLINGEN EN GOLVEN HANDOUT FOURIER Cursusjaar 2009 / 2010 2 Inhoudsopgave 1 FOURIERANALYSE 5 1.1 INLEIDING............................... 5 1.2 FOURIERREEKSEN.......................... 5 1.3 CONSEQUENTIES

Nadere informatie

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

Benaderingsalgoritmen

Benaderingsalgoritmen Benaderingsalgoritmen Eerste hulp bij NP-moeilijkheid 1 Herhaling NP-volledigheid (1) NP: er is een polynomiaal certificaat voor jainstanties dat in polynomiale tijd te controleren is Een probleem A is

Nadere informatie

Small Basic Programmeren Text Console 2

Small Basic Programmeren Text Console 2 Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:

Nadere informatie

c, X/X a, c/λ a, X/aX b, X/X

c, X/X a, c/λ a, X/aX b, X/X ANTWOORDEN tentamen FUNDAMENTELE INFORMATICA 3 vrijdag 25 januari 2008, 10.00-13.00 uur Opgave 1 L = {x {a,b,c} n a (x) n b (x)} {x {a,b,c} n a (x) n c (x)}. a. Een stapelautomaat die L accepteert: Λ,

Nadere informatie

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden

Nadere informatie

1. Programmeerblokken

1. Programmeerblokken 1. Programmeerblokken In Scratch bouw je het programma op aan de hand van programmeerblokken. Er zijn acht verschillende categorieën om programmeerblokken in terug te vinden. Je vindt op de volgende bladzijden

Nadere informatie

computerarchitectuur antwoorden

computerarchitectuur antwoorden 2017 computerarchitectuur antwoorden F. Vonk versie 1 2-8-2017 inhoudsopgave hardware... - 3 - CPU... - 3 - bussen... - 4 - bridges... - 4 - RAM... - 4 - hardware architectuur... - 5 - Dit werk is gelicenseerd

Nadere informatie

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Inleiding Jeroen Keiren [email protected] VU University Amsterdam Materiaal Peter Linz An Introduction to Formal Languages and Automata (5th edition) Jones and Bartlett

Nadere informatie

Blokmatrices. , I 21 = ( 0 0 ) en I 22 = 1.

Blokmatrices. , I 21 = ( 0 0 ) en I 22 = 1. Blokmatrices Soms kan het handig zijn een matrix in zogenaamde blokken op te delen, vooral als sommige van deze blokken uit louter nullen bestaan Berekeningen kunnen hierdoor soms aanzienlijk worden vereenvoudigd

Nadere informatie

Semaforen. Semaforen p. 1/2

Semaforen. Semaforen p. 1/2 Semaforen 2008 Semaforen p. 1/2 Vorige Keer mbv mutual exclusion kritieke sectie (cs) 1. software : Dekker s, Peterson s algoritme 2. hardware: uniprocessor machine: disable interrupts 3. hardware: multiprocessor

Nadere informatie

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen. Leerlijn programmeren In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen. Deze leerlijn is opgebouwd aan de

Nadere informatie

1.1 Rekenen met letters [1]

1.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 informatie

Het warmteverlies van het lichaamsoppervlak aan de wordt gegeven door de volgende formule:

Het 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 informatie

Labo IDP. In dit labo gaan we IDP gebruiken voor het analyseren van logische circuits. XOR Q AND. Figuur 1: Een logisch circuit.

Labo IDP. In dit labo gaan we IDP gebruiken voor het analyseren van logische circuits. XOR Q AND. Figuur 1: Een logisch circuit. Labo IDP In dit labo gaan we IDP gebruiken voor het analyseren van logische circuits. K L A XOR N B XOR P M D AND Q AND C O OR E R R Tuesday 15 December 2009 Figuur 1: Een logisch circuit. Veronderstel

Nadere informatie

VBA voor doe het Zelvers deel 22. Handleiding van Helpmij.nl. Auteur: leofact

VBA voor doe het Zelvers deel 22. Handleiding van Helpmij.nl. Auteur: leofact VBA voor doe het Zelvers deel 22 Handleiding van Helpmij.nl Auteur: leofact december 2015 Vorige aflevering In de vorige aflevering werden de regular expressions behandeld. Voor VBA zijn deze beschikbaar

Nadere informatie

Uitwerkingen oefenopdrachten or

Uitwerkingen oefenopdrachten or Uitwerkingen oefenopdrachten or Marc Bremer August 10, 2009 Uitwerkingen bijeenkomst 1 Contact Dit document is samengesteld door onderwijsbureau Bijles en Training. Wij zijn DE expert op het gebied van

Nadere informatie

Analyse probleem remote execution

Analyse probleem remote execution Analyse probleem remote execution Karel Nijs 2005-09-28 1.1 Beschrijving van het project De bedoeling van de GUI is een gemakkelijke uitvoering van verschillende checks van ICs. De GUI moet in Tcl/Tk ontworpen

Nadere informatie

g. Je kan nu door op de play knop te drukken je programma versturen naar de EV3 brick waarna het zal uitgevoerd worden.

g. Je kan nu door op de play knop te drukken je programma versturen naar de EV3 brick waarna het zal uitgevoerd worden. EV3 brick verbinden via bluetooth. 1) Alvorens de LEGO software op te starten kijk je het best of bluetooth op je PC is geactiveerd. Vooral bij laptops schakelt men deze functie vaak uit om batterij te

Nadere informatie

Quarantainenet Log Forwarder

Quarantainenet Log Forwarder A : Auke Vleerstraat 6D (vloer 4) I : www.quarantainenet.nl 7521 PG Enschede E : [email protected] T : 053-7503070 B : Rabobank 31.72.86.714 F : 053-7503071 KvK : 08135536 Quarantainenet Log Forwarder

Nadere informatie

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te

Nadere informatie

Opgave 2. Binaire informatie

Opgave 2. Binaire informatie Opgave 2. Binaire informatie In deze opgave krijgt je programma telkens als invoer een vierkant rooster dat eigenlijk is gevuld met uitsluitend nullen en enen. Van een deel van de cellen is (nog) niet

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen 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 informatie

PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011

PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011 PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011 Familienaam:....................................................................... Voornaam:.........................................................................

Nadere informatie

Getalformaten, timers en tellers

Getalformaten, timers en tellers Getalformaten, timers en tellers S_CU CU S PV R CV DEZ CV_BCD S_ODT S TV BI R BCD 1 pagina 1 Getalformaten (16 bits) PG CPU BCD W#16#296 Voorteken (+) 2 9 6 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 Positieve getallen

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

Functioneel programmeren

Functioneel programmeren Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen [email protected] en [email protected]

Nadere informatie

Nascholing voor leerlingen. Software-ontwikkeling met behulp van Lego Mindstorms

Nascholing voor leerlingen. Software-ontwikkeling met behulp van Lego Mindstorms Nascholing voor leerlingen Software-ontwikkeling met behulp van Lego Mindstorms Lego Mindstorms Hardware - RCX (programmeerbare legosteen) - Sensoren - Motoren Software - Robotics Invention System 2.0

Nadere informatie

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

OPDRACHT 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 informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017 Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.

Nadere informatie

Lineaire algebra 1 najaar Lineaire codes

Lineaire algebra 1 najaar Lineaire codes Lineaire algebra 1 najaar 2008 Lineaire codes Bij het versturen van digitale informatie worden in principe ketens van bits verstuurd die de waarde 0 of 1 kunnen hebben. Omdat de transmissiekanalen door

Nadere informatie

3. Geef hier uw gebruikersnaam en wachtwoord in

3. Geef hier uw gebruikersnaam en wachtwoord in Installeren applicaties 1. Open Safari 2. Ga naar macwerkplek.advo.nl 3. Geef hier uw gebruikersnaam en wachtwoord in ([email protected]). 4. Wanneer u op Log on klikt, krijgt u onderstaand

Nadere informatie

MARKOV KETENS, OF: WAT IS DE KANS DAT MEVROUW DE VRIES NAT ZAL WORDEN?

MARKOV KETENS, OF: WAT IS DE KANS DAT MEVROUW DE VRIES NAT ZAL WORDEN? MARKOV KETENS, OF: WAT IS DE KANS DAT MEVROUW DE VRIES NAT ZAL WORDEN? KARMA DAJANI In deze lezing gaan we over een bijzonder model in kansrekening spreken Maar eerst een paar woorden vooraf Wat doen we

Nadere informatie

Pythoncursus. week 2. cs.ru.nl/pythoncursus

Pythoncursus. week 2. cs.ru.nl/pythoncursus Pythoncursus week 2 Algoritmes Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leiden. - Wikipedia Een probleem stapsgewijs oplossen While-loops

Nadere informatie

Enkele valkuilen om te vermijden

Enkele valkuilen om te vermijden Enkele valkuilen om te vermijden Dit document is bedoeld om per onderwerp enkele nuttige strategieën voor opgaven te geven. Ook wordt er op een aantal veelgemaakte fouten gewezen. Het is géén volledige

Nadere informatie

Polynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2

Polynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2 Lesbrief 3 Polynomen 1 Polynomen van één variabele Elke functie van de vorm P () = a n n + a n 1 n 1 + + a 1 + a 0, (a n 0), heet een polynoom of veelterm in de variabele. Het getal n heet de graad van

Nadere informatie

Algoritmen en programmeren: deel 2 - basis

Algoritmen en programmeren: deel 2 - basis Algoritmen en programmeren: deel 2 - basis Ruud van Damme Creation date: 25 april 2005 Update: 16 november 2006, 9 september 2007 Overzicht 1 Basisbenodigdheden voor alle problemen 2 Alles in stukjes op

Nadere informatie

opgaven formele structuren deterministische eindige automaten

opgaven formele structuren deterministische eindige automaten opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor

Nadere informatie

1 Inleiding probleembeschrijving

1 Inleiding probleembeschrijving Bas Weelinck (5985498), Merlijn Wajer (5948940), Koos van Strien (5783437) 18 mei 2010 1 Inleiding probleembeschrijving Volgens de specificaties gegeven in het opdrachtdocument moet een gedistribueerde

Nadere informatie

Software Test Document

Software Test Document Software Test Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

Universiteit Utrecht Departement Informatica

Universiteit Utrecht Departement Informatica Universiteit Utrecht Departement Informatica Uitwerking Tussentoets Optimalisering 20 december 206 Opgave. Beschouw het volgende lineair programmeringsprobleem: (P) Minimaliseer z = x 2x 2 + x 3 2x 4 o.v.

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als 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 informatie

Opdrachtformulering (pagina 3 van 7)

Opdrachtformulering (pagina 3 van 7) Afstudeerovereenkomst van Tim Wils Bijlage 1 Opdrachtformulering (pagina 3 van 7) Dit project betreft een eigen framework (soort API) waarmee relatief gemakkelijk en in korte tijd eindproducten opgezet

Nadere informatie

MMSE. F. Visuo-constructief vermogen TOTAAL MMSE:../ 30

MMSE. F. Visuo-constructief vermogen TOTAAL MMSE:../ 30 MMSE A. Oriëntatie en korte termijn geheugen 1. In welk jaar leven we? (Alleen correct jaar = OK.) 1. O fout O juist 2. Welk seizoen is het nu? (In de laatste week van oud seizoen en eerste week van nieuw

Nadere informatie