--- robots: noindex, nofollow --- 01 C# syntax (part1) === [toc] # Theory subject Basic C# Syntax # Lab subjects * **Maak** een nieuw Xamarin.Forms project aan * **Maak** onderstaande oefeningen * **Deploy** naar Android emulator (en fysiek toestel indien aanwezig) # Assignments ## Exercise 1 Elk kind in het kleuterklasje mag zijn favoriete kleur zeggen. Deze kleuren worden bewaard in een list. ```csharp! List<String> list_favoriete_kleuren_kinderen = new List<String>() { "groen", "geel", "roze", "blauw", "rood", "groen", "roze", "geel", "geel", "zwart", "roze", "bruin" }; ``` Maak een functie ‘**tel_kleuren**’ die deze **list** als parameter aanvaardt. De functie geeft een **dictionary** terug waarin je per kleur bijhoudt hoeveel maal deze kleur voorkomt. Print alles netjes af: ```csharp! [0:] Tellen van de favoriete kleuren bij kinderen [0:] * de kleur groen komt 2 maal voor [0:] * de kleur geel komt 3 maal voor [0:] * de kleur roze komt 3 maal voor [0:] * de kleur blauw komt 1 maal voor [0:] * de kleur rood komt 1 maal voor [0:] * de kleur zwart komt 1 maal voor [0:] * de kleur bruin komt 1 maal voor ``` Maak nog een extra functie ‘**geef_favoriete_gekozen_kleuren**’. Deze functie heeft 1 dictionary als parameter. Deze parameter is het resultaat van de vorige functie. Het resultaat van de functie is een list met de kleuren die het meeste voorkomen in de **dictionary**. ```csharp! [0:] De kleuren met de meeste stemmen zijn: [0:] geel [0:] roze ``` ## Oefening 2 In een dictionary worden verschillende leslokalen met het aantal aanwezige stoelen bijgehouden. De key vormt het lokaalnummer, de value is het aantal stoelen. ```csharp! Dictionary<String, int> lokalen = new Dictionary<string, int> { { "KWE.P.0.002", 200 }, { "KWE.P.1.103", 20 }, { "KWE.A.1.103", 60 }, { "KWE.A.1.104", 30 }, { "KWE.A.1.302", 64 }, { "KWE.A.1.301", 64 } }; ``` Maak een functie ‘**bepaal_corona_lokalen**’ die deze dictionary en een groepsgrootte meekrijgt. De functie overloopt de **dictionary** en geeft enkel de lokalen die corona-proof zijn terug. Een lokaal is corona-proof wanneer het aantal stoelen minimum tweemaal het aantal leerlingen uit de groep bedraagt. De lokaalnummers van de corona-proof lokalen worden via een list terug gegeven. Zorg dat de list in de functie ook gesorteerd wordt. Test vervolgens de functie met volgend voorbeeld: ```csharp! [0:] Geschikte lokalen voor een groep 30 leerlingen zijn: [0:] - KWE.A.1.103 [0:] - KWE.A.1.301 [0:] - KWE.A.1.302 [0:] - KWE.P.0.002 ``` ## Oefening 3 Je krijgt een dictionary met de verschillende aankopen (winkelkarretjes) van klanten. Zo zie je dat er in Sandra haar winkelkar drie aankopen liggen, één van 45, één van 45 en één van 10 euro. ```csharp! Dictionary<String, List<int>> dict_aankopen = new Dictionary<String, List<int>>(); dict_aankopen.Add("jan", new List<int>() { 100, 50, 20 }); dict_aankopen.Add("piet", new List<int>() { 10, 70, 20, 4, 58, 542 }); dict_aankopen.Add("karel", new List<int>() { 9 }); dict_aankopen.Add("sandra", new List<int>() { 45, 45, 10 }); ``` Maak een functie ‘**bepaal_dure_winkelkarretjes**‘ die twee parameters aanvaardt. Een **dictionary** met de aankopen van de verschillende klanten en een grenswaarde. De functie geeft de namen terug (als list) van alle klanten waarvan de totale waarde van de winkelkar de opgegeven grenswaarde overschrijdt. Test uit met grenswaarde 200€. ```csharp! [0:] Van volgende personen was de waarde van winkelkar hoger dan 200€: [0:] - piet ``` ## Oefening 4 Gegeven is een dictionary waarin de studenten met hun score voor het vak Device Programing worden bij gehouden De key vormt de naam van de student, de value is de totale score. ```csharp! Dictionary<String, int> scores = new Dictionary<string, int> { { "Jan", 3 }, { "Paul", 2 }, { "Jef", 5 }, { "Bram", 0 }, { "Pieter", 4 }, { "Koen", 0 } }; ``` Roep voor iedere student een functie ‘**toonbeoordeling**’ op die de naam en score meekrijgt. Deze functie print de naam en bijhorende beoordeling af. Maak hier gebruik van een switch statement. De beoordelingsschaal ziet er als volgt uit: |Score | Beoordeling |:------ |:----------- | 5 | Goed 4 | Gemiddeld 3 | Gemiddeld 2 | Zwak 1 | Onvoldoende 0 | Onvoldoende ```csharp! [0:] Beoordeling per student: [0:] -Jan => Gemiddeld [0:] -Paul => Zwak [0:] -Jef => Goed [0:] -Bram => Onvoldoende [0:] -Pieter => Gemiddeld [0:] -Koen => Onvoldoende ``` ###### tags: `Device Programming` `MCT` `Syllabus`