Oefeningenexamen Informatica: juni 2015



Vergelijkbare documenten
Informatica: C# WPO 13

Informatica: C# WPO 12

Geluid opnemen en bewerken

2. Blokjes maken op de voorpagina, over ons en commissies. 5. Rechtstreeks een link maken voor, mail, nieuwsbrief, verslag of fotoalbum

Programmeren in C++ Efficiënte zoekfunctie in een boek

Oefeningen Jaarproject I

Klik op de tegel Leerwinstplan. Klik op de tegel Leerlingprofiel. Selecteer links bovenin een leerling en domein uit de lijst

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Handleiding scoreverwerking MicroMagic met Excel en ZW-scoring 4.022

Klonen. Het doel is om de appel op te eten. Iedere keer dat de slang de appel eet, groeit hij één vakje langer.

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni 2011

Project 2: LOTTO simulatie Programmeren I

Basistechnieken Microsoft Excel in 15 minuten

Simon de schildpad J van Weert 1

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Weet jij een paar leuke lijstjes? Denk bijvoorbeeld aan alle kinderen in je klas of al je vriendjes of vriendinnetjes.

INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN

Simon de schildpad J van Weert 1

Handleiding CrisisConnect app beheersysteem

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF Reken om naar EURO---

Registratie & Uitwisseling van de Verplichte Eindtoets

Programmeren (1) Examen NAAM:

Procedure overname groepen begunstigden uit A Soft :

Handleiding Kaltura via Blackboard

Opdracht 4: Overzichtelijker en generieker

Voorbereidingen thuis

Informatica. 2 e graad 2 e jaar. De Mol W.

Presentatie Aldfaer. Presentatie Aldfaer. Hoofdvenster Aldfaer. Invoeren gegevens

Handleiding Windows Foto s uit een eerder gemaakt fotoboek overzetten naar de nieuwe software

Handleiding Joomla! Frontend, content en gallery. september 2014 versie 1.0

Zo maak je een presentatie met Prezi.

Handleiding beheersmodule voor docenten (en voor schooladmins).

LAS exporteren leerlinggegevens

Bescherm je tegen onveilige websites

Cursus Mobjects freeware LES 3 Een zwaar lesje Photoshop

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

Comic Life: Maak een fotostrip in de klas

Korte handleiding WeTransfer

Instructie Roosterwebsite (ical/ics-bestand) Last updated: 07 Februari 2011

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

versie december 2017 Shape-files importeren in DIPLA

Functioneel programmeren

APPLICATIEBOUW 7E COLLEGE: OEFENEN VOOR DE TOETS. Onderdeel van SmartProducts

Handleiding invoeren van referenties in RefWorks

Informatica: C# WPO 7

Het toevoegen van videofragmenten in Hot Potatoes

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel.

Samenvoegen bestanden via gedcom

Wilt u zelf vector kaarten maken voor uw garmin kijk dan op GPS-info.nl/custom_maps.php.

Presentaties: presenteer jezelf met PowerPoint

Download:

Het maken, plaatsen en beheren van symbolen (blocks) In deze beschrijving zijn de afbeeldingen uit de windows versie van AutoCad 2013

SCRATCH GEVORDERDEN Inhoudsopgave

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!

Wat gaan we maken? Scratch Invaders!

Score. Zelfevaluatie. Beoordeling door de leerkracht. Datum: Klas: Nr: Naam:

Het installatiepakket haal je af van de website

Module 5: Nog meer Scratch - Maak je eigen spelletje

Scratch. Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica

Afnameprotocol - Oneven Groep

Formulieren o.b.v. Vrije Overzichten

/20. richtlijnen. Lees deze richtlijnen! Log in op de pc met. login: paswoord: examen i examen001. Log in op. x.toledo.ucll.be

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Graphics. Small Basic graphics 1/6

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

int getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers);

Handleiding De Biedwedstrijd

Handleiding muziek spelen van een tablet.

Beweging van a naar b Beweging van groot naar klein.

VinniePlace helpdesk.vinnieplace.nl

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15)

ROL, SCHUIF EN BEDEK. MEER DOBBELSTEENWERKBLADEN? Kijk op heutinkvoorthuis.nl AANTAL SPELERS: 2-4

VPN opzetten naar Auroraa (Global VPN Client)

Gebruikershandleiding

Online videobewerking: 1. Offline vs. Online

