online: 6; azi: 243; total: 50698 Manual clasa a ix a - Implementarea algoritmilor - Instructiuni de control

Probleme Rezolvate



Manual clasa a IX a

Implementarea algoritmilor

Instructiuni de control

Se citesc două numere de la tastatură , a şi b. Afişaţi numărul de termeni ai şirului lui Fibonacci din intervalul [ a ,b ]. Scrieţi câte o variantă de program pentru fiecare structură repetitivă implementată în limbajul C++. Precizaţi expresiile şi instrucțiunile folosite pentru cele trei acţiuni ale procesului de control.
# include < iostream >
using namespace std ;
int main () {
int a, b;
cout << " Introduceti doua numere intregi a si b: " ;
cin >> a >> b;
int f1 = 1 , f2 = 1 , f3 = 2 , nr = 0 ;
while (f1 <= b) {
if (f1 >= a) {
nr++;
}
f1 = f2;
f2 = f3;
f3 = f1 + f2;
}
cout << " Numarul de termeni din sirul lui Fibonacci din intervalul [" << a << ", " << b << "] este: " << nr << endl ;
return 0 ;
}
Explicație:
# include < iostream >
using namespace std ;
int main () {
int a, b;
cout << " Introduceti doua numere intregi a si b: " ;
cin >> a >> b;
int f1 = 1 , f2 = 1 , f3 = 2 , nr = 0 ;
do {
if (f1 >= a && f1 <= b) {
nr++;
}
f1 = f2;
f2 = f3;
f3 = f1 + f2;
} while (f1 <= b);
cout << " Numarul de termeni din sirul lui Fibonacci din intervalul [" << a << ", " << b << "] este: " << nr << endl ;
return 0 ;
}
Explicație:
# include < iostream >
using namespace std ;
int main () {
int a, b;
int f1 = 0 , f2 = 1 , f3;
int count = 0 ;
cout << " Introduceti a si b: " ;
cin >> a >> b;
for ( int i = 1 ; i <= b; i++) {
f3 = f1 + f2;
f1 = f2;
f2 = f3;
if (f2 >= a && f2 <= b) {
count ++;
}
}
cout << " Numarul de termeni ai sirului Fibonacci in intervalul [" << a << ", " << b << "] este: " << count << endl ;
return 0 ;
}

În această variantă, folosim o buclă for pentru a genera termenii șirului Fibonacci de la 1 până la b. În fiecare iterație, adunăm ultimele două numere ale șirului și verificăm dacă numărul obținut se află în intervalul [ a,b ]. Dacă da, incrementăm contorul. La final, afișăm numărul de termeni găsiți.