M3 L1 Info Structura repetitivă cu contor

Se mai numește și structura repetitivă cu număr cunoscut de pași deoarece numără fiecare iterație cu o variabilă de tip int. De obicei această variabilă contor se notează cu litera i (index).

Sintaxă:

Bucla for(pentru) are trei condiții: inițializare, finalizare și pas astfel:

pseudocod:

pentru (inițializare; finalizare; pas)

{ …. instrucțiuni …. }

cod C,C++:

for( int i = 1; i <= n;  i++)
{
    ........instructiuni..........
}

Exemplu

Să se afișeze primele n numere naturale unde n este un nr. natural citit de la tastatură.

#include <iostream>

using namespace std;

int main()
{
    // declarare variabile
    int n;

    // afisare mesaj
    cout << "Tastati numarul";

    // citirea unei valori in variabila declarata mai sus
    cin >> n;

    // bucla for unde indexul i se declara in prima conditie de inițializare
    for (int i = 1; i <= n; i++)
        cout << i << " ";

    cout<< endl;

    return 0;
}

Temă1:

Folosind structura repetitivă cu contor.

  1. Să se afișeze suma primelor n numere naturale.
  2. Să se afișeze n!

Aplicație:

Șirul lui Fibonacci

Numerele Fibonacci sunt numere naturale care fac parte din următorul șir, în care fiecare număr este egal cu suma celor două de dinainte:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

Uneori, șirul este extins cu încă un termen, la început:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

Termenul Fn este calculat prin următoarea relație de recurență:

Fn = Fn-1 + Fn-2

cu valorile inițiale F1=1, F2=1 sau F0=0 și F1=1.

Algoritm

Cum determinăm primii N termeni din șirul lui Fibonacci? Vom folosi trei variabile numere întregi a b c. Două dintre ele vor reprezenta termenii anteriori Fn-1 și Fn-2, iar a treia va reprezenta termenul curent Fn:

a ← 1 
b ← 1 
scrie a, b
pentru i ← 3,n execută
    c ← a + b
    scrie c
    a ← b
    b ← c
sfarsit_pentru 

Temă 2:

Să se scrie codul C++ pentru algoritmul pseudo-cod de mai sus Șirul lui Fibonacci.