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.
O aplicaţie cu tabele dinamice (situaţia şcolară)
Avem de creat un element <table> (folosim .createElement(), .appendChild() şi altele); de modificat <tbody> în tabelul inserat, încât rândurile să apară ordonate după valorile de pe o coloană; de asociat o diagramă statistică (invocăm Google Chart).
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)