Fuel. Handleiding voor installatie en gebruik

Procedure voor het verkrijgen van een Excel werklijst op basis van een ontvangen gedcom bestand

Beeldbewerking met Gimp

Getting-started tutorial. Versie 1.0

Examen Datastructuren en Algoritmen II

Stappenplan gebruik enquêtetool

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

UITLEG BIJ UW TEMPLATE

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

LES 11: VAN LOKAAL NAAR ONLINE. Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting

Project Objectgericht Programmeren : Deel 3

In Evacuate the dancefloor van Cascada wordt een langer motief gebruikt. Meteen daarna wordt een variatie gespeeld.

Handleiding voor kunstenaars

Popplet. 1. Surf naar 2. Klik rechts bovenin op de knop Sign up for free.

Gebruikershandleiding UNIT4 DataCollector

In deze handleiding wordt uitgelegd hoe een DIN kader gemaakt moet worden en hoe er nieuwe papierformaten aangemaakt moeten worden.

Efficientie in de ruimte - leerlingmateriaal

Transcriptie:

Oefeningenexamen Informatica: juni 2015 Voornaam: Naam: IT-nummer: PC-nummer: Vul je naam, IT-nummer en PC-nummer (staat op de computer, bv. PC15) hierboven in. De examenbladen moeten mee afgegeven worden, anders wordt het examen ongeldig verklaard. Zorg ervoor dat je je IT-nummer, naam en handtekening hebt genoteerd op het blad met aanwezigheden. Werk in een workspace op de E of Z drive. Sla regelmatig je oplossing op om bij een computerprobleem niet al je code te verliezen! Je mag enkel de slides uit de theorie en je boek gebruiken. Oefeningen, internet, en eender welke vorm van communicatie zijn niet toegelaten! Verzorg je indentatie en gebruik duidelijke namen voor variabelen, methoden, constanten, etc. Zorg ervoor dat je geen code moet herhalen! Gebruik van commentaar wordt aangemoedigd! De kwaliteit van de code draagt bij tot het eindtotaal van je score. Importeer het volgende bestand in je Eclipse workspace van de volgende URL: http://parallel.vub.ac.be/examen7364/exjuni2015.zip 1. Klik op File > Import 2. Selecteer General > Existing Projects into Workspace 3. Kies Select archive file, Browse naar het bestand en kilk op Finish. Rename je project (selecteer het Project en druk op de F2-knop) naar ExJuni2015_NaamVoornaam (Vul je naam en voornaam in). Je uploadt je oplossing op volgende URL: http://parallel.vub.ac.be/indienen 1. Exporteer je PROJECT als zip-bestand ExJuni2015_NaamVoornaam.zip (vul in): Rechts-klik op je project Kies Export Kies General Archive File In de tekstbox To archive file geef je je zip bestand de juiste naam 2. Dien slechts 1 keer je bestand in! Check of de gegevens kloppen: nadat je hebt ingediend kan je het bestand niet meer aanpassen!

Vraag 1 (Aanbevolen tijd: 20 min.) Morsecode is een communicatietechniek die symbolen encodeert als een opeenvolging van korte en lange signalen (bv. bieptonen, lichtsignalen, enz.). Een kort signaal wordt voorgesteld door een punt, een lang signaal als een streepje. Elk teken heeft zijn unieke voorstelling, bv: A als.-, X als -..-,? als..--.. Het zinnetje Hello world wordt in Morse:.....-...-.. ---.-- ---.-..-.. -.. Punten en streepjes kunnen op hun beurt ook in Morse-code worden voorgesteld:. als -. - als - Dit betekent dat we een Morse-bericht meermaals opnieuw kunnen encoderen als een Morse-bericht:. -. --. -.-.-.- --. --.--.--.-.-.-.--.-.-.- --. enz. Het vraagstuk dat je moet oplossen is het volgende: als we een bericht in morsecode een gegeven aantal keer na elkaar coderen in morsecode, hoe lang is dan het uiteindelijke bericht in morsecode? Je mag ervan uitgaan dat het invoerbericht zelf enkel uit streepjes en punten bestaat. Implementeer in de package vraag1 de methode repeatedmorse. Als invoer heb je begin-string str en int n stelt het aantal keer dat het bericht herhaaldelijk na elkaar geëncodeerd moet worden. Als uitvoer geef je een int terug die de lengte van het finale bericht teruggeeft. De implementatie moet generiek zijn en werken voor alle mogelijke inputs (je mag veronderstellen dat de oplossing < 10 9 ) Alle code voor het uitvoeren en testen van de functie is al voor jou geïmplementeerd via externe libraries; je moet dus enkel de functie repeatedmorse implementeren en op run klikken. Tip: de volgende methodes van String komen van pas: char charat(int n): Geeft het karakter terug op de n de plaats. int length(): Geeft de lengte terug van de string

