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:).
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 transmiterea rezultatelor. 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.
var W = {
'A': [ ['B', 5], ['C', 3], ['E', 2] ],
'B': [ ['D', 6], ['C', 2] ],
...
};
W['A'].dist = 0; // nodul de start
W['B'].dist = 4; W['B'].prec = 'C';
W['C'].dist = 3; W['C'].prec = 'A';
(click pe diagramă, pentru altă poziţie)
Problema damelor
randomizare, backtracking (javascript).
Elemente de DOM (Document Object Model) pentru reprezentarea în browser a soluţiilor.
O mică aplicaţie pentru calculul determinanţilor şi pentru rezolvarea sistemelor de ecuaţii liniare;
totodată, o mare semnalare: sindromul lipsă de idei (sau, criza de idei).
Am întâlnit elevi pasionaţi de informatică, dar care nu învaţă decât la "Informatică". Mai bine zis, deşi sunt pasionaţi de informatică, nu învaţă decât "la Informatică". Abandonarea efortului de cunoaştere propus în Liceu pentru diversele discipline, poate avea drept rezultat firesc lipsa de idei.
La nivel de individ, lipsa de idei decurge din îngustimea domeniului de interes şi din necorelare…
Dar "lipsa de idei" este mai ales o stare comună, specifică sistemelor închise (care nu mai pot oferi perspective reale de dezvoltare) şi nu se poate să nu fie remarcată.
Aplicaţiile care vizează jocul de şah implică în anumite componente, "Portable Game Notation" (sau PGN) pentru partide şi notaţia FEN pentru poziţii de şah particulare. Prezentarea decurge în legătură cu aplicaţiile (accesibile şi din bara de meniu) şahPGN şi jocŞah şi integrează dezvoltarea obiectuală a unei aplicaţii pentru realizarea unor diagrame de şah (ceea ce prilejuieşte pe parcurs anumite evidenţieri şi lămuriri: partajarea codului de către instanţele unui obiect; folosirea metodei replace(), a obiectului String(); comportarea browserului faţă de caracterul "spaţiu" şi soluţia bazată pe "spacer.gif"; etc.).
Media dinamică
Linux şi aplicaţii Web
în 24 de ore
Orar şcolar
documentaţie Sphinx
ŞahStartTemp