/// <summary> /// Becsli egy specializációra (ágazatra) besorolható maximális hallgatói létszámot a specializációcsoport besorolás közbeni aktuális létszáma alapján. /// </summary> /// <param name="spec">A specializáció (ágazat).</param> /// <param name="specGroup">A specializációcsoport, ahova az ágazat tartozik.</param> /// <param name="specGroupCount">A specializációcsoport aktuális létszáma.</param> /// <param name="totalCount">A teljes besorolható létszám.</param> /// <param name="unplacedCount">A még be nem sorolt hallgatók létszáma.</param> /// <returns>A specializációra (ágazatra) besorolható maximális létszámra adott becslés.</returns> private static int GetSpecMaxCount(Specialization spec, SpecializationGrouping specGroup, int specGroupCount, int totalCount, int unplacedCount) { // A maximális specializációcsoport-létszám alapján becsüljük a maximumot. A tényleges maximum lehet kisebb. int maxSpecGroupCount = Math.Min(specGroup.GetMaxCount(totalCount), specGroupCount + unplacedCount); return(spec.GetMaxCount(maxSpecGroupCount)); }
public SpecializationHeadcount(Specialization spec, SpecializationGrouping specGroup, int totalHeadcount) { MinimumCount = GetSpecMinCount(spec, specGroup, 0, totalHeadcount); MaximumCount = GetSpecMaxCount(spec, specGroup, 0, totalHeadcount, totalHeadcount); SameRankCount = 0; MinimumRankAverage = double.MaxValue; }
/// <summary> /// Becsli egy specializációra (ágazatra) besorolandó minimális hallgatói létszámot a specializációcsoport besorolás közbeni aktuális létszáma alapján. /// </summary> /// <param name="spec">A specializáció (ágazat).</param> /// <param name="specGroup">A specializációcsoport, ahova az ágazat tartozik.</param> /// <param name="specGroupCount">A specializációcsoport aktuális létszáma.</param> /// <param name="totalCount">A teljes besorolható létszám.</param> /// <returns>A specializációra (ágazatra) besorolandó minimális létszámra adott becslés.</returns> private static int GetSpecMinCount(Specialization spec, SpecializationGrouping specGroup, int specGroupCount, int totalCount) { // A minimális specializációcsoport-létszám alapján becsüljük a minimumot. A tényleges minimum lehet nagyobb. int minSpecGroupCount = Math.Max(specGroup.GetMinCount(totalCount), specGroupCount); return(spec.GetMinCount(minSpecGroupCount)); }
public SpecializationGroupingHeadcount(SpecializationGrouping specGroup, int totalCount) { MinimumCount = specGroup.GetMinCount(totalCount); MaximumCount = specGroup.GetMaxCount(totalCount); }