Informatica: C# WPO 6

Vergelijkbare documenten
Informatica: C# WPO 6

Objectgeoriënteerd Programmeren: WPO 1

Objectgeoriënteerd Programmeren: WPO 1

Informatica: C# WPO 5

Informatica: C# WPO 8

Informatica: C# WPO 9

Informatica: C# WPO 12

Informatica: C# WPO 2

Informatica: C# WPO 7

Informatica: C# WPO 13

Informatica: C# WPO 4

Informatica: C# WPO 10

Informatica: C# WPO 11

Objectgeoriënteerd Programmeren: WPO 2

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

Android apps met App Inventor 2 antwoorden

Objectgeoriënteerd Programmeren: WPO 3

Programmeren in C# Samenvatting van C#

Datum, Tijd en Timer-object

Objectgeoriënteerd Programmeren: WPO 1

Objectgeoriënteerd Programmeren: WPO 4B

Graphics. Small Basic graphics 1/6

Variabelen en statements in ActionScript

vwo wiskunde b Baanversnelling de Wageningse Methode

Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren:

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Labo 2 Programmeren II

extra oefening algoritmiek - antwoorden

OEFENINGEN PYTHON REEKS 4

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Eindexamen wiskunde B1-2 vwo 2007-II

P is nu het punt waarvan de x-coördinaat gelijk is aan die van het punt X en waarvan de y-coördinaat gelijk is aan AB (inclusief het teken).

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


Oefeningen Java Oplossingen

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Per nieuwe hoofdvraag een nieuwe bladzijde gebruiken. De vragen hoeven niet in de juiste volgorde te worden opgelost.

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

Query SQL Boekje. Fredrik Hamer

Een expressie zoals leeftijd>=65 wordt een boolean expressie genoemd. Een boolean expressie kan dus de waarde true of de waarde false geven

Examen VWO. wiskunde B1,2. tijdvak 2 woensdag 20 juni uur. Bij dit examen hoort een uitwerkbijlage.

13 Vlaamse Wiskunde Olympiade: tweede ronde

Technical Design Office. AutoCAD. Basiscursus AutoCAD 2D. Kris Van der Biest. Technical Design Office

Programmeren: Visual Basic

Computerrekenpakket Maple zesde jaar

IJkingstoets burgerlijk ingenieur-architect september 2018: feedback deel wiskunde

IJkingstoets burgerlijk ingenieur-architect september 2018: feedback deel wiskunde

Eindexamen wiskunde B1-2 vwo 2002-I

Eindexamen wiskunde B vwo I

Examen VWO. wiskunde B. tijdvak 2 woensdag 19 juni uur. Bij dit examen hoort een uitwerkbijlage.

Muziek. Muziek. Analoog rekenen. Hoofdstuk 1: Van analoog naar digitaal. Analoog. Digitaal. Analoog. Gebruik makend van fysische grootheden Cf Babbage

12.0 Voorkennis. Voorbeeld 1: Los de vergelijking sin(a) = 0 op. We zoeken nu de punten op de eenheidscirkel met y-coördinaat 0.

Objectgeoriënteerd Programmeren: WPO 2a

VAN HET PROGRAMMEREN. Inleiding

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig.

Examen VWO. Wiskunde B1,2 (nieuwe stijl)

wiskunde B pilot vwo 2017-II

1.1 Differentiëren, geknipt voor jou

een balspel We gaan een balspel bouwen. We maken een startscherm met daarop de bedoeling en instructie van het spel

Small Basic Programmeren Text Console 2

4.1 Negatieve getallen vermenigvuldigen [1]

Transformaties van grafieken HAVO wiskunde B deel 2. Willem van Ravenstein Haags Montessori Lyceum (c) 2016

Toegepaste Wiskunde. voor het hoger beroepsonderwijs. Correcties en aanvullingen (mei 2009) HBuitgevers, Baarn

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

Eindexamen vwo wiskunde B pilot 2013-I

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

Examen havo wiskunde B 2016-I (oefenexamen)

de eenheid m/s omrekenen naar km/h en omgekeerd.

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

Examen VWO. wiskunde B (pilot) tijdvak 2 woensdag 21 juni uur

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Programmeren in C# Interfaces. Hoofdstuk 23

Programmeren (1) Examen NAAM:

Examen VWO. wiskunde B (pilot) tijdvak 1 woensdag 13 mei uur. Bij dit examen hoort een uitwerkbijlage.

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)

