Instructiunile repetitive se folosesc atunci cand se doreste efectuarea unei comenzi de mai multe ori.
Instructiunea for() (denumita si bucla for()) poate fi conasiderata cea mai des folosita instructiune repetitiva. In ActionScript 3 putem folosi bucla "for()" cu mai multe variante:

1. Instructiunea for

Aceasta are urmatoarea forma generala:

- "i" este o variabila de initializare a buclei "for()", folosita ca un contoar pentru numarul de repetari. Poate fi utilizata si alta litera sau cuvant, ca la orice variabila.
Se poate folosi si direct "var i = nr_start;", dar din motivele precizate in lectia despre variabile, este indicat sa se specifice si tipul.
- "nr_start" este un numar initial de la care incep repetarile executiei codului dintre acolade.
- Conditia "i<nr_end" verifica si asigura ca numarul de repetari sa se incadreaza intr-o anumita valoare, stabilita la "nr_end". Cat timp rezultatul acestei conditii este TRUE se executa inca o data codul dintre acolade.
- "i++" incrementeaza cu o unitate valoarea la care a ajuns "i", apoi aceasta valoare este verificata din nou de "i<nr_end", pana cand rezultatul este FALSE. Atunci se opreste executia buclei.
- In loc de "i<nr_end" se poate folosi si alta conditie relationala, de exemplu "i<=nr_end"
Iata un exemplu simplu de utilizare a instructiunii "for":
var total:int = 1;       // Se defineste o variabila

// Se executa o bucla "for()" de 4 ori, care dubleaza mereu "total"
for(var i:int=0; i<4; i++)
{
  total *= 2;
  trace(total);
}

// In Output afiseaza 2 4 8 16
- Dupa ce e difinita variabila "total", la instructiunea "for()" se atribue unei variabile 'i' valoarea 0, se verifica conditia (i<4) care este adevarata si se executa corpul instructiunii (dintre acolade).
- Codul dntre acolade dubleaza valoarea lui "total", iar functia "trace(total)" afiseaza in Output valoarea lui, apoi se incrementeaza 'i' cu o unitate (i++), acum 'i' are valoarea 1.
- Instructiunea "for()" verifica din nou conditia (i<4) si fiindca este adevarata, se executa iar codul dintre acoladele ei, apoi se incrementeaza valoarea lui 'i', ..., si tot asa pana cand 'i' va ajunge sa aibe valoarea 4 care la verificarea conditiei (i<4) returneaza FALSE, moment in care se termina executia instructiunii "for()".
- Ca rezultat, in Output afiseaza 2 4 8 16.

• Adesea, bucla "for()" este folosita pentru parcurgerea elementelor Array, dupa cum se vede in urmatorul exemplu:
// Se defineste o variabila de tip Array
var arr:Array = ['site', 'cursuri', 'tutoriale'];

// Se parcurge Array-ul, de la 0 (primul element)
// pana la numarul de elemente din Array (aflat cu "arr.length")
for(var i:int=0; i<arr.length; i++)
{
	// Afiseaza in Output fiecare element parcurs,
	// aflat cu numarul de ordine "i" (care e incrementat la fiecare executie a buclei)
	trace(arr[i]);
}

// In Output afiseaza "site cursuri tutoriale"
- Variabila de tip Array va fi prezentata amanuntit in lectiile urmatoare. Explicatiile necesare pentru obiectul acestei lectii sunt cele din cod.

In interiorul instructiunii for (ca si la instructiunea "if"), intre acolade pot fi introduse si alte instructiuni "for", sau alte instructiuni conditionale, acest lucru se numeste imbricarea instructiunilor.

2. Instructiunea for ... in

