De la orarele individuale, la tabelul de încadrare
Cum obţii (şi cum formulezi) „tabelul de încadrare”, plecând de la paginile HTML – preluate cumva de pe site-ul unei şcoli – care conţin fiecare, orarul câte unuia dintre profesorii şcolii? Desigur, ne interesează datele (nu atributele de prezentare care le înzorzonează) şi organizarea coerentă a acestora în anumite seturi de date.
De două luni, aici n-a apărut nimic nou; dacă ar fi fost trei, se putea crede că nu mai are cine să scrie... Dar nu – încă scriu, iarăşi o carte "De capul meu prin problema orarului şcolar". Pe parcurs, au apărut fel de fel de probleme vechi, de exemplu privitoare la folosirea pachetului Pygments pentru marcarea sintactică a programelor R (încep să-mi placă problemele vechi, cum este şi problema orarului).
Reducerea ferestrelor din orarul zilei (IV)
Până a fi şi mulţumit, programare mai înseamnă şi să o iei din când în când, mai de la capătul lucrurilor şi poate, pe alte căi…
Reducerea ferestrelor din orarul zilei (III)
Ne-am format îndelung trei obiceiuri complementare, în această ordine: obiceiul de a greşi (nebanal şi nici grosolan), de a verifica şi de a rescrie lucrurile. Greşala promite, dacă nu te fereşti mereu şi dacă îi accesezi acareturile: a înţelege că ai greşit; a depista (în fel şi chip) unde anume; a înţelege de ce ai greşit; a stabili să nu repeţi greşala. Greşala este în fond, sămânţa progresului (exceptând desigur, lumea cea plină de greşeli ireparabile); rescrierea lucrurilor (până a deveni un fel de „viciu intelectual”) este în sine, o cale de progres.
Corectarea suprapunerilor induse de cuplaje
Plecând de la încadrarea săptămânală (prof | cls | nr_ore), prin "distribute_by_days.R" am repartizat lecţiile respective pe zile; în plus, am extras şi am organizat în "messing.RDS", datele privitoare la cuplaje (de exemplu, orele alocate profesorului fictiv "p06p33" trebuie făcute împreună, de către profesorii „reali” p06 şi p33).
Apoi, prin mount_hours() din "daySchoolSchedule.R" am produs orarele zilelor, dar… fără a ţine seama de cuplaje (rezumând astfel, execuţia): pot exista suprapuneri ascunse de ore, de exemplu pot apărea într-o aceeaşi oră a zilei "p06p33" şi "p06", sau "p34p07" şi "p34p09".
Am lăsat altui program, sarcina de a corecta suprapunerile ascunse apărute; iar un alt program va reduce apoi, numărul de ferestre.
vezi Cărţile mele (de programare)