WISKUNDE-ESTAFETTE KUN Minuten voor 20 opgaven. Het totaal aantal te behalen punten is 500

16.0 Voorkennis. Voorbeeld 1: Los op in 2x + 3i = 5x + 6i -3x = 3i x = -i

8.1 Rekenen met complexe getallen [1]

Kwadratische verbanden - Parabolen klas ms

Eindexamen wiskunde B1-2 havo 2001-II

Ijkingstoets industrieel ingenieur aangeboden door UGent en VUB op 15 september 2014: algemene feedback

Handleiding. Eind en Toetstermenapplicatie VCA

Hoofdstuk 4: Nieuwe objecten

Hoofdstuk 4: Nieuwe objecten

Hoofdstuk 1 Beweging in beeld. Gemaakt als toevoeging op methode Natuurkunde Overal

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

Eindexamen wiskunde B1 vwo 2007-II

LEERLIJN Basisvaardigheden ICT

3.1 Negatieve getallen vermenigvuldigen [1]

Eindexamen vwo wiskunde B pilot 2014-I

Modelleren en Programmeren

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Programmeren in Java les 3

PYTHON REEKS 1: BASICS. Mathias Polfliet

Transcriptie:

Informatica: C# WPO 6 1. Inhoud Timers, switch cases, combobox 2. Oefeningen Demo 1: Bounce Demo 2: Hex to decimal converter Demo 3: Debug oplossing demo 1 A: Count to 10 A: Biljarttafel A: Azerty to qwerty A: To reverse or not to reverse E: Random values E: Klok 2.1 Demo 1: Bounce Laat een horizontale rechthoek van 25 pixels hoog bij 200 pixels lang horizontaal bewegen. Wanneer de rechthoek de wand raakt van de canvas, kaatst deze terug. De rechthoek beweegt dan in de tegenovergestelde richting voort. Figuur 1: Voorbeeld demo 3 1

2.2 Demo 2: Hex to decimal converter Schrijf een programma waarin het mgoelijk is om hexadecimaal geformateerde getallen om te zetten naar gehele getallen. Gebruik een switch case om de mogelijke hexadecimale getallen om te zetten naar de juiste getallen. Merk op dat elk hexadecimaal getal een waarde tussen 0 en 15 kan bevatten. In het eerste gedeelte van de opgave mag ervan uitgegaan worden dat de gebruiker een correct getal ingeeft. In het 2 de deel kunnen ook foutieve inputs ingegeven worden. Foutieve inputs moeten ook correct afgehandeld kunnen worden. 2.3 Demo 3: Debug oplossingen demo s 1 en 2 Ook hier wordt de debugger gebruikt om het verloop van het programma in de voorgaande demo s te illustreren. 2.4 A: Count to 10 Schrijf een programma na 10 seconden een messagebox met een boodschap weergeeft. Geef het aftellen weer op het formulier in een label. Gebruik hierbij een timer dat je afstelt om eenmaal per seconde een event te genereren. Hint: Gebruik als teller een variabele die je globaal declareert. 2.5 A: Biljarttafel Schrijf een programma dat een bal op een veld laat rollen. Zorg ervoor dat deze bal bij het botsen tegen een wanden terugkaatst. Stel de wanden van het veld gelijk aan de randen van de canvas waarop je tekent. De beweging van deze bal wordt voorgesteld door een X en Y component. Samen vormen deze componenten een snelheidsvector. Dankzij een timer kan de beweging van de bal gevisualiseerd worden (zet deze aan, met een interval tussen 10 ms en 250 ms). De X en Y beweging worden aangepast in functie van de timerfrequentie, zodat deze bal een al dan niet vloeiende beweging uitvoert. De terugkaatsing kan plaatsvinden door één element van de snelheidsvector van teken te doen wisselen. Als de bal tegen een verticale wand aanbotst, wordt de horizontale richting omgedraaid. In het het geval dat de bal tegen een horizontale wand aanbotst, wordt de verticale richting omgedraaid (tekenwissel). Een voorbeeld van deze applicatie kan teruggevonden worden in figuur 2. 2

