Unelte utilizator

Unelte site


Sidebar

module:08-liste-si-vectori:lectia-02

Aceasta e o versiune anterioară a paginii.


Lecția 2: Vector de obiecte, referire și modificare

Salut! Bine ai venit la cea de-a doua lecție din cadrul modulului 08-liste-si-vectori. În această lecție vei aprofunda noțiunea de vector, observând în detaliu cum se declară și se inițializează vectori de obiecte, precum și cum pot fi modificate elementele lui. Vom continua să lucrăm în Khan.

Cuvinte cheie: declarare, ințializare, modificare

Recapitulare: noțiunea de vector

Hai să facem o scurtă recapitulare legată de noțiunea de vector. În acest timp, ne vom uita și pe exercițiul pentru acasă de săptămâna trecută.

Un vector este un grup de obiecte așezate într-o anumită ordine. Obiectele din vectori au de obicei o caracteristică comună: sunt numere, nume de persoane, de orașe, etc.

Indexarea este modul prin care putem referi un singur obiect din vector. Pentru aceasta, atribuim câte un număr (numit index sau poziție) fiecărui element, începând cu valoarea 0.

În Khan, indexarea se face folosind paranteze drepte. Pentru un vector var v = [„Ana“, „Ion“, „Maria“ ];, elementele lui se indexează astfel:

  • v[0] este „Ana“;
  • v[1] este „Ion“;
  • v[2] este „Maria“. Putem determina numărul de elemente din vectorul v folosind cuvântul length:
  • v.length are valoarea 3. </note>

Dacă ai înțeles bine noțiunile de mai sus, rezolvă următorul exercițiu recapitulativ. Dacă nu, hai să rezolvăm exercițiul pentru acasă împreună.

==== 0. Exercițiu recapitulativ ==== Modifică programul de mai jos pentru a obține un rezultat ca în figură: Pentru a rezolva acest exercițiu, trebuie să:

  • modifici vectorul astfel încât numele să fie în ordine alfabetică;
  • afișezi caracterul * scris cu roșu doar în dreptul numelor din vector aflate pe poziții cu indice par (0, 2, 4, …). Nu uita că primul element din vector este pe poziția 0.

Exercițiu

Made using: Khan Academy Computer Science.

===== Tutorial: declarare vector, inițializarea lui, modificarea elementelor =====

Astăzi vom folosi vectori cu obiecte mai complexe. Urmărește exemplul și rezolvă exercițiul propus.

==== 1. Inițializarea vectorilor ====

În exemplul de mai jos am folosit doi vectori: messages conține niște propoziții, iar colors este un vector de culori. Vezi diferența dintre cei doi vectori? Ei au fost inițializați diferit. Urmărește explicația de sub exemplu și rezolvă cele două cerințe.

Culori

Made using: Khan Academy Computer Science.

Explicație

Vectorul messages a fost inițializat prin enumerarea elementelor lui, iar vectorul colors a fost inițializat prin atribuirea de valori pe poziții diferite. În cazul vectorului messages, șirurile de caractere au fost scrise unul sub celălalt pentru a putea fi observate mai bine. Acum că ai observat cum sunt inițializati cei doi vectori, rezolvă următoarele cerințe:

  • adaugă încă 2 propoziții în engleză în vectorul messages
  • adaugă încă 2 culori în vectorul colors pe pozițiile 4 și 5

De reținut!

Vectorii pot fi inițializați în două moduri:

  • prin enumerarea elementelor (vectorul ce conține propoziții)
    var messages = [
        "I learn how to write programs.",
        "I need food.",
        "I am so smart!",
        "Old McDonald had a farm."
    ];
  • prin atribuirea de valori pe anumite poziții (vectorul ce conține culori)
    var colors = [];
    colors[0] = color(100, 0, 0);
    colors[1] = color(0, 200, 0);
    colors[2] = color(200, 200, 0);
    colors[3] = color(0, 0, 200);

    </note>

==== 2. Modificarea vectorilor ====

În următorul exemplu vom desena niște pătrate cu diferite culori. Vezi cum am refolosit vectorul de culori? Este destul de simplu deoarece elementele din vector pot fi modificate. Urmărește explicația de mai jos și rezolvă cerințele.

Culori și pătrate

Made using: Khan Academy Computer Science.

Explicație

Într-un vector putem schimba valoarea oricărui element de câte ori dorim în cadrul programului. Inițial, în vectorul de culori au fost puse culorile [ roșu, galben, albastru ]. Apoi au fost modificate culorile astfel încât vectorul a devenit [ verde, portocaliu, violet ]. La final, a fost schimbată prima culoare, vectorul devenind [ portocaliu, portocaliu, verde ]. În acest caz, am folosit culoarea de pe poziția 2 pentru a o atribui și pe poziția 0. Acum că ai observat cum se pot modifica valorile dintr-un vector, rezolvă următoarele cerințe:

  • desenează un nou rând de pătrate având culorile negru, roz și albastru.
  • desenează un nou rând de pătrate având culorile roșu, roz și verde. Deoarece culoarea de pe poziția 1 este aceeași, schimbă doar culorile celelalte. În final, trebuie să obții o imagine asemănătoare (nu trebuie să pui exact aceleași nuanțe):

De reținut!

Elementele dintr-un vector pot fi schimbate cu valori noi sau cu alte valori din cadrul vectorului.

===== Task-uri =====

TODO: list below

  1. modificarea codului pentru a păstra semantica
  2. declarare vectori de forme + colorarea cu valori din vectorul de culori

===== Bonus =====

TODO: exerciții bonus

===== Temă de casă =====

TODO: exercițiu

module/08-liste-si-vectori/lectia-02.1393653181.txt.gz · Ultima modificare: 2014/03/01 07:53 de către bpopescu