Pentru utilizarea acestei instructiuni trebuie sa aveti cunostinte despre obiectele ActionScript asa ca va trebui sa reveniti asupra ei dupa ce le veti invata - in lectiile urmatoare .
Cu "for ... in" se poate afla numele fiecarui element dintr-un obiect sau cheie din Array si se executa cate un set de instructiuni pentru fiecare element sau proprietate parcursa. Daca obiectul nu are nici o proprietate nu se desfasoara nici o repetare.
Instructiunea "for ... in" are urmatoarea forma generala:

- Unde "nume_ el" este o variabila de tip sir. Pentru fiecare repetare a executiei instructiunii, la "nume_el" i-se atribuie ca valoare numele elementului sau proprietatii curente parcurse, din "Obiect" (care poate fi si un Array).
- Executia buclei se face pana cand sunt parcurse toate.
Iata un exemplu practic (explicatiile necesare sunt in comentariile din cod).
// Se defineste un obiect
var obj:Object = {'site':'marplo.net', 'gen':'cursuri', 'web':'tutoriale'};

// Cu "for ... in" se parcurge Obiectul
for(var elm:String in obj)
{
  // Se aplica "trace()", care, pentru fiecare element curent parcurs
  // returneaza numele si valoarea lui
  trace(elm+ ' - '+ obj[elm]);

  // obj[elm] returneaza valoarea elementului din "obj" care are numele dat de "elm"
}

// In Output va afisa: "gen - cursuri site - marplo.net web - tutoriale"

3. Instructiunea for each ... in

Aceasta este o alta versiune a lui "for ... in", noua in ActionScript 3.
Sintaxa generala este:

- Desi pare asemanatoare cu standardul "for ... in", principala diferenta la "for each ... in" este faptul ca prin aceasta se pot manipula direct proprietatile sau functiile din cadrul unui obiect.
- Aici "element" este proprietatea din "obiect", cu tot ce contine ea, nu doar numele ei.
Pentru a cunoaste mai bine diferenta, iata exemplul anterior, dar folosind "for each ... in".
// Se defineste un obiect
var obj:Object = {'site':'marplo.net', 'gen':'cursuri', 'web':'tutoriale'};

// Cu "for each ... in" se parcurge Obiectul
for each (var elm:Object in obj)
{
  // Se aplica "trace()", care, pentru fiecare element curent parcurs returneaza valoarea lui
  trace(elm);
}

// In Output va afisa: "tutoriale cursuri marplo.net"
- Diferenta se observa la "trace(elm)", aici "elm" a returnat continutul (valoarea) elementului, pe cand la "for ... in" returna numele lui.

- Fisierele FLA cu exemplele din aceasta lectie pot fi descarcate de la:
  1. For 1
  2. For 2 - (Array)
  3. For ... in
  4. For each ... in

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag HTML5 este indicat sa contina meniul cu link-uri de navigare in site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Ce proprietate CSS muta elementrul in dreapta sau stanga de la locul unde e?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Clic pe metoda obiectului Math care rotunjeste numarul x descrescator la cel mai apropiat intreg.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicati functia PHP care returneaza numarul de caractere dintr-un sir.
mb_strlen() count() stristr()
$str = "sir cu caractere utf-8 åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 29
Clic pe raspunsul potrivit la intrebarea: "When it happened?".
On the 7th of July 1996 It is a quarter to 5. Nice weather.
When it happened? On the 8th of August 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Indicati raspunsul potrivit la intrebarea: "¿Cuando sucedió?".
Hace buen tiempo. En el 8 de Agosto de 2001 Son las tres menos cuarto.
¿Cuando sucedió? En el 8 de Agosto de 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Instructiuni repetitive - FOR

Last accessed pages

  1. Prezentul continuu - Exercitii si teste incepatori (10421)
  2. Limba spaniola curs online incepatori si avansati (12609)
  3. Adjectivul in limba engleza - The adjective (10618)
  4. Lucrul cu stiluri CSS (2775)
  5. Verificare si Validare caractere din formular (293)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (3122)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2512)
  3. Gramatica limbii engleze - Prezentare Generala (2357)
  4. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (1961)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (1611)