Figuur 2: Voorbeeld biljarttafel 2.6 A: Azerty to qwerty Soms kan het gebeuren dat men op een onbekende computer tekst ingeeft maar de tekens niet overeenkomen met wat men op het toestenbord ingegeven heeft. M.a.w. het toetsenbord kan azerty zijn terwijl de computer in qwerty staat. Herschrijf de string replace oefening van een voorgaand WPO door gebruik te maken van een switch case. Hierbij verander je de letters van het qwerty toetsenbord terug om naar het azerty toetsenbord. Zorg ervoor dat zowel kleine letters als hoofdletters correct omgezet worden. Bij default waarden geldt dat het huidige karakter niet omgezet wordt. Print de nieuwe tekst af in een aparte textbox. 2.7 A: To reverse or not to reverse Schrijf een programma waarin je een array gaat manipuleren. Dit programma voorziet 3 opties: Print de array in dezelfde volgorde af in een label. Print de array in omgekeerde volgorde af (in dezelfde label). Verander alle elementen in de array door random getallen en print daarna de array af in dezelfde label. Om de keuze tussen de 3 opties te kunnen maken wordt er op de het formulier een combobox (naam = cmbbox) gezet. Om de opties in de combobox te plaatsen kan men onderstaand stukje code gebruiken. Codefragment 1: Combobox vullen met 3 elementen 1 cmbbox.items.add("print in volgorde af"); 2 cmbbox.items.add("print in omgekeerde volgorde af"); 3 cmbbox.items.add("print randomwaarden af"); Deze code wordt bij het opstarten van het programma uitgevoerd. Die code wordt dus in de functie public MainWindow() geplaatst. Bovenstaande code wordt dus omgebouwd tot onderstaand codefragment. 3

Codefragment 2: Combobox vullen met 3 elementen 1 public MainWindow() 2 { 3 InitializeComponent(); 4 // add additional code here to launch at startup of our application 5 cmbbox.items.add("print in volgorde af"); 6 cmbbox.items.add("print in omgekeerde volgorde af"); 7 cmbbox.items.add("print randomwaarden af"); 8 } Om te weten welk element uit de combobox geselecteerd is geweest, wordt de eigenschap SelectedIndex opgevraagd. Deze eigenschap is een getal tussen 1 en n 1 met n het aantal opties. Indien men 1 terugkrijgt, is geen enkele optie geselecteerd. In de andere gevallen is een optie aangeduid. Dit kan gebruikt worden binnen een switch case. Codefragment 3: Geselecteerde index van een combobox opvragen 1 switch(cmbbox.selectedindex) 2 { 3 case 0: 4 //----- 5 break; 6 case 1: 7 //----- 8 break; 9 case 2: 10 //----- 11 break; 12 default: // (-1 and others) 13 //----- 14 } 2.8 E: Random values Schrijf een programma dat op regelmatige tijdstippen een nieuw getal genereert en het aan een label op het formulier toevoegt. Dit label moet ook van doorzichtigheid veranderen en het is pas wanneer de doorzichtigheid op 0 staat dat er een nieuwe waarde toegevoegd mag worden. De doorzichtigheid verandert als volgt: als de doorzichtigheid op 0 (of lager) staat, gaat de doorzichtigheid toenemen totdat die 1 bereikt (double), als de doorzichtigheid op 1 (of groter) staat, gaat die terug naar 0 aftellen. Gebruik een variabele die je op 1 of -1 instelt, naargelang dat de doorzichtigheid toe- of afneemt. Gebruik een waarde die kleiner is dan 0.1 om de increment of decrement te realiseren. Hieronder worden een aantal afbeeldingen weergegeven van het resultaat. 4

Hint: Gebruik de Opacity eigenschap van de label om de doorzichtigheid (tussen 0 en 1) aan te passen. Figuur 3: Start programma. Figuur 4: Random values na de 1 ste iteratie. Figuur 5: Random values na de 5 de iteratie. Figuur 6: Random values na 7 de iteratie. Merk de doorzichtigheid van de label op. 2.9 E: Klok Programmeer een analoge klok waarin enkel de seconden en minuten weergegeven worden. Gebruik een timer die je om de seconde laat afgaan (wijzers bewegen). Gebruik een canvas dat je op 300 bij 300 pixels instelt. Het middelpunt van de klok plaats je in het midden van de canvas. De wijzers worden weergegeven a.d.h.v. lijnen die van dat middelpunt vertrekken. De wijzers hebben een lengte van 120 pixels. Hint: De eindpunten van de wijzers t.o.v. het middelpunt M kunnen gevonden worden via formule 1. { Px = M P = x + 120 cos(2 π t ) 60 P y = M y + 120 sin(2 π t ) (1) 60 5

Figuur 7: Voorbeeld klok 6