Objectgeoriënteerd Programmeren: WPO 1

Vergelijkbare documenten
Objectgeoriënteerd Programmeren: WPO 1

Informatica: C# WPO 6

Informatica: C# WPO 6

Informatica: C# WPO 5

Informatica: C# WPO 11

Informatica: C# WPO 9

Informatica: C# WPO 8

Informatica: C# WPO 7

Informatica: C# WPO 4

Informatica: C# WPO 12

Objectgeoriënteerd Programmeren: WPO 2

Informatica: C# WPO 13

Informatica: C# WPO 10

Informatica: C# WPO 2

Objectgeoriënteerd Programmeren: WPO 4B

Graphics. Small Basic graphics 1/6

OEFENINGEN PYTHON REEKS 5

Objectgeoriënteerd Programmeren: WPO 1

Labo 2 Programmeren II

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet

Objectgeoriënteerd Programmeren: WPO 3

PYTHON REEKS 1: BASICS. Mathias Polfliet

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 4

1.1 Differentiëren, geknipt voor jou

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1

SEQUENTIE-STRUCTUUR. Oefening: Dichtheid

Eindexamen vwo wiskunde B pilot 2013-I

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers

GEOGEBRA 4. R. Van Nieuwenhuyze. Hoofdlector wiskunde, lerarenopleiding HUB, Brussel. Auteur Van Basis tot Limiet.

Android apps met App Inventor 2 antwoorden

Variabelen en statements in ActionScript

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

IJkingstoets Wiskunde-Informatica-Fysica september 2017: algemene feedback

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

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

Programmeermethoden NA. Week 5: Functies (vervolg)

Eindexamen vmbo gl/tl wiskunde I

De vergelijking van Antoine

vwo wiskunde b Baanversnelling de Wageningse Methode

Voorbeeldtentamen Wiskunde B

44 De stelling van Pythagoras

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

6.0 Voorkennis AD BC. Kruislings vermenigvuldigen: Voorbeeld: 50 10x ( x 1) Willem-Jan van der Zanden

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

2.1 Lineaire functies [1]

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

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

IJkingstoets Wiskunde-Informatica-Fysica 29 juni Nummer vragenreeks: 1

Hoofdstuk 7: Werken met arrays

VISUALISATIE VAN KROMMEN EN OPPERVLAKKEN. 1. Inleiding

Probeer de vragen bij Verkennen zo goed mogelijk te beantwoorden.

NAAM: Programmeren 1 Examen 29/08/2012

Programmeren (1) Examen NAAM:

Wat is de som van de getallen binnen een cirkel? Geef alle mogelijke sommen!

3.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen.

De grafiek van een lineair verband is altijd een rechte lijn.

IJkingstoets Wiskunde-Informatica-Fysica september 2018: algemene feedback

8.1 Rekenen met complexe getallen [1]

Functioneel programmeren

Paragraaf 8.1 : Eenheidscirkel

10.0 Voorkennis. y = -4x + 8 is de vergelijking van een lijn. Hier wordt y uitgedrukt in x.

Opdracht 1 bladzijde 8

Practicum Programmeerprincipes

X. Grafische elementen

Opgave 1 Bestudeer de Uitleg, pagina 1. Laat zien dat ook voor punten buiten lijnstuk AB maar wel op lijn AB geldt: x + 3y = 5

Eindexamen wiskunde B1 vwo 2008-II

14.0 Voorkennis. sin sin sin. Sinusregel: In elke ABC geldt de sinusregel:

Trillingen en geluid wiskundig

wiskunde B vwo 2018-I

Paragraaf 7.1 : Eenheidscirkel en radiaal

Functies. Verdieping. 6N-3p gghm

1.1 Lineaire vergelijkingen [1]

Eindronde Natuurkunde Olympiade 2018 theorietoets deel 1

Fysica. Een lichtstraal gaat van middenstof A via middenstof B naar middenstof C. De stralengang van de lichtstraal is aangegeven in de figuur.

toelatingsexamen-geneeskunde.be

Examen VWO. wiskunde B1. tijdvak 2 woensdag 18 juni uur

1 Junior Wiskunde Olympiade : eerste ronde

BEGINNER JAVA Inhoudsopgave

Programmeren in C# Samenvatting van C#

Het installatiepakket haal je af van de website

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

Voorbereiding toelatingsexamen arts/tandarts. Wiskunde: goniometrie en meetkunde. 22 juli dr. Brenda Casteleyn

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

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.

9.1 Recursieve en directe formules [1]

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

Eindexamen wiskunde B1-2 vwo 2006-II

