Implicarea browserului în studiul convergenţei
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++
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
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)
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!
Î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).
vezi Cărţile mele (de programare)