Se generează TOC cu javascript (dinamic - după încărcarea sursei HTML în browser), respectiv transformând cu perl fişierul-sursă HTML iniţial (static - fişierul rezultat conţine şi TOC).
Printr-o funcţie javascript se colectează elementele "heading" din cadrul documentului încărcat şi se adaugă fiecăruia un atribut ID (pentru a referi secţiunea respectivă); apoi, se creează elemente <a> având ca valoare a atributului href tocmai id-ul fixat anterior; aceste link-uri constituie apoi, elementul TOC.
my $tw = new XML::Twig() construieşte un obiect de memorie conţinând datele şi "pointeri" la metodele specifice modulului XML::Twig (pentru construcţia în memorie a arborelui elementelor HTML), dar şi "pointeri" la funcţii de transformare ("handlere") specificate de utilizator - în cazul de faţă, pentru crearea subarborelui TOC.
Formulăm în diverse limbaje, soluţionarea unei aceleiaşi probleme—calculul factorialului (recursiv). Vizăm aspecte de elaborare, aspectele algoritmice necesare şi corelaţii fireşti între limbaje.
Câte cifre are n!; aplicaţie (javascript + HTML) bazată pe logaritmi. Aplicaţie pentru compararea numărului de operaţii cifră-cu-cifră necesare calculului n! în baza 10, respectiv în baza 256.
n! în limbajele bc, PHP, Python; modelare OOP în javascript folosind baza 106; program perl folosind modulul Math::BigInt; modelare OOP în perl folosind baza 106; program C folosind biblioteca GMP; modelare OOP în C++ (GCC g++) folosind baza 216 (şi conversie la baza 104); program în limbaj de asamblare GNU as şi elemente de programare în limbaj de asamblare sub Linux (transmiterea parametrilor, funcţia mmap(), folosirea apelurilor de sistem, instrucţiunea int 0x80; folosirea instrucţiunilor FPU; informaţii asupra fişierului executabil).
Esenţială pentru WEB este posibilitatea de interconectare; documentele de pe Web nu au în vedere "formatul A4" (nu vizează operaţia de tipărire pe hârtie), pentru motivul evident că de pe hârtie nu este posibilă interconectarea cu alte documente.
Pentru reprezentarea pe hârtie avem două categorii de instrumente: aşa numitele "procesoare de text" What You See Is What You Get (de exemplu, binecunoscutul Word din pachetul comercial Microsoft-Office, sau aplicaţia "free" OpenOffice.org-Writer); respectiv, limbaje de marcare/programare (TeX, cu varianta LaTeX) şi formate de reprezentare "independente de dispozitiv", precum PDF.
Transformări de documente, cu Google Docs. Obţinerea variantei PDF a unui document HTML, folosind modulul perl HTML::Latex şi elemente conjuncturale de limbaj LaTeX.
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';
Avem un fişier .XLS conţinând orarul unei şcoli, în forma de editare tabelară cea mai obişnuită. Pe de altă parte, avem o aplicaţie Web, pentru expunerea în diverse moduri şi pentru întreţinerea orarului, aplicaţie constituită pe o bază de date MySQL, cu o anumită organizare internă (tabele relaţionate corespunzător pentru şcoli, schimburi, obiecte, profesori, încadrări). Redăm aici prin secvenţe Perl instructive, diverse prelucrări necesare pentru extragerea şi organizarea convenabilă a datelor din fişierul .XLS iniţial, în vederea încorporării lor în aplicaţia "Orarul şcolii".

Am improvizat la clasă acest exerciţiu: să se scrie într-un fişier toţi termenii unei dezvoltări binomiale (a + b)n; care este cel mai mare termen, pentru a = 1/4, b = 5/4 şi n = 2008?
La Matematică aceşti C(n, k) sunt utilizaţi formal (operând cu expresii, nu cu valori), pe când într-un program ei sunt efectiv nişte numere - chiar dacă "mari" - şi apar veşnicele probleme de reprezentare şi de calcul, angajând un limbaj sau altul.
ŞahStartTemp
Judeţ:
Load another random Bliţ
Linux şi aplicaţii Web
în 24 de ore
Orar şcolar
documentaţie Sphinx