1. Continut
Componentele buclei:
| Component | Descriere | Exemplu |
|---|---|---|
| Numar iteratii (N) | De cate ori se repeta bucla | repeta de 5 ori |
| Corp bucla | Instructiunile care se repeta | mergi 10 pasi + roteste 15 grade |
| Contor implicit | Numara automatt: 1, 2, 3... N | iteratia 1, iteratia 2, ..., iteratia 5 |
2. Continut
📋 Exemplu complet: Diagrama pentru desenarea unui triunghi
↓
[contor = 0]
↓
╔════════════════════════╗
║ BUCLA: repeta 3 ori ║
╠────────────────────────╣
║ [mergi 120 pasi] ║
║ ↓ ║
║ [roteste 120 grade] ║
║ ↓ ║
║ [contor = contor + 1] ║
║ ↓ ║
║ <contor < 3?> ║
║ DA ↶ (revine sus) ║
║ NU ↓ (continua) ║
╚════════════════════════╝
↓
STOP
Explicatie: Bucla se executa de 3 ori. La fiecare iteratie, se deseneaza o latura (mergi 120 pasi) si se roteste sprite-ul (120 grade). Dupa 3 iteratii, contor devine 3, conditia "contor < 3" devine falsa, si programul iese din bucla.
3. Continut
for (i = 1; i <= N; i++). In Scratch, este implicit (ascuns).
Cum functioneaza contorul:
- Initializare: Contorul incepe de la 1 (sau 0, depinde de limbaj)
- Verificare: Inainte de fiecare iteratie, se verifica: contor ≤ N?
- Executie: Daca DA, se executa corpul buclei
- Incrementare: Dupa executie, contorul creste cu 1 (contor++)
- Reluare: Se revine la pasul 2 (verificare)
- Iesire: Cand contor > N, bucla se opreste
🎯 Exemplu: Urmarirea contorului pentru N = 5
| Iteratie | Valoare contor | Conditie (contor ≤ 5) | Actiune |
|---|---|---|---|
| - | 0 (initial) | - | Initializare |
| 1 | 1 | ✓ ADEVARAT (1 ≤ 5) | Executa corpul buclei |
| 2 | 2 | ✓ ADEVARAT (2 ≤ 5) | Executa corpul buclei |
| 3 | 3 | ✓ ADEVARAT (3 ≤ 5) | Executa corpul buclei |
| 4 | 4 | ✓ ADEVARAT (4 ≤ 5) | Executa corpul buclei |
| 5 | 5 | ✓ ADEVARAT (5 ≤ 5) | Executa corpul buclei |
| - | 6 | ✗ FALS (6 > 5) | IESI din bucla! |
Observa: Corpul buclei se executa de exact 5 ori (pentru contor = 1, 2, 3, 4, 5). Cand contorul ajunge la 6, conditia devine falsa si bucla se opreste.
4. Continut
Cum se foloseste in Scratch:
- Click pe categoria Control
- Trage blocul repeat (10) in zona de script
- Schimba numarul 10 cu cate iteratii vrei (ex: 4 pentru patrat)
- Trage blocuri Motion, Looks, Sound inauntrul buclei
- Apasa green flag si urmareste executia!
🎮 Exemplu complet: Animatie de dans
Ce face: Schimba costume-ul (aspect) pisicii de 6 ori, cu o pauza de 0.2 secunde intre fiecare schimbare. Rezultat: o animatie fluida de dans cu 6 cadre!
🎨 Exemplu: Deseneaza o spirala colorata
Ce face: Deseneaza o spirala cu 36 de segmente. La fiecare iteratie: se misca 10 pasi, se roteste 10 grade, schimba culoarea pixului si se deplaseaza putin in dreapta (x+1). Rezultat: o spirala curcubeu frumoasa!
5. Continut
Cum se creeaza o tabela de urmarire:
- Identifica toate variabilele din program (inclusiv contorul implicit)
- Creeaza cate o coloana pentru fiecare variabila
- Adauga o coloana pentru "Iteratie" sau "Pas"
- Adauga coloane pentru output (ce se afiseaza/deseneaza)
- Simuleaza executia manual, rand cu rand
📊 Exemplu: Tabela pentru suma numerelor de la 1 la 5
suma = 0
repeta de 5 ori (i de la 1 la 5):
suma = suma + i
afiseaza suma
STOP
| Iteratie (i) | Suma (inainte) | Operatie | Suma (dupa) |
|---|---|---|---|
| - | 0 | initializare | 0 |
| 1 | 0 | suma = 0 + 1 | 1 |
| 2 | 1 | suma = 1 + 2 | 3 |
| 3 | 3 | suma = 3 + 3 | 6 |
| 4 | 6 | suma = 6 + 4 | 10 |
| 5 | 10 | suma = 10 + 5 | 15 |
| - | 15 | afiseaza | Output: 15 |
Rezultat final: suma = 15 (care este corect: 1+2+3+4+5 = 15)
🎯 Exercitiu: Completeaza tabelul pentru inmultire
repeta de 4 ori (i de la 1 la 4):
produs = produs * 2
afiseaza produs
| Iteratie (i) | Produs (inainte) | Operatie | Produs (dupa) |
|---|---|---|---|
| - | 1 | initializare | 1 |
| 1 | 1 | produs = 1 * 2 | 2 |
| 2 | 2 | produs = 2 * 2 | 4 |
| 3 | 4 | produs = 4 * 2 | 8 |
| 4 | 8 | produs = 8 * 2 | 16 |
| - | 16 | afiseaza | Output: 16 |
Rezultat: 2⁴ = 16 (produs inmultit cu 2 de 4 ori)
6. Continut
Cand folosim "repeta de N ori":
| Domeniu | Exemplu | Numar iteratii |
|---|---|---|
| Geometrie | Deseneaza patrat, hexagon, stea | Numar laturi (4, 6, 5) |
| Animatie | Schimba 10 costume-uri pentru dans | Numar cadre (10) |
| Sunet | Canta melodia "La multi ani" de 3 ori | Numar repetari (3) |
| Matematica | Calculeaza suma primelor 100 de numere | Interval numeric (100) |
| Jocuri | Creeaza 5 inamici la start | Numar obiecte (5) |
| Input | Citeste notele a 20 de elevi | Numar date (20) |
🎓 Aplicatie in viata reala: Generator de parole
Vrei sa generezi o parola de 8 caractere aleatorii.
caractere = "abcdefghijklmnopqrstuvwxyz0123456789"
repeta de 8 ori:
pozitie_aleatoare = numar_aleatoriu_intre(0, 35)
caracter = caractere[pozitie_aleatoare]
parola = parola + caracter
afiseaza parola
Rezultat posibil: "x7k2m9qw" (se schimba la fiecare rulare pentru ca sunt caractere aleatorii!)