Gedistribueerd Programmeren - Samenvatting
|
|
|
- Dina van der Zee
- 9 jaren geleden
- Aantal bezoeken:
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
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
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
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
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:
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
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............................
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
Gedistribueerd programmeren
Gedistribueerd programmeren Gedistribueerd programmeren Collegedictaat, september 2007 Gerard Tel Email: [email protected] Instituut voor Informatica en Informatiekunde Universiteit Utrecht Opmaak: Gerard
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
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
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
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
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
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
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
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φ
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
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.
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
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
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
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
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
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
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
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
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
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
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:
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: Λ,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011
PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011 Familienaam:....................................................................... Voornaam:.........................................................................
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
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
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
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
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]
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
