momente şi schiţe de informatică şi matematică
To attain knowledge, write. To attain wisdom, rewrite.

Structura de memorie adecvată generării unui orar fără ferestre

C++11
2014 dec

Avem de pus la dispoziţia unei subrutine în limbaj de asamblare un fişier binar conţinând într-un format unitar cât se poate de compact, datele necesare constituirii orarului pe o zi - rangul profesorului în fişierul text iniţial şi clasele la care trebuie să-i aşezăm orele în acea zi - împreună cu o anumită gamă de octeţi care trebuie astfel gândită încât să ne servească pentru a modela cât mai eficient (folosind direct instrucţiunile microprocesorului) mecanismul bactracking prin care subrutina respectivă să producă un orar fără ferestre.

Actualizarea unui program de elaborare a orarului şcolar

orar şcolar | perl
2014 dec

M-am ocupat mult timp (dar acum vreo 20 de ani) de orarul şcolii, folosind un program propriu. Acest program avea două părţi: mai întâi se obţinea o "schemă" de repartizare a orelor pe zilele săptămânii; apoi - după definitivarea manuală a acestei scheme - se obţineau orarele zilnice.

În ultima versiune (prin anul 2002), obţineam schema de repartizare folosind Perl (beneficiind astfel de "expresii regulate" şi de "tablouri asociative"), sub Linux; dar pentru orarele zilnice foloseam Borland C++3.1 şi o subrutină scrisă în Turbo Assembler - sub DOS/Windows, cu I-486. Astăzi îmi dau seama că această manieră neortodoxă de lucru este "culmea" principiului separării lucrurilor.

Determinarea numărului de ferestre dintr-un orar

javaScript | orar şcolar | regexp
2014 nov

// construieşte o expresie regulată (instanţă de obiect javaScript RegExp()), la fel cum "" construieşte un şir de caractere (instanţă de obiect javaScript String()). Şablonul /\w[-~]\w/ se potriveşte de exemplu cu "C-1" (o potrivire = o fereastră), iar /\w[-~]{2}\w/ s-ar potrivi cu "C-~1" (când o potrivire = două ferestre); modificatorul /…/g ("global") asigură identificarea tuturor potrivirilor (nu numai a primeia), în cadrul şirului respectiv.

O chestiune de organizare a codului

Python | Sphinx | orar şcolar
2014 nov

Avem de organizat şi poate de reformulat codul Python respectiv, pentru a simplifica lucrurile (de exemplu, să fie de lansat un singur script în loc de cinci). Poate fi tentantă complicarea lucrurilor, concepând întâi nişte modele de bază "profesor", "disciplină", "clasă", etc.; dar nu prea este cazul, fiindcă noi preluăm doar formularea finală a orarului (nu avem de "introdus" şi de gândit datele pe baza cărora s-a generat orarul).

Cel mai simplu este să concatenăm într-un singur fişier scripturile respective; iar astfel, fişierele JSON (folosite iniţial pentru a transfera structuri de date de la un script la altul) devin inutile.

Reducerea numărului de ferestre pe orarul şcolar al unei zile

jQuery | orar şcolar | widget
2014 nov

Avem obiceiul de a revizui - şi povesti - aplicaţiile pe care le-am realizat.

Foarte bun obicei!… te ajută să o iei de la capăt.

Revizuim şi elaborăm o aplicaţie (sau poate… numai un joc) Ajustarea orarului care poate servi pentru ajustarea interactivă a orarului şcolar al unei zile, în scopul firesc de a reduce cât mai mult numărul de ferestre.


Prev
Next
ALL (386 titluri)

vezi Cărţile mele (de programare)

despre acesta ~ Home
(sau https://vlad.bazon.net/

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: