Positieve Consument
Consumenten wordt gevraagd om een gehele score, groter dan of gelijk aan 0, op te geven die hun appreciatie m.b.t. een product aangeeft.
Op basis van die scores, bepalen we de gehele grenswaarde g.
Deze grenswaarde is de hoogste waarde waarvoor geldt dat minstens 1/3 van de consumenten een score aan geeft groter dan of gelijk aan g.
Voorbeeld
ArrayList<Double> scores = new ArrayList<>();
scores.add(7.0);
scores.add(9.0);
scores.add(6.0);
scores.add(5.0);
scores.add(7.5);
scores.add(8.5);
scores.add(8.0);
scores.add(3.0);
scores.add(2.0);
scores.add(8.0);
scores.add(5.0);
scores.add(4.0);
scores.add(6.5);
scores.add(7.5);
scores.add(8.0);
scores.add(4.5);
scores.add(6.0);
scores.add(7.5);
scores.add(8.0);
scores.add(5.0);
Sorteer deze scores => [2.0, 3.0, 4.0, 4.5, 5.0, 5.0, 5.0, 6.0, 6.0, 6.5, 7.0, 7.5, 7.5, 7.5, 8.0, 8.0, 8.0, 8.0, 8.5, 9.0]
Er zijn 20 scores => de grenswaarde is de score op positie 20 - 7
Waren er bijvoorbeeld 18 scores geweest => de grenswaarde is de score op positie 18 - 6
Dronken woorden
Dronken mensen voelen zich wel eens beter of groter dan ze zijn. Andere mensen vallen gewoon in slaap na overmatig alcoholgebruik. Wat als woorden kunnen drinken? Wat zou er dan gebeuren?
Voer je een woord dronken, dan wordt elke letter dronken op zijn eigen karakteriële wijze:
Je hebt een BOB: de eerste letter van het woord drinkt niet en neem je gewoon over.
De blaaskaak: alle letters op een even index groter dan 0 worden hoofdletters.
Een volger: op een klinker (a, e, i, o of u) die in het nieuwe woord door regel 1 of 2 een hoofdletter geworden is, volgt altijd een hoofdletter.
Schrijf een methode dronken_voeren die een woord bestaande uit één of meerdere letters volgens de bovenstaande regels dronken voert. De functie geeft het dronken woord terug.
Voorbeelden
dronken_voeren("drinkeboer") => "drINKeBoER"
dronken_voeren("Alcoholist") => "ALCoHoLiSt"
dronken_voeren("kannenKIJKER") => "kaNnENKIJKER"
Tips
1 zin omzetten naar een ArrayList van karakters kan met behulp van de volgende code. Op het einde kan de methode toString gebruiken om de arraylist te retourneren als string
public static String dronken_voeren (String woord) {
ArrayList<String> letters = new ArrayList<>(Arrays.asList(woord.split("")));
for (int i = 1; i < letters.size(); i++) {
// hier code toevoegen
}
return letters.toString();
}
Wimbledon
Het decoderen van een bericht dat gecodeerd werd met de Wimbledon-versleuteling hierop neer: neem het eerste karakter, het laatste karakter, het tweede karakter, het voorlaatste karakter, het derde karakter, enzoverder.
Schrijf een methode decodeer waaraan een bericht (str) moet doorgegeven worden dat gecodeerd werd met de Wimbledon-versleuteling. De functie moet het originele bericht (str) teruggeven.
Schrijf een methode codeer waaraan een bericht (str) moet doorgegeven worden. De functie moet de Wimbledon-versleuteling gebruiken om de gecodeerde versie van het gegeven bericht (str) terug te geven.
Voorbeelden
decodeer("Oea ie.mtat n") => "One at a time."
decodeer("W'entwies u o,cnw ev.erse a ybtb,rta o re") => "We're not waiters, but boy, can we serve."
decodeer("Dtn enspae srsy oemasntigt s.uo nho ne vL.ki iryl intagia") => "Dating a tennis player is risky. Love means nothing to us."
codeer("One at a time.") => "Oea ie.mtat n"
codeer("We're not waiters, but boy, can we serve.") => "W'entwies u o,cnw ev.erse a ybtb,rta o re"
codeer("Dating a tennis player is risky. Love means nothing to us.") => "Dtn enspae srsy oemasntigt s.uo nho ne vL.ki iryl intagia"
Tips
Tip 1: 1 zin omzetten naar een ArrayList van karakters kan met behulp van de volgende code
public static String decodeer(String zin) {
ArrayList<String> letters = new ArrayList<>(Arrays.asList(zin.split("")));
System.out.println(letters);
...
}
Tip 2: maak in de methode decodeer gebruik van remove waarbij telkens het eerste / laatste karakter wordt verwijderd uit de oorspronkelijke arraylist
Tip 3: maak in de methode codeer gebruik van een lege arraylist waarbij je telkens een nieuw karakter "in het midden" van de arraylist toevoegt
codeer("One at a time.") => "Oea ie.mtat n"
De resulterende arraylist wordt
["O"]
["O", "n"]
["O", "e", "n"]
["O", "e", " ", "n"]
["O", "e", "a", " ", "n"]
["O", "e", "a", "t", " ", "n"]
["O", "e", "a", " ", "t", " ", "n"]
...
Opmerkingen
Indienen tegen 16 maart 2022: kopieer en plak de code in een kladblok bestand met uw_voornaam en uw_familienaam en stuur dit naar sabine.devreese@groeipunt.be