Situatie
Operatorii aritmetici binari in C++ sunt reprezentati de multimea formata din caracterele: {+,-,*,/,%}. In tabelul de mai jos putem vedea ce rol indeplineste fiecare din ele:
Operator | Denumire | Semnificatie |
+ | adunare | determina adunarea a doua variabile sau valori |
– | scadere | determina scadere a doua variabile sau valori |
* | inmultire | determina inmultirea a doua variabile sau valori |
/ | impartire | determina impartirea a doua variabile sau valori |
% | modulo | determina restul impartirii a doua variabile sau valori |
Cu ajutorul acestor operatori putem face diverse operatii aritmetice in C++. In tabelul de mai jos regasim cateva exemple de operatii realizate cu ajutorul operatorilor aritmetici:
Expresie matematica | Rezultat |
(presupunem ca avem declarate 2 variabile int a=14 si int b=4) | |
a+b | 14+4=18 |
a-b | 14-4=10 |
a*b | 14*4=56 |
a/b | 14/4=3 |
a%b | 14%4=2 |
(b+a)/b | 18/4=4 |
(a+b)%b | 18%4=2 |
(a+b)/3 | 18/3=6 |
Observatii:
- Impartirea a doua numere returneaza o valoare de tip intreg (catul impartirii) doar daca valorile impartite sunt de tip intreg. Exemplu: int a=10; int b=3; atunci a/b=3 (10/3=10)
- In cazul in care impartitorul sau deimpartitul sunt de tipul float sau double (de tip real adica), atunci expresia matematica a/b va intoarce rezultatul impartirii. Exemplu: float a=10; int b=3; atunci a/b=3.33333(3) ( 10.0/3=3.3333(3) )
Solutie
#include<stdio.h>
#include<math.h>
float produs1(int n) //cu instructiunea FOR
{
float p=1;
float z=1;
for(int i=1; i<=n; i++)
{
if (!(i%2)) //se mai putea scrie if(i%2==0) <=> testeaza dc nu e impar
{
z=1/(float)i;
p=p*z;
}
else p=p*i; //pt impar
}
return p;
}
float produs2(int n) //cu instructiunea WHILE
{
float p=1;
float z=1;
int i=1;
while(i<=n)
{
if (!(i%2)) //se mai putea scrie if(i%2==0) <=> testeaza dc nu e impar
{
z=1/(float)i;
p=p*z;
}
else p=p*i; //pt impar
i++;
}
return p;
}
float produs3(int n) //cu instructiunea WHILE
{
float p=1;
float z=1;
int i=1;
do
{
if (!(i%2)) //se mai putea scrie if(i%2==0) <=> testeaza dc e par
{
z=1/(float)i;
p=p*z;
}
else p=p*i; //pt impar
i++;
}
while(i<=n);
return p;
}
void main()
{
int n;
printf(“Introduceti n: “);
scanf(“%d”, &n);
printf(“\nProdusul cu FOR este: %.5f\n”, produs1(n));
printf(“\nProdusul cu WHILE este: %.5f\n”, produs2(n));
printf(“\nProdusul cu DO WHILE este: %.5f\n”, produs3(n));
getchar();
int k;
scanf(“%d”, k);
}
Leave A Comment?