Structura repetitivă cu contor
Clasa a VI-a – Informatică și TIC
Într-un algoritm, unele comenzi trebuie repetate. Dacă trebuie să spunem unui personaj să scrie același mesaj de mai multe ori, nu este eficient să scriem aceeași comandă de fiecare dată.
De exemplu, în loc să scriem de 30 de ori comanda „scrie litera a”, este mai simplu să spunem: scrie litera a de 30 de ori.
1. Ce este structura repetitivă cu contor?
Structura repetitivă cu contor este o structură care permite repetarea unei instrucțiuni sau a unui grup de instrucțiuni de un număr cunoscut de ori.
Această structură se folosește atunci când numărul de repetări este stabilit de la început:
de 5 ori, de 10 ori, de 100 de ori sau de n ori.
Reține!
Structura repetitivă cu contor se mai numește și structură repetitivă cu număr cunoscut de pași, deoarece știm câți pași trebuie executați.
2. Ce este contorul?
Contorul este o variabilă care numără de câte ori s-a executat repetarea.
De obicei, contorul se notează cu i, dar poate avea și alt nume.
Contorul are:
- o valoare inițială, de unde începe numărarea;
- o valoare finală, unde se oprește numărarea;
- un pas, adică valoarea cu care crește sau scade la fiecare repetare.
3. Forma în pseudocod
Forma generală a structurii repetitive cu contor este:
Pentru contor ← valoare_initiala, valoare_finala, pas execută
instrucțiuni
Sfârșit pentru
Dacă pasul este 1, acesta poate lipsi:
Pentru contor ← valoare_initiala, valoare_finala execută
instrucțiuni
Sfârșit pentru
Pe înțeles simplu
Instrucțiunea Pentru i ← 1, 10 execută înseamnă:
repetă instrucțiunile pentru valorile lui i de la 1 până la 10.
4. Cum funcționează pas cu pas?
| Pas | Ce se întâmplă? |
|---|---|
| Pasul 1 | Contorul primește valoarea inițială. |
| Pasul 2 | Se verifică dacă valoarea contorului permite continuarea repetării. |
| Pasul 3 | Dacă repetarea continuă, se execută instrucțiunile din interior. |
| Pasul 4 | Contorul se modifică prin adăugarea pasului. |
| Pasul 5 | Se revine la verificare. Când condiția nu mai este îndeplinită, repetarea se oprește. |
5. Structura repetitivă cu contor în Scratch
În Scratch, atunci când vrem să repetăm o comandă de un număr cunoscut de ori, folosim blocul:
Acest bloc se găsește în grupa Control și execută instrucțiunile din interior de numărul de ori indicat.
De exemplu, dacă în bloc scriem 10, comenzile din interior se execută de 10 ori.
6. Exemplu simplu: personajul spune „Ciao!” de 5 ori
Varianta fără structură repetitivă
spune "Ciao!"
spune "Ciao!"
spune "Ciao!"
spune "Ciao!"
spune "Ciao!"
Această variantă este lungă și devine greu de folosit dacă trebuie să repetăm comanda de 50 sau 100 de ori.
Varianta corectă, cu structură repetitivă
repetă 5
spune "Ciao!"
Comanda este mai scurtă, mai clară și mai ușor de modificat.
7. Exemplu în pseudocod
Algoritmul care afișează mesajul Ciao! de 5 ori poate fi scris astfel:
Algoritmul Pico este:
Pentru i ← 1, 5 execută
Scrie "Ciao!"
Sfârșit pentru
Sfârșit algoritm
Variabila i are rolul de a număra pașii. Ea ia pe rând valorile:
1, 2, 3, 4, 5.
8. Exemplu: pinguinul merge și salută
Problemă
Un personaj trebuie să meargă 10 pași și să spună Ciao!.
Aceste două acțiuni trebuie repetate de 10 ori.
Algoritm Scratch, descris textual
când se dă click pe stegulețul verde
repetă 10
mergi 10 pași
spune "Ciao!" pentru 1 secunde
Algoritm în pseudocod
Algoritmul Pinguin este:
Pentru i ← 1, 10 execută
Mergi 10 pași
Scrie "Ciao!"
Sfârșit pentru
Sfârșit algoritm
Dacă personajul merge de 10 ori câte 10 pași, atunci va merge în total:
10 × 10 = 100 de pași
9. Exemplu: afișarea numerelor de la 1 la 10
Problemă
Să se afișeze numerele de la 1 la 10.
Algoritm în pseudocod
Pentru i ← 1, 10 execută
Scrie i
Sfârșit pentru
Se vor afișa:
1 2 3 4 5 6 7 8 9 10
10. Exemplu: afișarea numerelor din 2 în 2
Dacă vrem ca variabila i să crească din 2 în 2, folosim pasul 2.
Pentru i ← 10, 20, 2 execută
Scrie i
Sfârșit pentru
Se vor afișa:
10 12 14 16 18 20
Contorul i ia valorile de la 10 până la 20, crescând cu 2 la fiecare pas.
11. Exemplu: numărătoare inversă
Structura repetitivă cu contor poate fi folosită și pentru numărare descrescătoare.
Pentru i ← 10, 1, -1 execută
Scrie i
Sfârșit pentru
Se vor afișa:
10 9 8 7 6 5 4 3 2 1
În acest caz, pasul este negativ, deci contorul scade cu 1 la fiecare repetare.
12. Când folosim structura repetitivă cu contor?
| Situație | Folosim structură cu contor? | Motiv |
|---|---|---|
| Afișăm numerele de la 1 la 10. | Da | Știm că sunt 10 repetări. |
| Personajul merge 20 de pași de 5 ori. | Da | Știm că acțiunea se repetă de 5 ori. |
| Cerem parola până când este corectă. | Nu | Nu știm de câte ori va greși utilizatorul. |
| Mergem până atingem marginea scenei. | Nu | Nu știm exact câți pași sunt necesari. |
13. Exemplu practic în Scratch: desenarea unui pătrat
Problemă
Să realizăm în Scratch un algoritm prin care personajul desenează un pătrat.
Un pătrat are 4 laturi. Pentru fiecare latură, personajul merge înainte și apoi se rotește cu 90 de grade. Aceeași secvență se repetă de 4 ori.
Algoritm Scratch, descris textual
când se dă click pe stegulețul verde
șterge tot
stilou jos
repetă 4
mergi 100 pași
rotește 90 grade
stilou sus
Blocul repetă 4 este potrivit deoarece știm că pătratul are exact 4 laturi.
14. Exemplu practic: desenarea unui triunghi echilateral
Un triunghi echilateral are 3 laturi egale. Pentru a-l desena, repetăm de 3 ori deplasarea și rotirea.
când se dă click pe stegulețul verde
șterge tot
stilou jos
repetă 3
mergi 120 pași
rotește 120 grade
stilou sus
Folosim repetă 3, deoarece triunghiul are 3 laturi.
15. Exemplu: suma numerelor de la 1 la N
Problemă
Se citește un număr natural N. Să se calculeze suma numerelor de la 1 la N.
Algoritm în pseudocod
Citește N
suma ← 0
Pentru i ← 1, N execută
suma ← suma + i
Sfârșit pentru
Scrie suma
Algoritm Scratch, descris textual
când se dă click pe stegulețul verde
întreabă "Dă valoarea lui N:" și așteaptă
setează N la răspuns
setează suma la 0
setează i la 1
repetă N
modifică suma cu i
modifică i cu 1
spune unește "Suma este: " cu suma
16. Exemplu: tabla înmulțirii
Problemă
Se citește un număr n. Să se afișeze tabla înmulțirii pentru acel număr, de la 1 la 10.
Algoritm în pseudocod
Citește n
Pentru i ← 1, 10 execută
Scrie n, " x ", i, " = ", n * i
Sfârșit pentru
Exemplu pentru n = 7
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 10 = 70
17. Greșeli frecvente
- Se folosește structura cu contor atunci când nu știm numărul de repetări.
- Se uită că blocul
repetădin Scratch execută instrucțiunile exact de numărul indicat. - Se alege greșit numărul de repetări: de exemplu
repetă 3pentru desenarea unui pătrat. - Se uită modificarea variabilei
iatunci când simulăm contorul în Scratch. - Se confundă contorul cu rezultatul problemei.
- Se pune afișarea rezultatului în interiorul repetării, deși uneori trebuie afișat doar la final.
18. Exerciții
- Realizează în Scratch un program în care personajul spune
Salut!de 10 ori. - Realizează în Scratch un program în care personajul merge 20 de pași de 5 ori.
- Scrie în pseudocod un algoritm care afișează numerele de la 1 la 20.
- Scrie în pseudocod un algoritm care afișează numerele pare de la 2 la 20.
- Realizează în Scratch un program care desenează un pătrat.
- Realizează în Scratch un program care desenează un triunghi echilateral.
- Scrie un algoritm care calculează suma numerelor de la 1 la N.
- Scrie un algoritm care afișează tabla înmulțirii pentru un număr citit.
Pe scurt
Structura repetitivă cu contor se folosește atunci când știm exact de câte ori trebuie repetate instrucțiunile.
În pseudocod, folosim forma Pentru contor ← valoare_initiala, valoare_finala, pas execută,
iar în Scratch folosim blocul repetă ... din grupa Control.