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

Rangul elementului din mijloc

int
2008 nov

Numerele vizate la matematică nu sunt la fel cu cele vizate într-un limbaj de programare; ca urmare, transcrierea mot-à-mot de la formulă matematică la program poate atrage rezultate greşite.
      greşit: int id_mijloc = (id_st + id_dr) / 2;   // variabile C de tip "int"
      corect: int id_mijloc = id_st + (id_dr - id_st) / 2;
Când suma depăşeşte sizeof(int), rezultatul va fi trunchiat modulo INT_MAX + 1; de aceea, prima variantă de mai sus este incorectă.

Borland C++ compiler 5.5

Borland C++ | STL
2008 nov

Borland C++ 5.5 it's free… because GNU-GCC is great.

Obţinere şi instalare. Testare; compatibilitate cu GCC.
Un exemplu, folosind STL (Standard Template Library)

Accesaţi http://cc.codegear.com/Free.aspx?id=24778 şi creaţi-vă un cont; după ce veţi activa contul respectiv (prin intermediul serviciului de Mail), veţi putea descărca pachetul freecommandLinetools.exe a cărui execuţie asigură instalarea (pe un sistem Windows, desigur).

Extinderea obiectului Array cu o metodă quickSort()

Array | javaScript | qsort
2008 nov

Array .prototype .q_sort = function(beg, end) { /* QuickSort */ }
de fapt, metoda existentă sort() este tot ceea ce este necesar! restul poate fi (ca aici) un exerciţiu didactic de prezentare a unor aspecte de lucru cu obiecte Javascript.

Exerciţii de programare în C, C++

C | C++ | GCC
2008 oct

Putem obţine suma 1 pentru numerele 1..n? Analiză, ilustrare (backtracking), schema programului, implementări (cu BCC şi cu GCC). Observaţii metodice asupra lucrului în laborator.

Cea mai proastă "tehnică" pe care am văzut-o este aceasta: deschide calculatorul (Windows, desigur); click pe iconiţa "Borlandc" (sau alt IDE); între timp, deschide caietul sau manualul la programul de "implementat" (la "Laborator"), aşază-l verticat lângă ecran şi începe să scrii (sau: unul dictează, celălalt scrie); când ai terminat de copiat programul, mai tastezi CTRL-F9 şi gata… (trecem la altă problemă, că pe asta am făcut-o; "algoritmul este important, nu programul"-punct).
Cu asemenea obicei şi cu asemenea concepţii reducţioniste, poţi cel mult să înveţi să dactilografiezi (fără caractere româneşti!) - nicidecum nu vei reuşi să înveţi să programezi procedând astfel (punct!).

Modelarea unor probleme clasice folosind Javascript

backtracking | javaScript | modelare obiectuală | problema Damelor | randomizare
2008 oct

Modelare obiectuală în javaScript, pentru problema damelor; "metoda randomizării" şi metoda backtracking; vizualizarea poziţiilor ocupate, în browser.

Putem avea pe o tablă de şah 6×6, trei dame pe câmpuri albe şi trei dame pe câmpuri negre, astfel încât cele şase dame să nu se atace două câte două? Putem avea pe o tablă de şah 8×8, trei dame pe câmpuri albe şi cinci dame pe câmpuri negre, astfel încât cele opt dame să nu se atace două câte două?


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