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

Implicarea browserului în studiul convergenţei

javaScript | limite
2008 nov

Rezolvarea unei probleme de matematică (de exemplu, demonstrarea convergenţei unui şir) poate fi sugerată de rezultatele investigaţiei printr-un program adecvat.

În cadrul documentului HTML ar fi suficient să prevedem următoarele elemente:
— două elemente <input>, pentru a permite utilizatorului să precizeze gama de termeni de calculat (rangul iniţial şi rangul final);
— un element <div> destinat scrierii termenilor şirului, pe măsură ce vor fi calculaţi;
— un <button> a cărui acţionare prin click să declanşeze calculul şi scrierea termenilor respectivi
— un <script> care să modeleze funcţia de calculare a termenilor şirului.

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ă?

Limbaje şi Calculator (de la nivel-înalt, la microprocesor)

GNU as | Nasm | assembler | codul ASCII si generarea caracterelor | debug
2008 may

Teza teoretică (îndelung abuzată în manuale - vivat "limbajul Pseudocod") este:

programe = algoritmi + structuri de date

Investigând codul furnizat de compilator pentru programe simple (în Pascal, C, etc.), ajungem la formula (de memorie+CPU):

program = zonă de cod (CS; IP) + zonă de date (DS)

Angajând apoi subprograme şi analizând implicaţiile către CPU, ale realizării transferului bidirecţional de control şi de parametri - se prelungeşte formula astfel:

program = zonă_cod (CS; IP) + zonă_date (DS) + 
          + zonă_stivă (SS; SP/ESP) + cadru_stivă (BP/EBP)

unde valorile de bază DS, CS, SS rezultă prin corelarea asigurată de către sistemul de operare, cu mediul de execuţie.

Informatica evoluează, învăţământul nu!

point-and-click
2008 apr

În acest articol de informatică… nu avem nici o linie de program!

Sintagma Păi aşa a zis… (baronul Epstein) şi if( ... ) return 0; else return ...;
şi un fals: Informatică = Windows + produse Microsoft (point-and-click) + pseudocod.

Sintagma se citeşte de la tastatură, să se scrie pe ecran", interpretoarele de comenzi şi editoarele de text. Grosolănia point-and-click şi faţetele unui program (-sursă, -obiect, -executabil; proces).


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