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

Plugin jQuery pentru paginarea unui tabel HTML

jQuery | paginare | plugin
2009 aug

Ataşează unui tabel HTML o bară de navigare (cu handlere corespunzătoare), încât tabelul să fie redat pe pagini de câte un anumit număr de rânduri (cu posibilitate de trecere de la o pagină la o alta), părţile de antet/subsol fiind însă menţinute pe fiecare pagină.

Tabelele trebuie să poată fi paginate în mod independent (unul faţă de celălalt) şi trebuie avut în vedere (pe cât este firesc) şi cazul tablourilor imbricate.

Un bookmarklet pentru calculul dinamic al mediei şcolare

Firefox | bookmarklet | javaScript | modelare obiectuală
2009 jul

Definim un obiect G care în primul rând, conţine trei containere - respectiv pentru Note, Teză şi Medie; acestea sunt ele însele nişte obiecte (şi anume nişte obiecte predefinite), încât putem folosi proprietăţile şi metodele specifice lor (în cadrul obiectului G definit de noi).

Note şi Teză sunt "de tip" <input>; ca obiect, un <input> are predefinite nişte metode de interacţiune - onClick(), onKeypress(), onKeyup(), onMouseover(), etc. iar acestea se pot "redefini" pentru a răspunde în modul dorit unor evenimente precum apăsarea unei taste sau click în cadrul containerului aferent, sau în exteriorul lui, etc.

Redefinim în obiectul G, metodele onKeyup() pentru <input>-urile Note şi Teză, în aşa fel încât fiecare tastare (sau ştergere) de notă/teză să declanşeze procedura de calcul şi înscriere a mediei.

După definirea astfel a obiectului G, adăugăm o funcţie care să-l creeze conform specificaţiilor lui şi să-l anexeze documentului. În final, includem totul în "paranteze de invocare" (...)();, astfel că toate variabilele implicate rămân ne-vizibile din afară şi pe de altă parte, funcţia finală (care şi ea trebuie inclusă în paranteze de invocare) va fi pusă în execuţie imediat după încărcarea scriptului.

După ce o punem la punct astfel, transformăm aplicaţia rezultată într-un bookmarklet: eliminăm comentariile şi spaţiile (folosind un compressor), eventual escapăm şi codificăm URL anumite caractere şi apoi adăugăm scriptul rezultat în Bookmarks (implicând pseudo-protocolul javascript: în loc de obişnuitul http:).

Un plugin jQuery pentru calculul dinamic al mediei şcolare

jQuery | media școlară birocratică | plugin
2009 jun

Care este media şcolară pentru notele 9, 10, 10 şi nota în teză 9?

Unele programe/calculatoare dau 9.50, ceea ce este corect (9.4(9) = 9.5); numai că regula precizată de minister este de a calcula media "cu două zecimale exacte", rezultând nu 9.4(9) ci 9.49 - adică media şcolară este 9 (şi nu 10).

Vizăm aici modelarea corectă a calculelor cu n zecimale exacte; "media şcolară" ca formular independent (<form>, setTimeout(), onkeypress); "media şcolară" ca plugin jQuery (de montat pe un tabel de elevi).

Integrarea algoritmului lui Dijkstra

Array | Dijkstra | JSON | graphviz | javaScript | modelare obiectuală | perl
2009 may

De regulă, Algoritmul lui Dijkstra este formulat cu "tablouri paralele": d[] pentru distanţe şi p[] pentru predecesori; acestea trebuie prevăzute în cadrul programului apelant (la nivel global) - fiind folosite inclusiv pentru constituirea rezultatelor finale. Unele limbaje permit însă extinderea obiectelor pe parcursul execuţiei (în sensul adăugării de noi proprietăţi) - ceea ce permite integrarea rezultatelor în structura de date transferată algoritmului de către programul apelant.

Implementarea, de la minimal la eficient

Prim | arbore parțial minimal | javaScript
2009 apr

Manuale versus programator (implementarea unui algoritm de teoria grafurilor)
Povestea arborelui parţial minimal
Implementarea clasică (apoi, folosind o structură priority_queue<double>) a algoritmului lui Prim
Compromisuri între stil şi eficienţă; biblioteci şi interfeţe


Prev
Next
ALL (349 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: