Invatare Atomica

Structura FOR

Progres lectie:
0%
🎯

Obiectivul lectiei

Dupa aceasta lectie, vei sti sa folosesti bucla FOR — cea mai eleganta structura repetitiva pentru un numar cunoscut de repetitii.

Dupa aceasta lectie vei putea:

  • Sa analizezi structura repetitiva cu contor
  • Sa explici sintaxa for
  • Sa utilizezi echivalenta for - while
  • Sa aplici variatii utile
  • Sa aplici exemplu: suma primelor n numere
  • Sa construiesti FOR-uri imbricate (nested for)

Incearca singur!

🎯 INCEARCA

Tabla inmultirii cu 7!

#include <iostream> using namespace std; int main() { cout << "Tabla inmultirii cu 7:" << endl; for (int i = 1; i <= 10; i++) { cout << "7 x " << i << " = " << 7 * i << endl; } return 0; }
🚀 Ruleaza pe OnlineGDB

Observa cat de compact e codul! Totul intr-o singura linie: for (start; conditie; pas)

1

Structura repetitiva cu contor

Structura repetitiva cu contor
FOR combina totul intr-o singura linie: initializare, conditie si incrementare. Perfect cand stii exact de cate ori vrei sa repeti!
2

Sintaxa FOR

Sintaxa FOR
for (initializare; conditie; pas) { // instructiuni }
Initializare int i = 1 - se executa O SINGURA DATA, la inceput
Conditie i <= 10 - se verifica INAINTE de fiecare repetitie
Pas i++ - se executa DUPA fiecare repetitie
3

Echivalenta FOR - WHILE

Echivalenta FOR - WHILE
// FOR: for (int i = 1; i <= 5; i++) { cout << i; } // WHILE echivalent: int i = 1; while (i <= 5) { cout << i; i++; }
4

Variatii utile

Variatii utile
// Numarare inversa: for (int i = 10; i >= 1; i--) { ... } // Pas de 2: for (int i = 0; i <= 100; i += 2) { ... } // Numere pare: for (int i = 2; i <= 20; i += 2) { ... }
5

Exemplu: Suma primelor n numere

Exemplu: Suma primelor n numere
int n, suma = 0; cout << "n = "; cin >> n; for (int i = 1; i <= n; i++) { suma += i; // echivalent cu: suma = suma + i } cout << "Suma: " << suma;
6

FOR imbricate (nested for)

FOR imbricate (nested for)

O bucla FOR poate fi plasata in interiorul altei bucle FOR. Aceasta se numeste bucla imbricata (nested).

Regula esentiala: pentru fiecare iteratie a buclei exterioare, bucla interioara ruleaza complet, de la primul la ultimul pas al ei.

// Structura generala: for (int i = 1; i <= n; i++) { // bucla EXTERIOARA (randuri) for (int j = 1; j <= i; j++) { // bucla INTERIOARA (coloane) cout << "*"; } cout << endl; // rand nou dupa fiecare linie de stele } // Rezultat pentru n=4: // * // ** // *** // ****

Cum se citeste: i este numarul randului (1, 2, 3, ..., n). Pe randul i, vrem sa afisam exact i stele, deci j merge de la 1 la i.

Atentie: variabilele de control ale celor doua bucle trebuie sa fie diferite (de obicei i si j).

Exercitii practice

Exercitiul 1 (Nivel minim) - Programare

Cerinta: Citeste un numar n si calculeaza suma tuturor numerelor de la 1 la n folosind bucla FOR.

Exercitiul 2 (Nivel standard) - Programare

Cerinta: Citeste un numar n si afiseaza tabla inmultirii cu n (de la n*1 pana la n*10).

Exercitiul 3 (Nivel performanta) - Programare

Cerinta: Citeste un numar n si calculeaza n! (factorial). n! = 1 * 2 * 3 * ... * n

Exercitiul 4 (Nivel performanta) - Programare

Cerinta: Citeste un numar n si verifica daca este prim (se divide doar cu 1 si cu el insusi).

Exercitiul 5 (Nivel performanta) - Programare

Cerinta: Deseneaza un triunghi de stele folosind FOR-uri imbricate (nested for — vezi Atomul 6). Urmeaza pasii:

  1. Citeste de la tastatura un numar n (numarul de randuri ale triunghiului, ex: 5).
  2. Scrie un FOR exterior care parcurge randurile: for (int i = 1; i <= n; i++).
  3. In interiorul sau, scrie un FOR interior care afiseaza exact i stele pe randul i: for (int j = 1; j <= i; j++) cout << "*";
  4. Dupa FOR-ul interior, adauga cout << endl; pentru a trece la randul urmator.
  5. Compileaza si verifica: pentru n=4 rezultatul trebuie sa fie:
    *
    **
    ***
    ****

Ce ai invatat astazi

  • Ai invatat structura repetitiva cu contor
  • Acum stii sintaxa for
  • Ai descoperit echivalenta for - while
  • Ai explorat variatii utile
  • Ai inteles exemplu: suma primelor n numere
  • Ai construit FOR-uri imbricate (nested for)

Urmatoarea lectie

Continua cu lectia urmatoare pentru a aprofunda cunostintele.

Continua →