Nu este bună o repartizare pe zile arbitrară a lecțiilor (fără alt principiu decât acela de a mulțumi profesorii, adică fără niciun principiu), dar din punct de vedere practic este mai bună una "cvasi-perfectă", decât una "perfectă".
Repartizarea pe zile a celor 1172 de lecții prof|cls obținută și redată în format CSV anterior este chiar perfectă — pentru zile, clase, profesori și discipline, distribuția numărului de ore/zi este uniformă, adică pe fiecare zi avem $\boldsymbol{\left\lfloor\frac{N}{5}\right\rfloor} + \left/0\;sau\,1\right/$ ore, unde $N$ este fie totalul de 1172 ore, fie numărul total de ore ale unei clase oarecare, respectiv ale unui profesor oarecare.
Dar este "perfectă"… până una-alta; ar fi "chiar perfectă" dacă am reuși să o transpunem într-un orar în care și numărul total de ferestre, cât mai mic posibil, să aibă deasemenea, distribuție uniformă pe zile.
Plecasem (în "partea I") de la un orar în format "PDF 1.7 tagged" descărcat mai demult de pe site-ul unei școli și am desprins muncitorește datele pentru ziua de "Luni"; ar urma poate, să ne ocupăm la fel (citind ce vedem afișat de fișierul PDF și tastând într-un fișier-text) și de datele orarului pe celelalte zile…
Dar oare de ce descărcasem acum mai bine de un an, fișierul PDF respectiv — nu cumva deja ne vom fi ocupat între timp, de datele respective?
Preia muncitorește și analizează datele orarului școlar pozat într-un fișier PDF; reformulează orarul pentru a reduce totuși, numărul de ferestre.
Logica producerii unui orar al școlii
Acest articol nu conține nicio secvență de cod!
vezi Cărţile mele (de programare)