START WISKUNDE-ESTAFETTE RU 2007 Je hebt 60 minuten voor 20 opgaven. Het totaal aantal te behalen punten is 600.

Hoofdstuk 1 Spiegelen in lijn en in cirkel. Eigenschappen.

13 Vlaamse Wiskunde Olympiade: tweede ronde

****** Deel theorie. Opgave 1

Hoofdstuk 5: Functies voor getallen en teksten

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008

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

Sterrenwerk. Rekenen. voor 9-11 jaar. combineren en visualiseren 2

Transcriptie:

Objectgeoriënteerd Programmeren: WPO 1 1. Inhoud Opfrissing syntax, programmeermethodes, datatypes, functies/procedures, tekenen in C#. Herhaling Informatica 1 ste bachelor. 2. Oefeningen Demo 1: Volume bol Demo 2: Tel totdat... Demo 3: Geometrische figuren Demo 4: Vul de 1D-array/lijst Demo 5: Swapfunctie A: Fahrenheit to Celsius A: Binnen bereik A: Why do I print? A: Schaakbord A: Kogelwerpen A: Biljarttafel A: Interpoleer A: TryParse(double) E: Maaltafels E: Bijenkorf E: Waveforms 2.1 Demo 1: Volume bol Bereken het volume van een bol. Het volume van een bol wordt gegeven door vergelijking 1. V bol = 4πr3 (1) 3 Schrijf een programma dat de straal van de bol via een tekstveld inleest, en het resultaat in een ander tekstveld weergeeft. Voozie eveneens ook een knop Bereken om de berekening uit te voeren. 1

2.2 Demo 2: Tel totdat... Schrijf een programma dat de gebruiker om 2 getallen vraagt. Tel vanaf het eerste getal af totdat het 2 de getal bereikt is. Doe dit eerst a.d.h.v. een for-loop. Bouw daarna de loop om tot een while-loop. 2.3 Demo 3: Geometrische figuren In deze demo wordt het tekenen van eenvoudige geometrische figuren getoond. Om te tekenen wordt er een canvas op het formulier geplaatst. Verander de achtergrondskleur naar de gewenste kleur (hier zwart). Teken een horizontale witte lijn, waarop een rechthoek wordt getekend. Hiernaast wordt ook een rode bol getekend. Hint 1: Het assenkruis om te tekenen (canvas) is als volgt: het nulpunt van de tekening bevindt zich linksboven, horizontaal loopt de x-as van links naar rechts, verticaal loopt de y-as van boven naar beneden, dit betekent dat er in de verticale richting omgekeerd getekend wordt (spiegelen). Om een tekening volgens de y-as te plotten, vindt volgende omzetting plaats: 2.4 Demo 4: Vul de 1D-array/lijst y plot = Height canvas y (2) Schrijf een programma waarin een 1D-array gebruikt wordt. Deze array wordt oplopend gevuld door gebruik te maken van een loop. Nadien worden de waarden van deze array geprint binnen een tekstbox door gebruik te maken van een andere loop. Herhaal deze opgave door gebruik te maken van een lijst. 2.5 Demo 5: Swapfunctie In dit programma wordt een swapfunctie geschreven die toelaat om 2 getallen van klein naar groot te sorteren indien nodig. Laat deze los op een array van ongesorteerde getallen. Print zowel de originele array als het resultaat na sorteren af. De swapfunctie wordt hierbij opgeroepen met 2 argumenten die by reference worden doorgegeven. 2.6 A: Fahrenheit to Celsius Een weerstation beschikt over thermometers die enkel in Fahrenheit (F ) geijkt zijn. Om dezelfde temperatuur in graden Celcius (C ) te bekomen, moet volgende omzetting plaatsvinden: T Celcius = 5 9 (T F ahrenheit 32) (3) 2

