Generarea directă a unor şiruri De Bruijn binare
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
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
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++
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â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).
vezi Cărţile mele (de programare)