Minicurso de C++ para Matemática Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
3.2 Ramificação
Uma estrutura de ramificação é uma instrução para a tomada de decisões durante a execução de um programa. Na linguagem C++, usa-se a sintaxe
1 if ( condition0 ) {
2 block0 ;
3 } else if ( condition1 ) {
4 block1 ;
5 } else {
6 block2 ;
7 }
A instrução if permite a execução do bloco computacional block0 somente no caso de a condition0 seja true (verdadeira). A instrução else if somente é verificada quando condition0 == false . Neste caso, o block1 é executado somente se condition1 == true . Senão, block2 é executado.
Por exemplo, o seguinte código computa os zeros da função
para parâmetros informados por usuária(o). Verifique!
Código 8: ZeroP1.cpp
1 #include < iostream >
2
3 int main () {
4
5 double a , b ;
6 std :: cout << "Valor de a: " ;
7 std :: cin >> a ;
8 std :: cout << "Valor de b: " ;
9 std :: cin >> b ;
10
11 if ( a != 0.0) {
12 double raiz = - b / a ;
13 std :: cout << "Raí z: "
14 << raiz << std :: endl ;
15 } else if ( b == 0.0) {
16 std :: cout << "Todo x real é raí z."
17 << std :: endl ;
18 } else {
19 std :: cout << "Nã o há raí z."
20 << std :: endl ;
21 }
22
23 return 0;
24 }
E. 3.2.1.
Implemente um código que contenha uma função que recebe dois números n e m e imprime o maior deles.
Resposta
1 double max ( double m , double n ) {
2 double maior = m ;
3 if ( maior < n )
4 maior = n ;
5 return maior ;
6 }
E. 3.2.2.
Implemente um código que contenha um método que recebe os coeficientes de um polinômio
e imprime se p têm ou não raízes reais.
Resposta
1 bool TemRaizesReais ( double a , double b , double c ) {
2 bool resp ;
3
4 if ( b * b - 4* a * c >= 0) {
5 std :: cout << "Raí zes reais."
6 << std :: endl ;
7 resp = true ;
8 } else {
9 std :: cout << "Nã o tem raí zes reais."
10 << std :: endl ;
11 resp = false ;
12 }
13
14 return resp ;
15 }
E. 3.2.3.
Implemente um código que contenha um método para a computação das raízes de um polinômio de segundo grau.
Resposta
1 int RaizesP2 ( double a , double b , double c ,
2 double & x1 , double & x2 ) {
3
4
5 int flag = 0;
6
7 double disc = b * b - 4* a * c ;
8
9 if ( disc == 0.) {
10 x1 = (- b - sqrt ( disc )) / (2* a );
11 x2 = (- b + sqrt ( disc )) / (2* a );
12 } else if ( disc == 0.0)
13 x1 = x2 = - b / (2* a );
14 else {
15 x1 = - b / (2* a );
16 x2 = sqrt (- disc ) / (2* a );
17 flag = 1;
18 }
19
20 return flag ;
21 }
Envie seu comentárioAproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional . Ícones e elementos gráficos podem estar sujeitos a condições adicionais.