Schrijf een programma dat de temperatuur in Fahrenheit inleest, en de temperatuur in Celcius weergeeft. Bij het weergeven dient ook de eenheid vermeld te worden! De output wordt in een label weergegeven. 2.7 A: Binnen bereik Schrijf een programma dat een getal van de gebruiker opvraagt. Via de knop Vergelijk wordt nagegaan of deze waarde zich tussen -100 en +100 bevindt. Indien dit zo is, wordt Binnen bereik in een messagebox getoond. In het andere geval geeft de messagebox Too bad, retry!!! weer. 2.8 A: Why do I print? In deze opgave wordt er gevraagd om de getallen van 0 t.e.m. X (door de gebruiker in te geven) te printen. Als het getal een veelvoud van 8 is, wordt er X geprint. Is het getal een veelvoud van zowel 8 en 5, wordt er Y geprint. 2.9 A: Schaakbord Teken een schaakbord door gebruik te maken van rode en groene vierkantjes die elkaar afwisselen (figuur 1). Elk vierkantje is 50 bij 50 pixels groot. Figuur 1: Voorbeeld programma 2.10 A: Kogelwerpen In een partijtje kogelwerpen worden massa s geworpen. De kromme die de massa s volgen wordt beschreven als: { x(t) = v cos(α) t y(t) = v sin(α) t 1 2 g t2 (4) Plot de baan die deze kogel aflegt. De beginsnelheid en de afschiethoek worden ingegeven worden door de gebruiker. Let hierbij op dat het mogelijk is dat de plot niet op het scherm past. Wanneer en op welke afstand raakt de kogel de grond? Ga ervan uit dat de kogel vanaf de grond afgeschoten wordt, en maak in het programma gebruik van een do-while lus. 3

Figuur 2: Voorbeeld kogelwerpen 2.11 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 3. Figuur 3: Voorbeeld biljarttafel 4

2.12 A: Interpoleer In onderstaande tabel worden alle getallen gegeven die op een even index staan. Het is nu aan jou om de waarden op de oneven plaatsen te berekenen. Die zijn momenteel aangeduid met X. Dit doe je door het gemiddelde te nemen van de naburige elementen. Print de hele array af in een tekstbox. Op hoeveel elementen moet je de array voorzien? Index Waarde 0 10 1 X 2 15 3 X 4 18 5 X 6 10 7 X 8-10 9 X 10-50 Kan je deze oefening herhalen door gebruik te maken van een list? 2.13 A: TryParse(double) De klassieke double.parse conversie laat toe om string naar een kommagetal om te zetten. Echter kan het zijn dat een gebruiker een gewoon karakter ingeeft (anders dan de punt of komma) waardoor deze omzettingsmethode niet goed zal functioneren. Schrijf een functie die eerst nagaat of de ingegeven tekst effectief enkel een getal bevat. Indien dit zo is wordt deze tekst omgezet in een getal. De functie retourneert een boolean waarde (true indien gelukt, false indien niet gelukt). De waarde na omzetting (double) wordt via de out -statement aan de oproepende functie teruggestuurd. 2.14 E: Maaltafels In de lagere school zal je ongetwijfeld de maaltafels hebben gezien. In deze opgave zal je een dergelijke tafel programmeren. Zorg ervoor dat je via 2 geneste for-loops onderstaande output (zie figuur 4) (textbox/label) kan genereren. 5

Figuur 4: Voorbeeldprogramma maaltafels. Hint: Gebruik \n aan elk regeleinde. 2.15 E: Bijenkorf Schrijf een procedure die een zeshoek kan tekenen. Deze procedure heeft als argumenten: x coördinaat, y coördinaat, de straal van de zeshoek. Een zeshoek bestaat uit 6 punten die elk evenver liggen van het middelpunt. Hint: Een zeshoek heeft 6 gelijke zijden die elk overeenkomen met een hoekverdraaiing van 2 π 6. Roep deze functie aan om verschillende zeshoeken naast elkaar te tekenen. Op deze manier kan je een bijenkorf nabootsen. 6

Figuur 5: Voorbeeld oplossing: Bijenkorf 2.16 E: Waveforms Schrijf een programma waarin je 4 functies voorziet. De eerste 3 functies berekenen een geluidsgolf (zie hieronder voor de type geluidsgolven) en retourneren een array met daarin de wave. De 4 de functie tekent een geluidsgolf a.d.h.v. een array van waarden. De te tekenen geluidsgolven zijn: een blokgolf, een zaagtand, een sinusoïdaal. Deze worden weergegeven in afbeelding 6. 7

Figuur 6: Voorbeelden van een blokgolf, zaagtand en sinusgolf. Elk van deze functies retourneert een array met daarin de samples. volgende argumenten: de breedte van de canvas (pixels), Elke functie heeft de frequentie van de golf: aantal keren op en afgaan van de golf t.o.v. de breedte van de canvas, de amplitude: verhouding t.o.v. de hoogte van de canvas (een amplitude van 1 neemt dus de volledige canvashoogte in). De 4 de en laatste functie tekent 1 golf uit op de canvas. De keuze van welke golf getekend wordt, wordt bepaald door de keuze van een combobox. Deze functie heeft als argument de 8

array met de samples en retourneert niets (tekent alleen). In het programma zijn de frequentie, golfvorm en amplitude in te geven door de gebruiker. 9