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

Generarea directă a unor şiruri De Bruijn binare

C++ | De Bruijn
2014 jan

Studiem o relaţie "uϒv" între numere reprezentabile pe n biţi, astfel încât u şi v să poată fi reperate într-o secvenţă de n+1 biţi consecutivi dintr-un şir S; justificăm un algoritm de generare a unui şir finit de numere naturale - iterând relaţia "uϒv" - astfel încât reprezentările binare ale termenilor şirului să poată furniza un cel mai scurt cuvânt S care să aibă ca subcuvinte toate secvenţele de n biţi.
Şirul generat prin acest algoritm coincide cu cel dat de parcurgerea DFS a grafului asociat relaţiei "uϒv", plecând însă dintr-un anumit nod al acestuia.

Aplicaţii elementare ale metodei Monte Carlo

C++ | Python
2013 dec

Estimarea "experimentală" a numărului PI; probabilitatea ca un triunghi înscris într-un cerc dat să fie ascuţitunghic. Determinarea mutării de răspuns în cursul unui joc (Hex), prin simulări Monte Carlo ale continuării jocului.

"Elemente de OOP" la clasa a XI-a - modelarea matricelor

C++
2013 nov

Momentul cel mai potrivit pentru a aborda OOP este acela în care elevii au asimilat un nou "tip de date". Faptul că în primele câteva săptămâni la matematică se studiază capitolul "Matrice", ne oferă un excelent prilej de a demara OOP: să modelăm în C++, ceea ce la matematică se notează prin Mn,m(R) - mulţimea matricelor "de tip (n,m) peste mulţimea numerelor reale", împreună cu anumite operaţii posibile între elementele acestei mulţimi.

"Hello" şi "Goodbye" - constructor, destructor şi this în C++

C++
2013 oct

Să se scrie un program C++ care să afişeze "Hello!" după lansarea în execuţie şi "Goodbye!" la încheiere, dar al cărui funcţie main() să fie vidă (dintr-o baterie de teste pentru angajare).

O soluţie constă în a instanţia un obiect (exemplar de struct, sau de class) "învăţat" să afişeze anumite mesaje în momentul creării şi respectiv, în momentul invocării finale a destructorului (desigur, ţinem seama că execuţia unui program C/C++ începe cu "startup code" - iniţializând în prealabil, variabilele globale). Şi neavând nevoie decât de un constructor şi de un destructor - este suficient să folosim struct (din C++, nu cel din C).

Lecţie recapitulativ-anticipativă la începutul clasei a XI-a şi complemente

C++ | CGI | factorial | problema Damelor | randomizare
2013 oct

Când vom studia "metoda backtracking" ne vom reîntâlni cu "problema damelor"; dar pentru început, să discutăm şi să formulăm în C++ o schemă de rezolvare mai primitivă (în fond, reformulând mot à mot):
     1. aşază (oricum) N dame pe tablă;
     2. dacă vezi dame care se atacă, atunci reia de la pasul 1;
     3. (altfel) reţine soluţia găsită (N dame care nu se atacă una cu alta).


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