Index: TECH/Algo/GroepVerdeler.cls.xml =================================================================== diff -u --- TECH/Algo/GroepVerdeler.cls.xml (revision 0) +++ TECH/Algo/GroepVerdeler.cls.xml (revision 357) @@ -0,0 +1,93 @@ + + + +%RegisteredObject + + + +Gelijkmatige verdeling van AantalElementen over AantalGroepen. +Voorbeeld : er zijn 7 knikkers te verdelen over 5 groepen De groepen worden dan als volgt gevuld. +Groep1 : 2 knikkers +Groep2 : 2 knikkers +Groep3 : 1 knikker +Groep4 : 1 knikker +Groep5 : 1 knikker +AantalElementen:%Integer,AantalGroepen:%Integer +%ListOfDataTypes + + + + + +MaximumInvullingPerGroepGreedy verdeling, zorgt ervoor dat er een maximum aantal elementen in een groep terecht komt. +Er worden groepen bij aangemaakt zoveel als nodig. +Voorbeeld : er zijn 13 knikkers te verdelen met een MaximaleInvulling van 5. De groepen worden dan als volgt gevuld. +Groep1 : 5 +Groep2 : 5 +Groep3 : 3 +AantalElementen:%Integer,MaximumInvullingPerGroep:%Integer +%ListOfDataTypes + MaximumInvullingPerGroep) { + Do GesplitsteAantallen.Insert(MaximumInvullingPerGroep) + Set AantalElementen=AantalElementen-MaximumInvullingPerGroep + } + If AantalElementen>0 { + Do GesplitsteAantallen.Insert(AantalElementen) + } + Quit GesplitsteAantallen +]]> + + + + +MaximumInvullingPerGroepNonGreedy verdeling, zorgt ervoor dat er een maximum aantal elementen in een groep terecht komt. +Er worden groepen bij aangemaakt zoveel als nodig. +Voorbeeld : er zijn 13 knikkers te verdelen met een MaximaleInvulling van 5. De groepen worden dan als volgt gevuld. +Groep1 : 5 +Groep2 : 4 +Groep3 : 4 +AantalElementen:%Integer,MaximumInvullingPerGroep:%Integer +%ListOfDataTypes + + + + + +