Mofturile repartizării lecţiilor (II)
Reformulăm repartizarea lecţiilor pe orele zilei, încât să evităm şi suprapunerile ascunse induse de cuplaje – eliminând astfel, programul separat pe care-l utilizam anterior pentru corectarea acestora.
Mofturile repartizării lecţiilor
Să nu modelăm derogări! La urma urmei, un pachet de programe are de reflectat consecvent principiile domeniului pe care vrea să-l deservească, nu obişnuitele chichiţe şi ascunzişuri legislative înşurubate tam-nisam din exteriorul acestuia.
O procedură (interactivă) simplă pentru omogenizarea distribuţiei lecţiilor cuplate.
Modelarea încadrării profesorilor
Pentru programele de repartizare pe zile şi ore a lecţiilor este necesar să constituim în prealabil anumite seturi de date – pe lângă cel de bază, al tuturor lecţiilor – şi anumite „dicţionare”; de aceea, se cuvine să vorbim de modelarea încadrării şi nu doar (ca anterior, pe aici) de „matricea de încadrare”.
Abstractizarea datelor orarului şcolar
Notaţia folosită anterior (p01
, p02
, ..., p83
) este chiar săracă: "p
" este o literă oarecare (putea fi "t
" de la "teacher", sau "y" de la "учитель", etc.), iar "55
" ar spune doar că p55
are mai multe ore decât p71
(şi mai puţine decât p25
); parcă şi „notaţia” vulgară "profu' de mate" este mai consistentă…
Îmbunătăţirea de făcut este străvezie, dar realizarea acesteia este chiar instructivă – reflectând într-un context real, o seamă de aspecte specifice programării în limbajul R.
Înapoi, de la orar (PDF) la matricea de încadrare
Ceea ce ne trebuie ca să construim un orar este matricea de încadrare, care sintetizează legăturile dintre profesori şi clase; pe baza acesteia constituim setul tuturor lecţiilor prof
| cls
şi pentru a asocia încadrării date, un orar sau altul – montăm o coloană pentru alocarea după anumite principii, a zilelor şi una pentru alocarea pe orele zilei a lecţiilor.
Pentru a experimenta această idee şi a pune la punct programele de alocare necesare (v. [1]), am folosit orare existente (într-o formă finală) pe site-urile unor licee – trebuind deci să deducem din orarul prezentat, matricea de încadrare.
vezi Cărţile mele (de programare)