Cum să memorezi orice fără să ții minte

  

    În prima lecție de programare ai văzut că cel mai important lucru pe care trebuie să-l cunoști legat de programarea calculatoarelor este acela că dispui de un set de instrucțiuni elementare cu ajutorul cărora poți construi programe oricât de complexe. La fel cum un arhitect poate realiza construcții spectaculoase folosind doar câteva materiale de bază.
    Ai avut apoi (în articolul anterior) posibilitatea de a testa cele învățate și de a-ți exersa creativitatea într-o manieră interactivă.
 
    Acum e timpul să înțelegi și cel de-al doilea pilon pe care se bazează programarea calculatoarelor. Utilizându-l, nu numai că vei putea să îți reduci dimensiunea programelor scriind porțiuni generice, ci îți vei extinde enorm gama de aplicații pe care le poți realiza.
    Este vorba despre variabile. Practic nu există program care să nu le folosească. Bine, cu excepția programelor scrise în lecțiile trecute — ai putea zice. Și ai avea dreptate. Parțial. Căci deși variabilele nu intervin explicit în acele programe, ele se regăsesc implicit în instrucțiunile Aprinde și Stinge. Îți amintești că le-am prezentat generic sub formă Aprinde(x, y) și Stinge(x, y)? Ei bine, “x” și “y” de aici sunt variabile. Sunt niște “obiecte” ce pot reține valori. Apoi, cu ajutorul acestor valori instrucțiunea Aprinde, de exemplu, va ști ce “beculețe” să aprindă.
!!!(A se remarcă faptul că atât Aprinde(x, y), cât și Stinge(x, y), ne duc cu gândul la f(x, y). Va amintiți de la matematică ce notați de obicei prin f(x, y)? O funcție f de două variabile, x și y. (Ca să fim și mai riguroși, de fapt f(x, y) reprezintă valoarea acestei funcții în punctul (x, y).) Acesta este motivul pentru care instrucțiuni că Aprinde(x, y) și Stinge(x, y) sunt numite “funcții” (iar scrierea lor într-un program poartă numele de “apel al funcției”). Vom vedea într-o lecție ulterioară că ne putem construi singuri astfel de funcții, pe baza unor funcții de baza pe care le avem la dispoziție.)
 
        Ce este, deci, o variabilă?
 
    Am spus anterior că este un soi de “obiect” (virtual) ce poate reține valori. E că o mică bucată de “hârtie” pe care calculatorul poate scrie valori cu “creionul” și le poate șterge cu “gumă de șters”.
    Hai să vedem cum stau lucrurile pe  exemple concrete. Să construim, pentru început, o variabilă numită a. Putem face acest lucru scriind:
var a
    Dacă dorim să-i dăm acum lui a o valoare, să zicem 3, o putem face scriind pur și simplu:
a = 3
(Notă: Declararea și inițializarea unei variabile se poate face și într-o singură instrucțiune, de genul var a = 3 .)
    Bun, avem acum o variabilă numită a, în care am stocat valoarea 3. Să vedem cum o putem folosi. Ce credeți că vor face, de exemplu, instrucțiunile următoare:
Aprinde(a, 1)
Aprinde(a, a)    
Dacă ai zis că prima dintre ele aprinde “beculețul” de la coordonatele (3, 1), ai avut dreptate. Căci valoarea stocată în variabilă a la momentul execuției instrucțiunii Aprinde(a, 1) este 3, deci instrucțiunea care se execută practic este Aprinde(3, 1). Similar, cea de-a două instrucțiune este echivalentă cu Aprinde(3, 3) (deci efectul sau va fi acela de a aprinde punctul de la coordonatele (3, 3)).
    Dacă m-ai urmărit până aici ar trebui să îți fie ușor să înțelegi efectul următorului program:
var a = 1
Aprinde(a, 1)
Aprinde(a, 2)
a = 2
Aprinde(a, 1)
Aprinde(a, 2)    
În prima linie se declară variabilă a și i se atribuie valoarea 1. În următoarele două linii se aprind punctele (1, 1) și (1, 2). Apoi se atribuie variabilei a valoarea 2. (Adică valoarea anterioară (și anume valoarea 1) se șterge, și se scrie în a valoarea 2.) Deci ultimele două instrucțiuni vor aprinde punctele (2, 1) și (2, 2).
!!(O modalitate mai practică de a explică funcționarea unui program o constituie comentariile. Putem introduce un comentariu într-un program scriind //. Atât aceste două simboluri, cât și tot ce urmează după ele până la sfârșitul liniei (adică acolo unde se apasă tasta “Enter”) nu va fi considerat instrucțiune, ci va fi ignorat de către calculator.)
    Varianta comentată a programului anterior ar putea arată astfel:
// Program de desenare pătrat
var a = 1 // definesc variabilă a și o initializez cu valoarea 1
Aprinde(a, 1) // aprind punctul (a, 1), adică (1, 1) — căci valoarea din a este 1
Aprinde(a, 2) // aprind punctul (a, 2), adică (1, 2)
a = 2 // șterg valoarea anterioară scrisă în a, și scriu în variabilă a valoarea 2
Aprinde(a, 1) // aprind punctul (a, 1), adică (2, 1) — căci valoarea din a este 2
Aprinde(a, 2) // aprind punctul (a, 2), adică (2, 2)
În varianta această, atât instrucțiunile programului, cât și explicațiile, se pot pune laolaltă într-un același program. Ba chiar este recomandat că orice program să conțină comentarii, pentru a facilita înțelegerea ulterioară a lui.)
    Hai să vedem mai îndeaproape ce face instrucțiunea a = a+1. Mai întâi adună 1 la valoarea stocată în a (și dacă te uiți la a două linie din program vei vedea că în a era stocată valoarea 1, deci rezultatul operației acesteia de adunare va fi 2), după care memorează valoarea calculată în a (bineînțeles, după ce șterge în prealabil vechea valoare din a).
    Scrisă în cuvinte, instrucțiunea a = a+1 s-ar traduce în “stochează în variabilă a rezultatul adunării dintre valoarea curentă din a și valoarea 1“.
    Dar dacă aș vrea să folosesc în program o a doua variabilă, numită b și având stocată în ea valoarea 7, cum aș face? Bineînțeles, cu intructiunea var b = 7. Similar, cu var c aș defini o a treia variabilă, numită c. În condițiile astea, ce ar face intructiunea c = b+a? Dar instrucțiunea c = b-a? Poți vedea “pe viu” rezultatele acestor instrucțiuni rulând programul de mai jos:
var a = 3
var b = 7
var c
c = b+a
Aprinde(c, c)
c = b-a
Aprinde(c, c)
Ce s-a întâmplat? Prima instrucțiune Aprinde(c, c) a aprins punctul de la coordonatele (10, 10), iar cea de-a două instrucțiune Aprinde(c, c) a aprins punctul de la coordonatele (4, 4). Exact așa cum te așteptai, nu?
 
    Propun să încheiem această lecție introductivă despre variabile cu analiză programului următor:
// Definește două variabile
var a = 1
var b = 10
// Aprinde pe linia 1 punctul corespunzător valorii din variabilă a
Aprinde(a, 1)
// Aprinde pe linia 2 punctul corespunzător valorii variabilei b
Aprinde(b, 2)
// Și acum să definim o a treia variabilă, c, și să facem niște operații
var c = a
a = b
b = c
// Oare ce s-a întâmplat? Să vedem în continuare
// Aprinde pe linia 3 punctul corespunzător valorii variabilei a
Aprinde(a, 3)
// Aprinde pe linia 4 punctul corespunzător valorii variabilei b
Aprinde(b, 4)
Link articol:
https://igotopia.ro/cum-sa-memorezi-orice-fara-sa-tii-minte/
Mulțumim, Florin Bîrleanu



x
Acest website utilizează cookie-uri pentru a creea o experiență cât mai plăcută. Învață mai multe Acceptă