OBJETIVOS
- Usar a instrução de seleção if
- Usar a instrução de seleção switch
- Construir funções que usam outras funções desenvolvidas
EXERCÍCIOS
1. (Q1 do Cap.4) O que escrevem na saída padrão os seguintes trechos de código?
a)
int i = 23;
if(i % 2 == 0)
cout << "A par e passo...";
else
cout << "Imparavel...";
b)
double x = 20.0/2;
if(0.0 < x and x < 10.0)
cout << "Dentro do intervalo";
cout << "Fora do intervalo";
2. (Q2 do Cap.4) Utilizando a seleção, escreva uma função que receba um real e que retorne o seu valor absoluto.
3. Utilizando a seleção, escreva uma função que receba dois reais e retorne o maior. Escreva outra função que receba três reais e que, utilizando a função anterior, retorne o maior dos três.
4. (Q10 do Cap.4) Quais as cláusulas entre parêntesis que são, e quais as que não são, avaliadas nas seguintes expressões lógicas? Considere, se necessário, que double x=10.0; e double y=5.0; .
a) (1 > 2) and (x < y)
b) (1 < 2) and (x < y)
c) 0 or (x == y)
d) (30.0 < x) or (f(x, y))
5. (Q16 do Cap.4) Imagine um mapa do tesouro contendo uma lista de instruções como, por exemplo, "4 passos para norte". Utilize os números 1, 2, 3 e 4 para codificar as direções norte, sul, este e oeste. Escreva uma instrução switch que permita atualizar uma posição (x, y) com o resultado dos passos efetuados.
6. (Q18 do Cap.4) O que está errado na seguinte instrução switch ?
double x = 1;
switch(x)
{
case 1:
cout << "x e' 1" << endl;
case 2:
cout << "x e' 2" << endl;
case 3:
cout << "x e' 3" << endl;
case 4:
cout << "x e' 4" << endl;
}
7. Construa, em C++, uma aplicação que peça ao utilizador um número inteiro positivo inferior a 100, e que escreva no ecrã o número introduzido por extenso. Resolva:
a) usando apenas instruções if
b) usando também instruções switch
8. (Q9 do Cap.4) Reescreva o procedimento obtemDoubleValido do diapositivo 187, tal que este deixe de ler a partir da entrada padrão, e passe a tentar ler o real a partir de uma ligação de entrada ( istream ) passada como argumento.
9. (P1 do Cap.4) Escreva uma função que receba dois números e que retorne true se estes distarem menos de 10 -8 entre si, e false caso contrário. Escolha um nome sugestivo para o nome da função. A função fabs poderá ser útil (consultar descrição da função no Apêndice B do livro).
10. (P2 do Cap.4) Escreva uma função que receba três reais e que retorne true se estes estiverem ordenados crescentemente (de acordo com a ordem na lista de parâmetros formais), e false caso contrário. Escolha um nome sugestivo para o nome da função.