Programma-dossier WordStore
|
|
- Tania Dijkstra
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 IC2DA S.B. Bosch C Programmeren Programma-dossier WordStore Het ontwerpen en programmeren van de library WordStore.h
2
3 Ontvangen probleemstelling Voorwoord Opgave Er werd van ons verwacht een eigen versie van de module WordStore te te ontwikkelen in ANSI-C die weer gebruikt kan worden voor algemene doeleinden. Voor deze module is de header file gegeven. De module moet intern gebruik maken van een cylische dubbel gelinkte lijst. Ook de ander leerstof die aan bod is gekomen in de les komt terug in de functies, zoals functies die gebruik maken van call by value en call by reference, pointers, dynamisch geheugen vrij maken en geheugen weer vrijgeven. Voor het uitwerken van de oefening was ik verplicht me te houden aan de opgegeven randvoorwaarden. De header file van WordStore.h moest precies op deze manier geimplementeerd worden en de beschrijving van de eindopdracht moest gevolgd worden.
4 Werkplan Programmaspecificaties De module moet voldoen aan de volgende specificatie: *********************************** * * * File: WORDSTORE.H * * Author: F.H.J. Feldbrugge * * Version: 1.0 * * Date: Aug 12, 2001 * * * *********************************** #ifndef WORDSTORE_H #define WORDSTORE_H #include "Boolean.h" #define MAXLEN_WORD 20 ** WordStore can be seen as a circular list of words. ** There is a virtual pointer, dubbed Current Word, which points to ** one of the words in the list (if the list is non-empty). void WordStore_Clear (void); ** Removes all words from WordStore. ** pre: - ** post: WordStore_NrWords == 0 Boolean WordStore_FileRead (char sfilename[]); ** Reads all non-empty words from the file with name sfilename and ** inserts these words to WordStore (see function WordStore_WordInsert ** for a description of how a word is inserted). ** pre: sfilename contains syntactically valid file name. ** post: WordStore_FileRead (f) == TRUE ** ==> all words of file added to WordStore. Boolean WordStore_FileWrite (char sfilename[]); ** Writes all words (from the Current Word onwards) to a file with ** name sfilename. If the file could not be opened or created, ** the value FALSE is returned, TRUE otherwise. ** pre: sfilename contains syntactically valid file name. ** post: WordStore_FileWrite (f) == TRUE ** ==> File contains all words of WordStore. void WordStore_MoveBackward (void); ** Moves the Current Word pointer to the previous word in WordStore. ** pre: - ** post: Current Word moved one position backward. void WordStore_MoveForward (void); ** Moves the Current Word pointer to the next word in WordStore. ** pre: - ** post: Current Word moved one position forward.
5 void WordStore_MoveRandom (void); ** Moves Current Word to random word. ** pre: - ** post: If WordStore is not empty, Current Word is randomly ** selected word. int WordStore_NrWords (void); ** Returns the number of words in WordStore. ** pre: - ** post: WordStore_NrWords () == number of words in WordStore void WordStore_Sort (void); ** Sorts all words in WordStore in ascending order and locates ** the Current Word on the lowest word. ** pre: - ** post: Words sorted and Current Word is lowest word. char *WordStore_WordDelete (void); ** Returns Current Word to caller, deletes the word from WordStore ** and selects the next word to be the Current Word. ** If WordStore was empty, NULL is returned. ** pre: - ** post: If WordStore_WordDelete () == NULL ** then WordStore is empty ** else WordStore_WordDelete () == pointer to former Current Word ** and former Current Word deleted from WordStore ** and next word in WordStore is new Current Word void WordStore_WordInsert (char *pcword); ** Inserts word, pointed to by pcword, to WordStore at the position ** after the Current Word. Afterwards the newly inserted word becomes ** the Current Word. ** Note that the pointer pcword is stored; the ** word is not copied to newly allocated memory space! ** pre: Sufficient heap space available. ** post: pcword inserted at position of Current Word. char *WordStore_WordRead (void); ** Returns Current Word to caller (without deleting the word ** from WordStore). ** If WordStore was empty, NULL is returned. ** pre: ** post: If WordStore_WordRead () == NULL ** then WordStore is empty ** else WordStore_WordRead () == pointer to Current Word #endif
6 Toepassingslayout Er is geen sprake van een toepassing, maar van een module, dus het is aleen mogelijk om globaal aan te geven waarom er voor bepaalde globale variabelen / structuren gekozen is. Omdat er sprake moet zijn van circular list zoals er in de headerfile staat, heb ik gekozen voor een structuur met daarin twee pointers van het type pointer naar dezelfde structuur. Ik heb ze Previous en Next genoemd. De structuur is alleen in de module bekend, daarbuiten is het niet nodig om te weten hoe het geimplementeerd is (static). In dezelfde structuur is ook een character pointer, die is nodig om de plaats bij te houden waar een woord in het geheugen staat, deze variabele heet Word. Het geheel ziet er zo uit: typdef struct _node Node; static struct _node { Node *Previous; Node *Next; char *Word; Daarnaast heb ik gebruik gemaakt van de volgende variabelen: static int inrofwords: deze variabele wordt gebruikt om bij te houden hoeveel woorden er totaal zijn ingelezen. Buiten de module is het aantal op te vragen met de functie: int WordStore_NrWords(void) static Node * First: een verwijzing naar het eerste element van de dubbele gelinkte lijst. static Node * Last: een verwijding naar het laatste element van de dubbele gelinkte lijst, eigenlijk is deze niet nodig, maar vond het voor het overzicht wat leesbaarder overkomen als er een begin- en eindpunt is. static Node * Current: de huidige node in de lijst is terug te vinden via deze variabele.
7 Stroomschema Er is geen algemeen stroomschema voor deze module, wel is het voor sommige functies handig om daar iets iets dieper op in te gaan of om een illustratie van de werking te geven. Zie de desbetreffende functies voor meer informatie. Verdere informatie Het programma werd gecodeerd in Borland C++ Builder 5.0 en 6.0 als een console application. De werking van het programma werd getest aan de hand van een zelf geschreven programma en daarna door een programma dat geleverd werd door de docent. De testdata was een bestand met woorden, geleverd door de docent.
8 Programmastructuur void WordStore_Clear(void) Lokale variabelen: int i: haalt het aantal woorden uit de lijst op. Wordt gebruikt in een loop om alle woorden uit de lijst te verwijderen. char * cptr_clear: tijdelijke opslag voor de pointer naar een woord in het geheugen, wordt iedere keer gebruikt om het geheugen weer vrij te geven. Node * Temp: tijdelijke pointer naar een Node structuur, zodat de Current verwijderd kan worden uit het geheugen, na de functie wordt deze vanzelf opgeruimd. Bedoeling van de functie: Verwijderd alle woorden uit de WordStore module en zorgt dat de teller inrofwords weer op nul komt te staan. Boolean WordStore_FileRead(char sfilename[ ]) Doorgegeven variabelen: char sfilename: een character array met daarin de filename die geopend moet worden. Lokale variabelen: Boolean breturn: return waarde van de functie, gaat alles goed dan blijft deze op TRUE Boolean bnull: als er een null-character gevonden of een newline-character wordt veranderd in een nul-character in de uitgelezen string van het bestand dan wordt deze op TRUE gezet. int iwordloop: teller die van het begin van het woord tot de maximum lengte van het woord loopt. char sinputstring[maxlen_word]: de headerfile heeft een define, die staat voor de maximale grootte van een in te lezen woord. Woorden mogen niet langer zijn dan deze lengte. Ik maak gebruik van deze define door de buffer de beperking op te leggen van deze grootte. FILE *ptrfile: bevat de stream van het geopende bestand. Doel van de functie: De functie leest een ASCII text file in met op iedere regel een woord, als de woorden langer zijn dan MAXLEN_WORD dan worden deze afgekapt in de lijst opgenomen. Als de functie een bestand niet kan inlezen dan geeft deze functie de waarde FALSE terug. Boolean WordStore_FileWrite(char sfilename[ ]) Doorgegeven variabelen: char sfilename: een character array met daarin de filename waarnaar geschreven moet worden. Lokale variabelen: Boolean breturn: return waarde van de functie, gaat alles goed dan blijft deze op TRUE int inumber: interne teller voor de loop, krijgt bij het begin de waarde 0 en loopt door tot het aantal woorden in de lijst. char * cptroutput: tijdelijke pointer naar een woord in een Node. Had ook zonder gekund door meteen naar Current->Word te verwijzen. Ik vond dit iets leesbaarder. FILE *ptrfile: bevat de stream van het geopende bestand. Doel van de functie:
9 Open een opgegeven bestand en schrijf daarin de woorden weg, vanaf het huidige woord Current->Word tot en met het einde van de lijst. Als er iets niet goed gaat geeft deze functie de waarde FALSE terug. void WordStore_MoveBackward(void) Bedoeling van de functie: Het huidige woord moet het vorige woord uit de lijst worden. void WordStore_MoveForward(void) Bedoeling van de functie: Het huidige woord moet het volgende woord uit de lijst worden. void WordStore_MoveRandom(void) Lokale variabelen: int i: random waarde die de functie rand() teruggeeft modulo het aantal woorden uit de lijst. Deze variabele zorgt voor een willekeurig nummer van 0 t/m het aantal woorden in de lijst. Deze variabele wordt in een loop gebruikt. int n: bevat het aantal woorden in de lijst, zorgt ervoor dat de functie WordStore_NrWords maar 1x wordt aangeroepen. Doel van de functie: Verplaats het huidige woord naar een willekeurig woord uit de lijst int WordStore_NrWords(void) Bedoeling van de functie: Haal het aantal woorden uit de lijst op. void WordStore_Sort(void) Lokale variabelen: int i: loop over het aantal woorden in de lijst int n: binnenste loop die steeds kleiner wordt. char *cptrhelp:tijdelijke variabele die gebruikt wordt bij het verplaatsen van een pointer naar een woord. Doel van de functie: Sorteer de lijst met een Bubblesort methode. Deze functie maakt direct gebruik van de static variabele inrofwords om te laten zien dat het ook op deze manier kan worden geimplementeerd. Zelf gaat mijn voorkeur uit naar een lokale variabele die de waarde opvraagt via de functie WordStore_NrWords() waar dan mee gewerkt wordt, zie bijvoorbeeld WordStore_MoveRandom().
10 char * WordStore_WordDelete(void) Lokale variabelen: char * cptrreturn: pointer naar het woord in het geheugen die de functie teruggeeft Node * Temp: tijdelijke verwijzing naar de huidige Node (Current) die na het aanpassen van de verwijzingen kan worden vrijgegeven. Doel van de functie: Verwijderen van de Current Node uit de lijst. Laat een tijdelijke Node Temp naar de Current Node wijzen Verander de vorige Node->Next en de volgende Node->Previous verwijzingen
11 Verander de Curren Node naar de Volgende Node Verwijder de Temp Node void WordStore_WordInsert(char *pcword) Doorgegeven variabelen: char * pcword: een pointer naar een woord in het geheugen, alleen de pointer wordt opgeslagen in de Node. Doel van de functie: Toevoegen van een nieuwe Node aan de lijst op de positie na de Current Node. Aantal woorden in de lijst met 1 ophogen. Begin Nieuwe Node maken
12 Verwijzingen toevoegen aan nieuwe Node Verwijzingen van Current->Next en Volgende->Previous aanpassen Daarna de Nieuwe Node de Current Node maken Bijzondere situatie: Node aanmaken in het geheugen. De Nieuwe Node is de eerste Node. De Node moet dan naar zichzelf gaan verwijzen. char * WordStore_WordRead(void) Doel van de functie: Ophalen van het huidige woord. Als er geen woorden zijn geeft deze functie de waarde NULL.
13 Programmacode *************************************************************************** * * * File: WORDSTORE.C * * Author: S.B. Bosch * * Version: 1.0 * * Date: (YYYY-MM-DD) * * * * Pre: - * * Post: usage: * * #include "WordStore.h" * * * * the <filename> is a ASCII-file containing one word * * per line * * * * Desc: Library for generating a circular list of words * * For more information see the header file * * * * Modified: * * [YYYY-MM-DD] <author> - <description> * * [ ] S.B. Bosch - commented out some code in * * WordStore_WordInsert because this module is * * not allowed to use the keyboard and monitor * * * *************************************************************************** #include <string.h> #include <stdlib.h> #include <stdio.h> #include <alloc.h> #include "WordStore.h" private variables typedef struct _node Node; static struct _node { Node *Previous; Node *Next; char *Word; ; static int inrofwords = 0; static Node *First; static Node *Last; static Node *Current; Functions void WordStore_Clear (void) { int i; char *cptr_clear; Node *Temp; i = WordStore_NrWords(); if (i) { for ( --i; i>0; i-- ) { Temp = Current->Next; cptr_clear = Current->Word; free( Current ); free( cptr_clear); if ( i>1 ) { Current = Temp; Last = NULL; First = NULL; Current = NULL; inrofwords = 0;
14 Boolean WordStore_FileRead(char sfilename[]) { Boolean breturn = TRUE; Boolean bnull = TRUE; int iwordloop; char sinputstring[maxlen_word]; open file FILE *ptrfile; if ((ptrfile = fopen(sfilename, "r")) == NULL ) { breturn = FALSE; return ( breturn ); read from file inrofwords = 0; fgets( sinputstring, MAXLEN_WORD, ptrfile ); while (!feof(ptrfile)) { bnull = FALSE; for (iwordloop=0; iwordloop<maxlen_word; iwordloop++) { if (!bnull && (sinputstring[iwordloop] == '\n' sinputstring[iwordloop] == '\0')) { sinputstring[iwordloop] = '\0'; bnull = TRUE; if ( bnull && strlen(sinputstring) > 1 ) { WordStore_WordInsert( (char *) strdup(sinputstring)); fgets( sinputstring, MAXLEN_WORD, ptrfile ); close file fclose( ptrfile ); return (breturn); Boolean WordStore_FileWrite (char sfilename[]) { Boolean breturn = TRUE; int inumber; char *cptroutput; open file FILE *ptrfile; if ((ptrfile = fopen(sfilename, "w")) == NULL ) { breturn = FALSE; return ( breturn ); write from Current node for ( inumber=0; inumber<inrofwords; inumber++ ) { cptroutput = Current->Word; WordStore_MoveForward(); fprintf( ptrfile, "%s\n", cptroutput ); close file fclose( ptrfile ); return (breturn); void WordStore_MoveBackward (void) { if (WordStore_NrWords()) { Current = Current->Previous; void WordStore_MoveForward (void) { if (WordStore_NrWords()) { Current = Current->Next;
15 void WordStore_MoveRandom (void) { int i, n; n = WordStore_NrWords(); if (n) { randomize(); for (i = ((rand()%n)+1); i>0; i--) { WordStore_MoveForward (); int WordStore_NrWords (void){ return ( inrofwords ); void WordStore_Sort (void) { int i, n; char *cptrhelp; for ( i=0; i<(inrofwords-1); i++ ) { Current = First; for ( n=0 ; n<(inrofwords-i-1); n++) { loop through the list using a bubblesort if ( strcmp( Current->Word, Current->Next->Word ) > 0 ) { cptrhelp = Current->Word; Current->Word = Current->Next->Word; Current->Next->Word = cptrhelp; Current = Current->Next; Current = First; char *WordStore_WordDelete (void) { char *cptrreturn; Node *Temp; if ( inrofwords == 0 ) { return ( NULL ); else { Temp = Current; if ( inrofwords == 1 ) { special condition Current = NULL; Last = NULL; First = NULL; else { previous node is connected to the next node and vice versa Current->Next->Previous = Current->Previous; Current->Previous->Next = Current->Next; Current = Current->Next; cptrreturn = Temp->Word; free(temp); inrofwords--; user must free return value? return ( cptrreturn );
16 void WordStore_WordInsert (char *pcword) { Node *ptrnew; if ( (ptrnew = (Node *) malloc( sizeof(node))) == NULL ) { Library is not allowed to use any means of output ** While testing the following code was used clrscr(); printf("problem with allocating memmory.\n"); printf("library WordStore.C\n"); printf("function void WordStore_WordInsert (char *pcword)\n"); printf("\n\npress any key to exit..."); getch(); exit(0); return; if ( inrofwords == 0 ) { special condition there are is no current node ** point to self First = ptrnew; ptrnew->previous = ptrnew; ptrnew->next = ptrnew; else { current node is connected to the new node ** new node becomes the current node with ** a connection to the next. ** Current node becomes the last if the previous ** node was the last ptrnew->previous = Current; ptrnew->next if ( Last == Current ) { Last = ptrnew; = Current->Next; Current->Next->Previous = ptrnew; Current->Next = ptrnew; ptrnew->word = pcword; Current = ptrnew; inrofwords++; char *WordStore_WordRead (void) { if ( inrofwords == 0 ) { return ( NULL ); return ( Current->Word );
Programma-dossier WordMind
IC2DA S.B. Bosch C Programmeren Programma-dossier WordMind Het ontwerpen en programmeren van het programma WordMind. Ontvangen probleemstelling Voorwoord Opgave Er werd van ons verwacht een programma
Nadere informatieExamen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2.
Nadere informatieDeel 1: schriftelijk deel
Examen Computerarchitectuur en systeemsoftware Donderdag 15 januari 2009, namiddag Deel 1: schriftelijk deel Algemene bemerkingen: Het examen bestaat uit 2 delen. Dit zijn de vragen voor het eerste deel.
Nadere informatieDatastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Nadere informatieTentamen Objectgeorienteerd Programmeren
Tentamen Objectgeorienteerd Programmeren 5082IMOP6Y maandag 16 november 2015 13:00 15:00 Schrijf je naam en studentnummer op de regel hieronder. Sla deze pagina niet om tot de surveillant vertelt dat het
Nadere informatie2019 SUNEXCHANGE USER GUIDE LAST UPDATED
2019 SUNEXCHANGE USER GUIDE LAST UPDATED 0 - -19 1 WELCOME TO SUNEX DISTRIBUTOR PORTAL This user manual will cover all the screens and functions of our site. MAIN SCREEN: Welcome message. 2 LOGIN SCREEN:
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Faculteit EWI Tentamen Programmeren in C (EE1400) 28 jan 2011, 9.00 12.00 - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatieProgrammeren in C++ Efficiënte zoekfunctie in een boek
Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!
Nadere informatieLineaire data structuren. Doorlopen van een lijst
Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn
Nadere informatieDALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT
TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.
Nadere informatieInleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!
Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige
Nadere informatieAfter that, the digits are written after each other: first the row numbers, followed by the column numbers.
Bifid cipher The bifid cipher is one of the classical cipher techniques that can also easily be executed by hand. The technique was invented around 1901 by amateur cryptographer Felix Delastelle. The cipher
Nadere informatieEE1400: Programmeren in C BSc. EE, 1e jaar, , 3e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-201, e college Arjan van Genderen, Computer Engineering 4-12-2012 Delft University of Technology Challenge the future Hoorcollege Arrays, Pointers en Strings
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatieALGORITMIEK: answers exercise class 7
Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord
Nadere informatieL.Net s88sd16-n aansluitingen en programmering.
De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen
Nadere informatieWWW.EMINENT-ONLINE.COM
WWW.EMINENT-OINE.COM HNDLEIDING USERS MNUL EM1016 HNDLEIDING EM1016 USB NR SERIEEL CONVERTER INHOUDSOPGVE: PGIN 1.0 Introductie.... 2 1.1 Functies en kenmerken.... 2 1.2 Inhoud van de verpakking.... 2
Nadere informatieFOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
Nadere informatieUtlGefOpen Documentation
UtlGefOpen Documentation Release 1 waterbug February 01, 2016 Contents 1 Downloads 3 2 Inhoudsopgave 5 2.1 Gebruik Gef2Open.py.......................................... 5 2.2 Functies..................................................
Nadere informatieProgrammeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Nadere informatieHandleiding Installatie ADS
Handleiding Installatie ADS Versie: 1.0 Versiedatum: 19-03-2014 Inleiding Deze handleiding helpt u met de installatie van Advantage Database Server. Zorg ervoor dat u bij de aanvang van de installatie
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieUniversiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Nadere informatieExamen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad
Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar 2006-2007 23 Januari, 2007 **BELANGRIJK** : Schrijf je naam onderaan dit blad Leg volgende 3 begrippen kort en bondig uit : a. Concurrent
Nadere informatieDe MySQL C API. Variabelen in C Functies in C Pointers in C
LinuxFocus article number 304 http://linuxfocus.org De MySQL C API door Özcan Güngör Over de auteur: Ik gebruik Linux sinds 1997. Vrijheid, flexibiliteit en opensource. Dat
Nadere informatieOnline Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance
Online Resource 1 Title: Implementing the flipped classroom: An exploration of study behaviour and student performance Journal: Higher Education Authors: Anja J. Boevé, Rob R. Meijer, Roel J. Bosker, Jorien
Nadere informatieEE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 4e college Arjan van Genderen, Computer Engineering 11-12-2012 Delft University of Technology Challenge the future Mededelingen Voortgangstoets: Woensdagmiddag
Nadere informatieCalculator spelling. Assignment
Calculator spelling A 7-segmentdisplay is used to represent digits (and sometimes also letters). If a screen is held upside down by coincide, the digits may look like letters from the alphabet. This finding
Nadere informatieNCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010
NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 Op basis van het nieuwe artikel 365, lid 4 (NCTS) en het nieuwe artikel 455bis, lid 4 (NCTS-TIR) van het Communautair Toepassingswetboek inzake douane 1
Nadere informatieSAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead
7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you
Nadere informatieHOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10
CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel
Nadere informatieint getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers);
bestand voertuig.h biz. 1 van 2 #ifndef VOERTUIG H #define VOERTUIG H #include using std::string; class Voertuig { public: Voertuig(); Voertuig(const string& inschrijvingsnumrner, const string&
Nadere informatieL.Net s88sd16-n aansluitingen en programmering.
De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen
Nadere informatieIntroductie in flowcharts
Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,
Nadere informatieChromosomal crossover
Chromosomal crossover As one of the last steps of genetic recombination two homologous chromosomes can exchange genetic material during meiosis in a process that is referred to as synapsis. Because of
Nadere informatieFOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Bewijzen en Technieken 1 7 januari 211, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe.
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
Nadere informatieProgrammeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatieSettings for the C100BRS4 MAC Address Spoofing with cable Internet.
Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version
Nadere informatieGenetic code. Assignment
Genetic code The genetic code consists of a number of lines that determine how living cells translate the information coded in genetic material (DNA or RNA sequences) to proteins (amino acid sequences).
Nadere informatieNSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR:
NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. Door mee te doen aan deze uitdaging kan je Nspyre laten zien wat je kan. Schrijf jij de beste oplossing dan is deze lego mindstorms nxt 2.0 set voor jou.
Nadere informatieCountry recognition. Assignment
Country recognition You are given a text file containing a list of countries, together with a description of their borders. Each line of the file contains the name of a country, followed by a tab and a
Nadere informatieIntermax backup exclusion files
Intermax backup exclusion files Document type: Referentienummer: Versienummer : Documentatie 1.0 Datum publicatie: Datum laatste wijziging: Auteur: 24-2-2011 24-2-2011 Anton van der Linden Onderwerp: Documentclassificatie:
Nadere informatieDBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases
Nadere informatieProject Software Engineering XML parser: Parsen van een xml CD catalogus
Project Software Engineering XML parser: Parsen van een xml CD catalogus Brent van Bladel brent.vanbladel@uantwerpen.be February 16, 2017 XML (Extensible Markup Language) is een taal waarmee we op een
Nadere informatieBasic operations Implementation options
Priority Queues Heaps Heapsort Student questions EditorTrees WA 6 File Compression Graphs Hashing Anything else Written Assignments 7 and 8 have been updated for this term. Each of them is smaller than
Nadere informatieFOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 7 februari 2011 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
Nadere informatieFOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
Nadere informatieDergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.
Indexers in C#.Net In deze tutorial ga ik het hebben over indexers. Bij het gebruik van bijvoorbeeld een ArrayList object, kan je de gegevens uit deze collectie opvragen als ware het een array. // ArrayList
Nadere informatieCTI SUITE TSP DETAILS
CTI SUITE TSP DETAILS TAPI allows an application to access telephony services provided by a telecom PABX. In order to implement its access to ETRADEAL, a TAPI interface has been developed by Etrali. As
Nadere informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieProgrammeren 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 informatie4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 2, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Terugblik Functies Organisatie (architectuur) van programma s Arrays Structuren
Nadere informatieInstructies en blokken
Herhaling 1 Instructies en blokken Naar elke instructie staat een ; puntkomma Verschillende instructies worden door de accolades in een block samengevat. Een blok is het zelfde als een enkele instructie.
Nadere informatieZorgMail Address Book SE Documentation
ZorgMail Address Book SE Documentation File ID: addressbook_zorgmail_a15_se 2014 ENOVATION B.V. Alle rechten voorbehouden. Niets uit deze uitgave mag worden openbaar gemaakt of verveelvoudigd, opgeslagen
Nadere informatieMaillijsten voor medewerkers van de Universiteit van Amsterdam
See page 11 for Instruction in English Maillijsten voor medewerkers van de Universiteit van Amsterdam Iedereen met een UvAnetID kan maillijsten aanmaken bij list.uva.nl. Het gebruik van de lijsten van
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord December 17, 2018 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True : gohome () Goed:
Nadere informatieFind Neighbor Polygons in a Layer
Find Neighbor Polygons in a Layer QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution 4.0
Nadere informatieGebruik van het LOGO in geautomatiseerde verkiezingen
BIJLAGE 1 S.A. STERIA Benelux N.V. Gebruik van het LOGO in geautomatiseerde verkiezingen Technische bepalingen voor de weergave van het logo op de schermen. Versie 1.2 Guy JASPERS Revisions Revision Description
Nadere informatieMyDHL+ Van Non-Corporate naar Corporate
MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde
Nadere informatieVoorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
Nadere informatieAdd the standing fingers to get the tens and multiply the closed fingers to get the units.
Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first
Nadere informatieLDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series
LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series Tiptel b.v. Camerastraat 2 1322 BC Almere tel.: +31-36-5366650 fax.: +31-36-5367881 info@tiptel.nl Versie 1.2.0 (09022016) Nederlands: De LDAP server
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 informatieExercise P672 Lightweight Structures. A.P.H.W. Habraken. Report
Exercise 2011-2012 7P672 Lightweight Structures A.P.H.W. Habraken Report Group 4: S.H.M. van Dijck J.C. Fritzsche J. Koeken T. Relker F.G.M. van Rooijen M. Slotboom M. Steenbeeke J.P.T. Theunissen Date:
Nadere informatieCS 202 Fundamental Structures of Computer Science II Bilkent University Computer Engineering Department
Hashing CS 202 Fundamental Structures of Computer Science II Bilkent University Computer Engineering Department Bilkent University 1 Hashing We will now see a data structure that will allow the following
Nadere informatieEM7680 Firmware Update by OTA
EM7680 Firmware Update by OTA 2 NEDERLANDS/ENGLISH EM7680 Firmware update by OTA Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 3 4.0 (NL) Overige
Nadere informatiePointers and References
Steven Zeil October 2, 2013 Outline 1 References 2 Working with Can Be Dangerous 3 The Secret World of and Arrays Pointer and Strings and Member Functions Indirection and references allow us to add a layer
Nadere informatieHoofdstuk 9: Menu s toevoegen
Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2005 Hoofdstuk 9: Menu s toevoegen 9.0 Leerdoel
Nadere informatieMyDHL+ Global Mail zending aanmaken
MyDHL+ Global Mail zending aanmaken Global Mail zending aanmaken In MyDHL+ is het aanmaken van een Global Mail zending zo eenvoudig mogelijk gemaakt. De website en deze handleiding zal u stap voor stap
Nadere informatie! GeoNetwork INSPIRE Atom!
GeoNetwork INSPIRE Atom GeoNetwork INSPIRE Atom 1 Configuration 2 Metadata editor 3 Services 3 Page 1 of 7 Configuration To configure the INSPIRE Atom go to Administration > System configuration and enable
Nadere informatiei(i + 1) = xy + y = x + 1, y(1) = 2.
Kenmerk : Leibniz/toetsen/Re-Exam-Math A + B-45 Course : Mathematics A + B (Leibniz) Date : November 7, 204 Time : 45 645 hrs Motivate all your answers The use of electronic devices is not allowed [4 pt]
Nadere informatieThe first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:
Document properties Most word processors show some properties of the text in a document, such as the number of words or the number of letters in that document. Write a program that can determine some of
Nadere informatieActivant Prophet 21. Prophet 21 Version 12.0 Upgrade Information
Activant Prophet 21 Prophet 21 Version 12.0 Upgrade Information This class is designed for Customers interested in upgrading to version 12.0 IT staff responsible for the managing of the Prophet 21 system
Nadere informatie/ /
Cookie statement / www.temagroningen.nl / board@temagroningen.nl / www.temagroningen.nl / board@temagroningen.nl Dutch hospitality is a cookie with your coffee or tea. Digital hospitality is a cookie for
Nadere informatieLeren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie
Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes
Nadere informatieLuister alsjeblieft naar een opname als je de vragen beantwoordt of speel de stukken zelf!
Martijn Hooning COLLEGE ANALYSE OPDRACHT 1 9 september 2009 Hierbij een paar vragen over twee stukken die we deze week en vorige week hebben besproken: Mondnacht van Schumann, en het eerste deel van het
Nadere informatieData Handling Ron van Lammeren - Wageningen UR
Data Handling 1 2010-2011 Ron van Lammeren - Wageningen UR Can I answer my scientific questions? Geo-data cycle Data handling / introduction classes of data handling data action models (ISAC) Queries (data
Nadere informatieDaylight saving time. Assignment
Daylight saving time Daylight saving time (DST or summertime) is the arrangement by which clocks are advanced by one hour in spring and moved back in autumn to make the most of seasonal daylight Spring:
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 informatieThis appendix lists all the messages that the DRS may send to a registrant's administrative contact.
This appendix lists all the messages that the DRS may send to a registrant's administrative contact. Subject: 1010 De houdernaam voor #domeinnaam# is veranderd / Registrant of #domeinnaam# has been changed
Nadere informatieDBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Op dit moment gebruiken
Nadere informatieHandleiding beheer lijst.hva.nl. See page 11 for Instruction in English
Handleiding beheer lijst.hva.nl See page 11 for Instruction in English Maillijsten voor medewerkers van de Hogeschool van Amsterdam Iedereen met een HvA-ID kan maillijsten aanmaken bij lijst.hva.nl. Het
Nadere informatieTC_DCM Inleiding Input
TC_DCM 10-03-2008 Inleiding De TC_DCM (Tele Controls Data Collection Module) is een module om dataloggers van het type Optimodem en Atlas uit te lezen. De gebruiker dient zelf een applicatie te maken die
Nadere informatieClassification of triangles
Classification of triangles A triangle is a geometrical shape that is formed when 3 non-collinear points are joined. The joining line segments are the sides of the triangle. The angles in between the sides
Nadere informatieBasisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek
Basisconcept VHDL Tweede studiejaar Wim Dolman Engineering, leerroute Elektrotechniek Faculteit Techniek 1 Deze presentatie toont de stappen voor het ontwerpen van een digitale combinatorische schakeling
Nadere informatieFOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 8 december 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als jeeen onderdeel
Nadere informatieCBSOData Documentation
CBSOData Documentation Release 1.0 Jonathan de Bruin Dec 02, 2018 Contents 1 Statistics Netherlands opendata API client for Python 3 1.1 Installation................................................ 3
Nadere informatieSysteem Wand Samenstellings Applicatie. Cabinet configuration tool. Nederlandse handleiding
Systeem Wand Samenstellings Applicatie Cabinet configuration tool Nederlandse handleiding 1 Handleiding bylsma wand configuratie tool... 2 1.1 Disclaimer... 2 2 Wand samenstellen... 2 2.1 Applicatie lay-out...
Nadere informatieUitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur
Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, 17 20 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatieDatatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Nadere informatieANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM
Read Online and Download Ebook ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM DOWNLOAD EBOOK : ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK STAFLEU
Nadere informatieHandleiding Zuludesk Parent
Handleiding Zuludesk Parent Handleiding Zuludesk Parent Met Zuludesk Parent kunt u buiten schooltijden de ipad van uw kind beheren. Hieronder vind u een korte handleiding met de mogelijkheden. Gebruik
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. Pointers. Walter Kosters. week 10: november kosterswa/pm/
Programmeermethoden Pointers Walter Kosters week 10: 13 17 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Introductie Een pointer is in feite gewoon een geheugenadres. Het geheugen kun
Nadere informatieAUTHENTICATIE. Version Date Author Description Mark Hameetman Initiele document
Postbode.nu API Version Date Author Description 1.0 21-02-2018 Mark Hameetman Initiele document AUTHENTICATIE Via https://app.postbode.nu/settings/api kunt u uw eigen API key aanmaken en/of ophalen, deze
Nadere informatiecontinue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.
Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;
Nadere informatieUitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur
Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, 17 20 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatie