Sunteți pe pagina 1din 3

Operații matematice bazate pe valoarea elementelor unui șir

A. Suma valorilor
Suma elementelor unui șir se calculează repetitiv, adunând element cu element. Ea se
inițializează cu 0 înainte de a începe adunarea elementelor, pentru ca valoarea sa inițială să nu
afecteze valoarea sumei.
Algoritmul pentru calculul sumei elementelor unui șir este următorul:
1. Se inițializează suma cu 0.
2. Se introduc elementele șirului.
3. Se adună la sumă fiecare element în parte, pe măsură ce se introduc.
4. Se afișează suma.

Problemă:
Să se calculeze suma valorilor elementelor unui șir cu n numere întregi, unde 1 ≤ n ≤ 100.

Aplicabilitate practică: La un concurs școlar, elevii au de rezolvat n subiecte, unde 1 ≤ n ≤ 100.


La fiecare subiect obțin un punctaj. Să se calculeze suma valorilor punctajelor pe care le-au
obținut.
Exemplu: Intrare: n=5 10 15 10 5 10 Ieșire: Suma este: 50
Indicații: Pentru a rezolva problema vom aplica un algoritm general pentru calculul sumei mai
multor numere.

Programul C++ este:


Descoperiți
#include <iostream>
using namespace std;
int main()
{
int v[100], n, i, s=0; //se inițializează suma s cu 0 la declarare
cout<<"n="; cin>>n; //se introduce numărul de elemente
for (i=0; i<n; i++)
{ cin>>v[i]; //se introduc elementele șirului
s=s+v[i]; } //se calculează suma elementelor
cout<<"Suma este:"<<s; //se afișează suma
return 0;
}

B. Valori medii

Algoritmul pentru calculul mediei aritmetice a elementelor unui șir este:


1. Se introduc elementele șirului.
2. Se calculează suma elementelor pe măsură ce se introduc.
3. Se calculează media aritmetică după formula: media aritmetică = <suma
elementelor>/<nr. elementelor>.
4. Se afișează media aritmetică.

Problemă:
Se dă un șir de n numere reale, unde 1 ≤ n ≤ 31. Să se afișeze media aritmetică a elementelor
șirului și numărul de elemente care au valoarea mai mare decât aceasta.

prof. Boca Dana-Emilia Pagină 1


Aplicabilitate practică: La o stație meteo se fac zilnic măsurători ale temperaturii exterioare
într-o lună de vară cu 31 de zile. Realizați un program care să afișeze care este temperatura
medie din luna respectivă și numărul de zile în care temperatura a depășit pragul mediu al
lunii.
Exemplu: Intrare: n=6 10.5 11 9 15 17 16 Ieșire: Media este: 13.0833 Nr. elemente mai mari
decât media: 3
Indicații: Rezolvarea implică utilizarea unui algoritm simplu de calculare a mediei aritmetice,
utilizând formula matematică.

Programul C++ este:

#include <iostream>
using namespace std;
int main()
{
int n, i, nr=0;
float v[31], m=0;
cout<<"n="; cin>>n; //se introduce numărul de elemente
for (i=0; i<n; i++)
{ cin>>v[i]; //se introduc elementele șirului
m=m+v[i]; } //se calculează suma elementelor
m=m/n; //se calculează media aritmetica
cout<<"Media este:"<<m<<endl; //se afișează media aritmetica
for (i=0; i<n; i++) //se calculează nr. de elemente mai mari ca media
if (v[i]>m) nr++;
cout<<"Nr. elemente mai mari decât media:"<<nr; //se afișează nr. de elemente
return 0;
}

C. Media armonică

Observație: În C++, sintaxa funcției care calculează radicalul (rădăcina pătrată) este:
sqrt(număr pozitiv). Funcția va returna o eroare dacă este aplicată unui număr negativ.
Pentru a o putea utiliza, trebuie inclusă biblioteca cmath.
#include <cmath>
...
int main()
{ int numar;
cin>>numar;
cout<<sqrt(numar);

Algoritmul pentru calculul mediei armonice a elementelor unui șir este:


1. Se introduc elementele șirului.
2. Se calculează suma inverselor elementelor pe măsură ce se introduc.
3. Se calculează media armonică după formula sa (inversul mediei aritmetice a inverselor
numerelor).
4. Se afișează media armonică.

prof. Boca Dana-Emilia Pagină 2


Problemă:
Se dă un șir de n numere reale nenule pozitive, unde 1 ≤ n ≤ 100. Să se afișeze media armonică
a elementelor șirului.
Media armonică a elementelor x1, x2, ...xn ale unui șir de n numere reale pozitive este:
mh =

Aplicabilitate practică: Într-o fabrică cu 100 de muncitori, fiecare dintre aceștia realizează o
piesă într-un anume timp (în minute). Calculați timpul mediu de lucru pentru această operație
utilizând media armonică.
Exemplu: Intrare: n=2 2 4 Ieșire: Media armonica este: 2.66667
Indicații: Rezolvarea problemei este similară cu cea de la exercițiul B, diferențele constând în
aplicarea unei alte formule de calcul a mediei.

Programul C++ este:


Descoperiți
#include <cmath>
#include <iostream>
using namespace std;
int main()
{ int n, i;
float v[100], ma=0;
cout<<"n="; cin>>n;
for (i=0; i<n; i++)
{ cin>>v[i]; //se introduc elementele sirului
ma=ma+1/v[i]; } //se calculeaza suma elementelor
ma=n/ma; //se calculeaza media armonica
cout<<"Media armonica este:"<<ma; //se afiseaza media armonica
return 0;
}

prof. Boca Dana-Emilia Pagină 3

S-ar putea să vă placă și