Vraag 2 (Aanbevolen tijd: 60 min.) In deze opgave gaan we een biotoop simuleren. De wereld wordt voorgesteld door een 24x24 grid; op elk vakje (van 32x32 pixels) bevindt er zich al dan geen gras. Op dat grid lopen schapen rond. Schapen zetten elke tijdseenheid een stap in een willekeurige richting. Schapen eten gras waardoor hun energiemeter verhoogt. Wanneer schapen genoeg energie hebben, reproduceren ze; maar schapen verbruiken ook energie, en als die op is sterven ze en worden ze dus verwijderd. Figuur 1: Voorstelling van het biotoop. Groene vakjes zijn begroeid met gras, grijze vakjes niet. Schapen worden voorgesteld als blauwe bolletjes. Je krijgt de twee eerste klassen: Simulation en SimulationPanel, die respectievlijk een JFrame en een JPanel zijn. In SimulationPanel moet nog de basislogica van de simulatie komen. Elk grasveld heeft twee staten: gras of geen gras. Initialiseer het grasveld per vakje met 50% kans op gras. Na elke tijdseenheid is er 1% kans dat er op een leeg grasveld terug gras groeit. 15 schapen worden willekeurig op het veld geplaatst. Schapen zetten elke tijdseenheid een stap in een willekeurige richting (links, boven, rechts of beneden; zie Figuur 2). Het veld is toroidaal: als ze over de rand stappen verschijnen ze aan de tegengestelde rand van het veld, zoals in Pacman (zie Figuur 3). Schapen hebben een energiemeter die initieel op 10 staat. Deze neemt met 1 punt af per tijdseenheid. Bereikt deze 0, dan gaat het schaap dood en wordt het verwijderd. Als een schaap op een begroeid vakje komt, wordt het gras opgegeten en verandert het in een leeg vakje; het schaap krijgt dan 10

energiepunten bij. Wanneer een schaap meer dan 30 punten heeft, baart het een nieuw schaap op dezelfde positie als het oude schaap. Dit kost het oude schaap 20 punten. Laat de simulatie draaien met een periode van 100 ms. Teken gras als gevulde rechthoekjes (groen voor begroeid, donkergrijs voor onbegroeid) en schapen als gevulde blauwe cirkels. Figuur 2: Bewegingsmogelijkheden van een schaap met bijgeschreven kansen. Figuur 3: verplaatsing aan de randen van een torodoidaal veld.

Vraag 3 (Aanbevolen tijd: 40 min.) Je werkt voor een cargoschipbedrijf die containers vervoert over de Atlantische Oceaan. In de vertrekhaven krijg je een lijst L met N verschillende containers aangeboden, elk met hun waarde c i en gewicht w i. Je wil zoveel mogelijk winst maken met het overbrengen van de containers, maar je cargoschip heeft echter een maximale draagcapaciteit M. Taak: schrijf een programma die de maximale winst teruggeeft die je kunt verwerven met een deelverzameling van containers S L, zonder dat de draagcapaciteit M van je schip wordt overschreden. Formeel: vind S L zodat i S c i maximaal is, onderhevig aan w i M i S. Implementeer in de package vraag3 de methode get_maximum_gain. Als invoer heb je een lijst van Containers en een int capacity die de maximale draagcapaciteit voorstelt. Als uitvoer geef je een int terug die de winst van de beste combinatie teruggeeft. Gebruik de methodes get_weight() en get_price() van Container die respectievelijk het gewicht en de winst teruggeven. De implementatie moet generiek zijn en werken voor alle mogelijke inputs (je mag ervan uitgaan dat N 20) Net zoals bij vraag 1 is alle code voor het uitvoeren en testen voor jou geschreven. Tip: probeer de ruimte van combinaties van containers logisch voor te stellen, gebruik vervolgens een algoritme die in deze ruimte kan zoeken naar alle mogelijke combinaties; zorg echter dat je gevallen negeert waarbij de draagcapaciteit overschreden wordt.