Questão de Algoritmos
Leia o texto a seguir: Um programador experiente recebe o seguinte desafio de seu coordenador: realizar a manutenção em um programa desenvolvido na linguagem de programação C. Em um determinado trecho do programa, existe uma função com um conjunto de if-else-if aninhados, o qual verifica se o conteúdo de uma determinada variável numérica é igual a um determinado valor. Esse ponto específico do código está muito confuso. O programador verificou também que, para a mesma variável, foi colocada uma sequência de if, conforme demonstrado no trecho de código abaixo:
....
1 if (a == 5) {
2 x = x * 1.1;
3 }
4 if (a == 10.0) {
5 x = x * 1.2;
6 }
7 if (a == 20.0) {
8 x = x * 1.3;
9 }
10 if (a == 30.0) {
11 x = x * 1.4;
12 }
13 x = x + k;
O que motiva a manutenção nesse ponto do código é a estrutura de if analisada, que é um ponto onde a performance do programa é prejudicada, pois a mesma variável é testada 4 vezes, mesmo que o resultado do primeiro if já tenha sido verdadeiro. Considerando as informações apresentadas, assinale a opção correta.A
O programador deverá alterar o programa somente por outra estrutura if-else-if, pois a linguagem C não disponibiliza outro recurso para esse fim.
B
Para resolver o problema de 4 testes obrigatórios, deve-se colocar o comando goto onde deverá estar localizado ao final do último teste if.
C
Para resolver o problema de 4 testes obrigatórios, deve-se colocar o comando return no bloco de comando verdadeiro de cada if, com isso, o programa atenderá à condição e não fará a verificação do próximo if.
D
O programador deverá alterar o programa por um único comando if, compondo as 4 relações com os operadores lógicos && e ||.
E
O programador pode alterar toda a sequência de if por uma estrutura SWITCH. Nesse sentido, as anomalias de performance e clareza de código seriam resolvidas com o comando SWITCH.
Ainda não há comentários para esta questão.
Seja o primeiro a comentar!
Aulas em vídeo Em breve
00:00