momente şi schiţe de informatică şi matematică
anti point—and—click

Repartizarea pe zile a încadrării profesorilor (VI)

orar şcolar | R
2021 jan

Obţinem 1455 de distribuţii, pseudo-omogene; obţineam şi mai multe (10000?) dacă aş fi avut de urmărit vreun turneu de tenis pe Eurosport (lăsam atunci programul să ruleze în pace). Par multe – dar de fapt, este un număr infim faţă de gama tuturor distribuţiilor pe zile care sunt posibile pentru orele din încadrarea de bază a profesorilor. Cu alte cuvinte – este foarte mică şansa ca între cele aşa de „multe” distribuţii generate, să o fi obţinut şi pe aceea care chiar ar fi cea mai promiţătoare… Dar începem să vedem lumina de la capătul tunelului.

Repartizarea pe zile a încadrării profesorilor (V.bis)

orar şcolar | R
2021 jan

Generăm un set de distribuţii pe zile a orelor din încadrarea profesorilor, numărând 319 distribuţii (în final, constatăm că sunt totuşi prea puţine); tatonăm în jurul acestei chestiuni: care ar fi dintre acestea, cea mai promiţătoare? Şi deducem câteva îndreptări…

Repartizarea pe zile a încadrării profesorilor (V)

orar şcolar | R
2021 jan

Pretenţia de a obţine o distribuţie omogenă – diferenţa dintre numărul de ore pe o zi şi alta să fie cel mult 1, pentru fiecare profesor (şi clasă) – este nerealistă, fiind uşor de generat doar dacă neglijăm condiţia asupra numărului zilnic de ore pentru clase (acceptând ca unele clase să aibă de exemplu 3 ore într-o zi şi 8 ore într-o alta).

Următoarea idee este însă fezabilă: alocăm orele astfel încât numărul de ore pe zi să nu varieze cu mai mult de 1 de la o zi la alta pentru fiecare clasă, iar pentru profesori, să nu depăşească 7 şi să nu varieze cu mai mult de 2 ore de la o zi la cea următoare; dacă ar fi puţini profesorii cu peste 20 de ore, sau dacă am avea în vedere fiecare schimb în parte, limitele respective pot fi reduse (probabil) la 6 şi 1.

Repartizarea pe zile a încadrării profesorilor (IV.bis)

orar şcolar | R
2021 jan

Pentru a aloca pe zile orele existente este firesc să parcurgem profesorii într-o ordine legată cumva de numărul de ore; funcţia set_zile() din [1] ordona profesorii unei clase după numărul de ore pe săptămână la acea clasă şi apoi le distribuia orele pe zile. De mai înainte încă, am „anonimizat” numele profesorilor (agreând pe cât putem opera parlamentară privitoare la „protecţia datelor personale”); acum vedem că putem şi profita de practica anonimizării, pentru a evita (în principiu) reordonarea ulterioară a datelor.

Repartizarea pe zile a încadrării profesorilor (IV)

orar şcolar | R
2021 jan

O valoare ca "Rom\r\n11.D" – preluată dintr-o celulă a unui tabel Excel sau PDF – acoperă două domenii de valori (obiectele de învăţământ şi respectiv, clasele existente), ba mai vizează şi imprimanta (care chiar nu are de-a face cu datele respective).

Dacă ai de operat cu date, primul lucru de făcut constă în „normalizarea” acestora (obţinând un „set de date”); este inutil – în general – să înregistrăm valori neexistente; apoi, valorile înregistrate ar trebui să aibă fiecare propriul domeniu (şi să fie complet eliberate de aspecte vizuale – de exemplu, să nu includă în expresia lor, caractere de control a imprimării).


Prev
Next
ALL (238 titluri)

vezi Cărţile mele (de programare)

despre acesta ~ Home

Factoriale | Graficul funcţiilor

PGN browser | chess JS engine

Load

in /slightchess

/slightchess

626 partide analizate cu Crafty

(R) Computer Art | Decoraţiuni

Aplicaţii şcolare (javaScript)

Sinteze:

Pagini independente: