> For the complete documentation index, see [llms.txt](https://apwt.gitbook.io/cursus-pro-oo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apwt.gitbook.io/cursus-pro-oo/semester-1-programming-principles/h1-variabelen-en-datatypes/a_practica.md).

# Oefeningen

Al deze oefeningen maak je in een klasse `VariabelenEnDatatypes`. In de oefeningen van hoofdstuk 1 heb je gezien hoe je een nieuwe klasse maakt.

## Oefening: H2-optellen

### Leerdoelen

* gebruik van variabelen om input via `Console.ReadLine` op te slaan&#x20;
* berekeningen met de opgeslagen data uitvoeren
* het resultaat dat werd opgeslagen in een variabele via `Console.WriteLine` te tonen

### Functionele analyse

Een applicatie vraagt je twee getallen in te voeren. Na de invoer van het tweede getal worden beide getallen bij elkaar opgeteld. Het resultaat wordt uiteindelijk weergeven.

### Technische analyse

Noem de methode voor deze oefening `Optellen`.

1. De vraag wordt gesteld om een getal in te typen en daarna op enter/return te drukken.
2. Er wordt gevraagd een tweede getal in te typen en dan op enter/return te drukken.
3. De twee getallen worden opgeteld.
4. Het resultaat wordt weergegeven.

#### voorbeeldinteractie(s)

```
Wat is het eerste getal?
> 1
Wat is het tweede getal?
> 4
De som is 5.
```

### Technische hulp

#### Programmaverloop

Lees de gebruikersinvoer van de console en sla dit op in een variabele voor wat het eerste getal betreft. Herhaal dit voor het tweede getal. Tel de twee getallen samen en bewaar deze in een derde variabele. Uiteindelijk geef je dan de inhoud van deze derde variabele weer in de console.

Let op: met `Console.ReadLine()` lees je **tekst** in, dus waarden die je kan toekennen aan variabelen van type `string`. Om een getal in te lezen, vervang je `Console.ReadLine()` door `Convert.ToInt32(Console.ReadLine())`. De werking hiervan zie je later.

#### Testscenario's

* Voer tekst in.
* Voer een getal met 100 cijfers in.
* Voer geen getal in.

## Oefening: H2-verbruik-wagen

### Leerdoelen

* gebruik van variabelen om input via `Console.ReadLine` op te slaan&#x20;
* berekeningen met de opgeslagen data uitvoeren
* het resultaat dat werd opgeslagen in een variabele via `onsole.WriteLine` te tonen

### Functionele analyse

Een applicatie zal voor jou het gemiddelde verbruik van een wagen berekenen.

Hiervoor worden volgende vragen gesteld:

1. Hoeveel liter is er nog aanwezig in de benzinetank.&#x20;
2. Hoeveel liter zit er nog in de benzinetank na de rit.&#x20;
3. Ook de kilometerstand van bij de aanvang van de rit wordt gevraagd en ook deze nadat de rit werd uitgevoerd.&#x20;

Op basis van deze parameters wordt het gemiddelde verbruik berekend en weergegeven.

### Technische analyse

Noem de methode voor deze oefening `VerbruikWagen`.

1. De vraag wordt gesteld om het aantal liter, aanwezig in de benzinetank, op te geven.&#x20;
2. Daarna wordt gevraagd om ook het aantal liter op te geven na de rit.&#x20;
3. De kilometerstand van de aanvang van de rit wordt gevraagd.&#x20;
4. Uiteindelijk ook de kilometerstand na het beëindigen van de rit wordt opgevraagd.

#### voorbeeldinteractie(s)

![](/files/-MUPvwjNVDQH9rjAg9wi)

### Technische hulp

#### Programmaverloop

Lees de gebruikersinvoer van de console en slaag dit op in variabelen.

Zorg ervoor dat je het juiste gegevenstype kiest voor de verschillende variabelen.

Nadien voer je de berekening uit om op basis van de ingevoerde gegevens het gemiddeld verbruik te berekenen (100 \* (aantalLiterinTankVoorRit - aantalLiterinTankNaRit) / (kilometerstandNaRit - kilometerstandVoorRit))

Uiteindelijk geef je dan het resultaat weer in de console.

#### Testscenario's

* Voer tekst in.
* Voer een getal met 100 cijfers in.
* Voer geen getal in.

## Oefening: H2-beetje-wiskunde

### Leerdoelen

* expressies schrijven
* voorrang van operatoren
* effect van operaties naargelang datatype begrijpen

### Functionele analyse

Je schrijft een programma dat de rol vervult van een rekenmachine. Het voert volgende berekeningen uit:

* -1 + 4 \* 6
* ( 35+ 5 ) \* 7
* 14 + -4 \* 6 / 11
* 2 + 15 / 6 \* 1 - 7 \* 2

### Technische analyse

Noem de methode voor deze oefening `BeetjeWiskunde`.

#### voorbeeldinteractie(s)

```
23
280
12
-10
```

### Technische hulp

#### Programmaverloop

Eerst wordt een resultaat berekend, daarna wordt het geprint.

#### Testscenario's

* Test uit met getallen van het type `int`.
* Test uit met getallen van het type `float`.

### Ondersteunend materiaal

[Hier](https://www.programiz.com/csharp-programming/operator-precedence-associativity) vind je een tabel terug die uitlegt welke operaties voorrang hebben.

## Oefening: H2-gemiddelde

### Leerdoelen

* expressies schrijven
* voorrang van operatoren
* effect van operaties naargelang datatype begrijpen

### Functionele analyse

Je schrijft een programma dat het gemiddelde van 18, 11 en 8 berekent, d.w\.z. deze drie getallen optelt en de som deelt door drie.

### Technische analyse

Noem de methode voor deze oefening `Gemiddelde`.

#### voorbeeldinteractie(s)

```
12
```

### Technische hulp

#### Programmaverloop

Eerst wordt het resultaat berekend, daarna wordt het geprint.

#### Testscenario's

* Test uit met getallen van het type `int`.
* Test uit met getallen van het type `float`.

## Oefening: H2-maaltafels

### Leerdoelen

* de console leegmaken
* werken met wiskundige operatoren
* interactie met de gebruiker

### Functionele analyse

Je schrijft een programma dat de tafel van vermenigvuldiging voor 411 geeft. Dit programma wacht steeds tot de gebruiker op ENTER duwt voor het het volgend resultaat toont. Verder maakt het steeds het scherm leeg voor het een nieuw resultaat toont. Zie "programmaverloop".

### Technische analyse

Noem de methode voor deze oefening `Maaltafels`. Je kent nog geen lusstructuren, dus probeer deze niet te gebruiken, zelfs als je ze al ergens anders bent tegengekomen. Schrijf gewoon tien instructies.

#### voorbeeldinteractie(s)

```
1 * 411 is 411.
```

```
2 * 411 is 822.
```

(enzovoort)

```
10 * 411 is 4110.
```

### Technische hulp

#### Programmaverloop

Voor elk resultaat wordt het scherm eerst leeggemaakt. Daarna pas wordt het resultaat getoond. Wanneer de gebruiker op ENTER duwt, wordt deze handeling herhaald voor het volgende resultaat (of eindigt het programma, na het tiende resultaat). Het scherm leegmaken doe je met `Console.Clear()`. Plaats 411 ook in een variabele.

#### Testscenario's

* Test uit zoals gegeven.
* Test uit voor 511. Je zou maar één teken in je code moeten aanpassen als je de instructies hebt gevolgd.

## Oefening: H2-ruimte

### Leerdoelen

* werken met kommagetallen

### Functionele analyse

Je massa is overal dezelfde en wordt uitgedrukt in kilogram. Je gewicht daarentegen is afhankelijk van de zwaartekracht van de plek waar je bent en wordt uitgedrukt in Newton. Je hebt dus een ander gewicht op andere planeten. Zo is je gewicht veel groter op Jupiter dan op Mars, omdat Jupiter meer zwaartekracht uitoefent dan Mars. Schrijf een programma dat je gewicht op aarde omzet naar je gewicht op een ander hemellichaam. Je krijgt volgende omzettingstabel:

* Mercurius: 0.38 (een persoon van 100kg voelt zich alsof hij 38kg weegt)&#x20;
* Venus: 0.91
* Aarde: 1.00 (een persoon van 100kg voelt zich alsof hij 100kg weegt)
* Mars: 0.38
* Jupiter: 2.34
* Saturnus: 1.06
* Uranus: 0.92
* Neptunus: 1.19
* Pluto: 0.06&#x20;

### Technische analyse

Noem de methode voor deze oefening `Ruimte`.

#### voorbeeldinteractie(s)

```
Op Mercurius voel je je alsof je 26.22kg weegt.
Op Venus voel je je alsof je 62.79kg weegt.
Op Aarde voel je je alsof je 69kg weegt.
Op Mars voel je je alsof je 26.22kg weegt.
Op Jupiter voel je je alsof je 161.46kg weegt.
Op Saturnus voel je je alsof je 73.14kg weegt.
Op Uranus voel je je alsof je 63.48kg weegt.
Op Neptunus voel je je alsof je 82.11kg weegt.
Op Pluto voel je je alsof je 4.14kg weegt.
```

### Technische hulp

#### Programmaverloop

Plaats je gewicht in een variabele. Kies zelf een geschikt type.

#### Testscenario's

* Test uit voor je eigen gewicht.
* Test uit voor het gewicht van een persoon met een massa van 100kg.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://apwt.gitbook.io/cursus-pro-oo/semester-1-programming-principles/h1-variabelen-en-datatypes/a_practica.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
