Questão
ID 663586Disciplina: Tecnologia da Informação
Assunto: C e C++
Ano: 2001 Banca: CESPE CEBRASPE - Centro de Seleção e de Promoção de Eventos UnB Órgão: Empresa de Processamento de Dados da Previdência Social
- #define C(a,b)(a > b)? a : b
- namespace Domain_1{
- __________typedef double (*Fpt) (double,double);
- __________double f0(double d1, double d2){return C(d1,d2);}
- __________double f1(double d1, double d2){return d1 + d2;}
- __________double f2(double d1, double d2){return d1 - d2;}
- __________double f3(double d1, double d2){return d1 * d2;}
- __________double f4(double d1, double d2){return d1 / d2;}
- __________enum Def{A, B, C, D, E};
- __________Fpt function = &f0;
- __________double Fct_1(int i, double d1, double d2)
- __________{
- ________________double Result = 0.0;
- ________________switch(i)
- ________________{
- __________________case 3:
- ______________________function = f4;
- ______________________Result = (*function)(d1,d2);
- ______________________return Result;
- __________________case 2:
- ______________________function = &f3;
- ______________________Result = (*function)(d1,d2);
- ______________________return Result;
- __________________case 1:
- ______________________function = f2;
- ______________________Result = function(d1,d2);
- ______________________return Result;
- __________________case 0:
- __________________default:
- ______________________function = &f1;
- ______________________Result = function(d1,d2);
- ______________________return Result;
- __________}}
- }
- namespace Domain_2{
- _____double Fct_1(int i, double d1, double d2) {return i * d1 * d2;}
- }
- void f_main ()
- {
- __________using namespace Domain_1;
- __________double d_1 = Fct_1(0,10,20) +
- _____________________Fct_1(1,10,20) +
- _____________________Fct_1(2,10,20) +
- _____________________Fct_1(3,10,20) +
- _____________________Fct_1(4,10,20) ;
- __________Def d_2 = A; double d_1 = Fct_1(d_2,10,20) ;
- __________using namespace Domain_2;
- __________double d_3 = Fct_1(10,10,10) ;
- }
O trecho de código ao lado foi desenvolvido utilizando-se a linguagem C++, padrão ANSI/ISO C++. Nesse código, são apresentadas diversas ferramentas úteis no desenvolvimento de algoritmos. Com base nesse trecho de código e no padrão ANSI/ISO C++, julgue os itens a seguir.
A função "Fct_1", definida entre as linhas 16 e 39, exige, como primeiro argumento, um inteiro. Apesar dessa exigência, não haverá erro, em fase de compilação, na linha 56 do trecho de código ao lado, ao ser enviada a enumeração "d_2" de tipo "Def" (l.12) na chamada dessa função.