OLD [G_PRO] Programmeren en OO programmeren
experimentalmerge5
experimentalmerge5
  • Welkom
  • Inleiding
    • Benodigdheden
    • Afspraken code
    • Afspraken oefeningen
    • Nuttige extras
    • Dankwoord
    • Mee helpen?
  • Semester 1: Programming Principles
    • H0: Werken met Visual Studio
      • Introductie tot C#
      • Werken met Visual Studio
      • Je eerste programma
      • Input verwerken met ReadLine
      • Fouten in je code
      • Kleuren in Console
      • Oefeningen
    • H1: Variabelen en datatypes
      • De essentie van C#
      • Datatypes
      • Variabelen
      • Expressies en operators
      • Oefeningen
    • H2: Tekst in code
      • Strings en chars
      • Strings samenvoegen
      • Unicode tonen
      • Oefeningen
      • Uitbreidingsoefeningen
    • H3: Werken met data
      • Casting, conversie en parsing
      • Input verwerken en omzetten
      • Math-library en berekeningen
      • Random
      • Debuggen
      • Oefeningen
    • H4: Beslissingen
      • Beslissingen intro
      • Booleanse logica en operators
      • If
      • Scope van variabelen
      • enum
      • Switch
      • Oefeningen
    • H5: Loops
      • Loops intro
      • While en Do While
      • For
      • Nesting
      • Programma flow analyse
      • Oefeningen deel 1
      • Oefeningen deel 2
      • Oefeningen deel 3
    • H6: Methoden
      • Methoden intro
      • Bibliotheken
      • Geavanceerde methoden
      • Oefeningen
      • Uitbreidingsoefeningen
    • H7: Arrays
      • Array principes
      • Werken met arrays
      • Arrays en methoden
      • N-dimensionale arrays
      • Oefeningen deel 1
      • Oefeningen deel 2
  • Semester 2 : OOP
    • H8: Klassen en objecten
      • OOP Intro
      • Klassen en objecten in C#
      • Methoden en access modifiers
      • Properties
      • DateTime: leren werken met objecten
      • (Klassikale!) smaakmaker OOP
      • Oefeningen
    • H9: Geheugenmanagement bij klassen
      • Objecten en methoden
      • Stack en Heap
      • Null en NullReferenceException
      • Oefeningen
    • H10: Geavanceerde klassen en objecten
      • Constructors
      • Static
      • Spelen met strings
      • Oefeningen
    • H11: Arrays en klassen
      • Arrays van objecten
      • Foreach en var
      • List
      • Oefeningen
      • Extra oefeningen
    • H12: Overerving
      • Overerving intro
      • Constructors bij overerving
      • Virtual en override
      • Base keyword
      • Oefeningen
    • H13: Geavanceerde overerving
      • System.Object
      • Abstract
      • Oefeningen
  • Appendix
    • Ea-ict coding guidelines
    • Oefeningen kerkhof
  • Semester 1 appendix
    • Nice to know stuff
      • Out en Ref parameters
      • Jagged arrays
    • All-In-Projecten
      • Overzicht
      • Console Matrix
      • Ascii filmpjes maken met loops
      • Ascii filmpjes maken met methoden
      • Fun with methods: een verhaalgenerator
      • Tekst-gebaseerd Maze game
      • Conway game of life
  • Semester 2 appendix
    • Nice to know stuff
      • Klassen herbruiken
      • Operator overloading
      • Expression bodied members
    • All-In-Projecten
      • Overzicht
      • OO Textbased Game
      • War Simulator
      • Map Maker
      • Magic The Gathering API
  • Pro (geen leerstof en/of in opbouw)
    • Bitwise operators
    • Generics en collections
      • Generics methoden en types
      • Generic classes en constraints
      • Collections
      • Labo-oefeningen
    • Exception handling
      • Werken met exceptions
      • Waar exceptions plaatsen
      • Zelf uitzonderingen maken
    • Events
      • Events
      • Chat server
    • Software engineering
      • SOLID
Powered by GitBook
On this page
  • Oefening 4: gemiddelde cijfers opvragen per vak
  • Leerdoelen
  • Functionele analyse
  • Technische analyse
  • Voorbeeldinteractie
  • Oefening 5: hoger, lager
  • Leerdoelen
  • Functionele analyse
  • Technische analyse
  • Voorbeeldinteractie

Was this helpful?

Export as PDF
  1. Semester 2 : OOP
  2. H11: Arrays en klassen

Extra oefeningen

Oefening 4: gemiddelde cijfers opvragen per vak

Leerdoelen

  • foreach

  • combinatie controlestructuren

Functionele analyse

Pas je oefening met CRUD-operaties op Student aan zodat we ook het gemiddelde per vak kunnen opvragen.

Technische analyse

  • Je werkt nog steeds met een List<Student>.

  • Optie 5, 6 en 7 tonen nu het gemiddelde voor communicatie, programmeren of webtechnologie (in die volgorde).

  • Optie 8 stopt het menu.

Voorbeeldinteractie

Nadat er al drie studenten zijn aangemaakt, met 12, 17 en 19 op communicatie:

Wat wil je doen?
> 5
Gemiddelde cijfer op communicatie: 16

Wat wil je doen?

Oefening 5: hoger, lager

Leerdoelen

  • List

Functionele analyse

Gebruik je eerdere code voor PlayingCard om een spelletje "hoger", "lager" toe te voegen.

Technische analyse

  • Eerst wordt GenerateDeck gebruikt om een lijst aan te maken en toe te kennen aan een variabele.

  • Een willekeurig getal wordt gegenereerd tussen 0 en de maximale index van een element in de lijst.

  • De kaart op deze indexpositie wordt toegekend aan een variabele van type PlayingCard met naam previousCard.

  • Deze kaart wordt ook verwijderd uit de lijst.

  • Volgende stappen herhalen zich zo lang alle kaarten niet zijn gespeeld:

    • De waarde van previousCard wordt getoond.

    • Een willekeurig getal wordt gegenereerd tussen 0 en de maximale index van een element in de lijst.

    • De kaart op deze indexpositie wordt toegekend aan een variabele van type PlayingCard met naam currentCard.

    • Deze kaart wordt ook verwijderd uit de lijst.

    • De gebruiker krijgt de vraag of de waarde van currentCard hoger, lager of gelijk aan de waarde van previousCard is.

    • currentCard vervang previousCard

  • Het spel stopt als de gebruiker een fout maakt of als het spel kaarten op is.

  • Noem de methode om het spel op te starten HigherLower()

Voorbeeldinteractie

Klaar om te spelen.
De vorige kaart had waarde 7.
Hoger (0), lager (1) of gelijk (2)?
> 0
De vorige kaart had waarde 11.
Hoger (0), lager (1) of gelijk (2)?
> 1
De vorige kaart had waarde 2.
Hoger (0), lager (1) of gelijk (2)?
> 2
Spel voorbij!
PreviousOefeningenNextH12: Overerving

Last updated 5 years ago

Was this helpful?