În jurul unei probleme de echilibru (II)
Vizăm generarea s-partiţiilor angajând metode generale: căutare "brute force" şi backtracking. Formulăm în C++ şi în Prolog (incluzând un mecanism intern de backtracking, Prolog permite "rezumarea" programului la specificarea condiţiilor necesare pentru soluţii).
În jurul unei probleme de echilibru (I)
Se poate partiţiona {1,2,...,n} în două submulţimi pentru care sumele corespunzătoare să aibă diferenţa dată? Care ar fi minimul acestei diferenţe? Câte astfel de partiţii există (teoremă, program C++) şi cum pot fi generate într-o anumită ordine?
Simpla verificare directă a unui rezultat este mai degrabă neinteresantă şi de obicei încercăm să corelăm verificarea manuală cu aspecte de context; putem găsi astfel posibilităţi de simplificare în program, dar poate rezulta (mai interesant!) şi ideea de a o lua de la capăt…
Linux şi aplicaţii Web în 24 de ore
CCD Vaslui mi-a oferit 24 de ore (în martie-aprilie 2011) de introducere în Linux şi iniţiere în dezvoltarea de aplicaţii Web - pentru profesori de informatică, dar care folosesc curent numai Windows şi nu au experienţă de lucru pe Web.
//web24.docere.ro prezintă (cu cizelarea cuvenită) lecţiile desfăşurate. Aici prezentăm unele elemente de substrat - motivaţii, tehnici metodologice - ale acestei încercări pe 24 de ore.
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 (împreună cu vizualizarea acestora, prin diagrame - ceea ce prilejuieşte unele evidenţieri vizând partajarea codului de către instanţele unui obiect, folosirea metodei replace() a obiectului String(), utilizarea unei imagini "spacer.gif" pentru a corija comportarea browserului faţă de caracterul "spaţiu").
Introducere elementară în framework-ul PHP symfony
După ce am parcurs sau măcar am răsfoit manualele (şi le-am şi întrebuinţat într-o aplicaţie proprie) am ajuns la ideea că lucrurile se puteau totuşi "prinde" şi pe calea care—oarecum paradoxal—este cea mai obişnuită: nu cu manualul începi, ci instalezi produsul, frunzăreşti oleacă prin documentaţie, apoi încerci să lansezi o aplicaţie "default" - observând ce se petrece, experimentând şi corelând cu "mici" investigaţii pe codul-sursă.
Lucrând astfel - folosind manualul nu ca pe o carte care trebuie citită în prealabil şi în mod liniar, ci pentru a căuta clarificări şi validări - se poate ajunge la acea înţelegere a principiilor de lucru specifice care este suficientă în fond, pentru a începe să foloseşti produsul conform propriilor necesităţi. Obişnuinţa cu acest stil de lucru se dovedeşte benefică apoi şi pe parcursul dezvoltării propriilor aplicaţii.
vezi Cărţile mele (de programare)