Înainte să scriem programe, răspundem la o întrebare simplă: cum poate o mașină care cunoaște doar „închis" și „deschis" să țină minte poze, melodii și jocuri? Răspunsul îți schimbă felul în care vezi orice calculator.
Patru obiceiuri de gândire pe care le exersăm tot anul — la fiecare problemă.
Spargi problema mare în bucăți mici, rezolvabile. „Fă un joc" devine: desenează, mișcă, punctează.
Observi ce se repetă. Dacă ai rezolvat o dată, a doua oară e mai ușor — și poate rezolva un program.
Ignori detaliile care nu contează. O hartă de metrou nu arată străzile — și tocmai de-asta e utilă.
Scrii pașii exacți, în ordine, fără ambiguitate. Atât de clar încât i-ar putea urma și o mașină.
Un circuit electric are exact două stări stabile: fără curent (0) și cu curent (1). Asta e tot ce „știe" un calculator.
Fiecare „bec" e un bit. Aprinde-le (click!) și privește cum se formează valoarea în baza 10. Fiecare poziție valorează dublu față de cea din dreapta ei — acestea sunt puterile lui 2.
Nu e o toană a informaticienilor — e impusă de hardware. Orice calculator e construit din milioane de comutatoare minuscule numite tranzistoare. Un tranzistor are exact două stări stabile: lasă curentul să treacă sau îl blochează. Două stări fizice → două cifre → baza 2.
Înainte de tranzistoare, calculatoarele foloseau tuburi cu vid — mari, fierbinți și fragile. ENIAC (1945) avea aproape 18.000 de astfel de tuburi, ocupa o cameră întreagă și se defecta des.
În 1947, la Bell Labs (SUA), John Bardeen, Walter Brattain și William Shockley au inventat tranzistorul — un comutator electronic minuscul, fără piese în mișcare. Au primit pentru asta premiul Nobel pentru Fizică în 1956.
De atunci, tranzistoarele au devenit tot mai mici și mai ieftine: azi, un singur procesor conține miliarde de tranzistoare (legea lui Moore — numărul lor s-a dublat cam la fiecare 2 ani). Fiecare e, în esență, un bit care poate fi 0 sau 1.
Videoclipul nu poate rula direct în pagină (autorul a dezactivat încorporarea), dar se deschide pe YouTube într-un click.
Exact ca noi — doar că rămâne fără cifre mult mai repede. Noi avem 10 cifre; el are 2.
Apasă +1 și urmărește „trecerea" (carry): când o poziție ajunge la 1 și mai primește 1, devine 0 și dă mai departe — la fel cum 9+1 devine 10 în baza zece.
Regula: împarți la 2, notezi restul, continui cu câtul — până câtul devine 0. Apoi citești resturile de jos în sus.
Înainte de binar, o întrebare care pare banală: de ce 7253 înseamnă exact șapte mii două sute cincizeci și trei?
Fiecare cifră are o poziție, iar poziția îi dă o valoare: unități, zeci, sute, mii. Adică puteri ale lui 10 — de asta se numește „baza 10". Numărul e suma contribuțiilor, chiar dacă nimeni nu-ți mai spune asta după clasa a doua:
Astea sunt valorile pozițiilor în binar. Merită știute pe de rost până la 210 — le vei folosi tot liceul.
Aceleași reguli, alt număr de cifre. Baza 4 folosește 0–3; octalul, 0–7; hexazecimalul, 0–9 plus literele A–F. Metoda e mereu aceeași ca la baza 2 — se schimbă doar numărul la care împarți.
Cifrele 0, 1, 2, 3. Împarți la 4, notezi resturile, citești de jos în sus. Pozițiile valorează 1, 4, 16, 64 — puteri ale lui 4.
100(10) = 1210(4)
100 = 1·64 + 2·16 + 1·4 + 0 ✓
Împarți la 8, notezi resturile, citești de jos în sus. Pozițiile valorează 1, 8, 64, 512 — puteri ale lui 8.
100(10) = 144(8)
100 = 1·64 + 4·8 + 4·1 ✓
După 9 urmează A=10, B=11, C=12, D=13, E=14, F=15. Pozițiile valorează 1, 16, 256 — puteri ale lui 16. Programatorii o folosesc pentru culori și adrese de memorie.
255(10) = FF(16)
255 = 15·16 + 15·1 ✓
Citește-l pe verticală: aceeași cantitate, patru haine diferite. Cu cât baza e mai mare, cu atât numărul se scrie mai scurt: 15 are nevoie de patru cifre în baza 2, de două în baza 4, dar de una singură în baza 16.
| Baza 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Baza 2 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
| Baza 4 | 0 | 1 | 2 | 3 | 10 | 11 | 12 | 13 | 20 | 21 | 22 | 23 | 30 | 31 | 32 | 33 |
| Baza 8 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| Baza 16 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Scrie în oricare căsuță — celelalte se actualizează instant. Toate cinci arată aceeași cantitate — doar „hainele" diferă. Observă cât de lung devine binarul și cât de scurt hexazecimalul.
Întâi 13 exerciții cu numere fixe, care acoperă toate drumurile dintre baze — fiecare cu rezolvarea pas cu pas. Abia apoi antrenamentul dinamic, care ți le amestecă la infinit.
Scrie răspunsul și apasă Verifică — asta merge oricând, de câte ori vrei. Rezolvarea pas cu pas e închisă (🔒): o deschide profesorul, la clasă, după ce ați încercat singuri.
Acum combină tot: sursa și destinația se aleg la întâmplare dintre bazele 2, 4, 8, 10 și 16.
Fiecare treaptă înseamnă „de 1024 de ori mai mult" (210) — pentru că totul e construit pe puteri ale lui 2.
Tot modulul, în șase idei. Dacă le poți explica unui coleg, ești gata de Modulul 01.