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.
Grupo de escolhas da pergunta
(A) - 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.
(B) - 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.
(C) - O programador deverá alterar o programa por um único comando if, compondo as 4 relações com os operadores lógicos && e ||.
(D) - 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.
(E) - 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.
Soluções para a tarefa
Respondido por
11
Resposta:
d
Explicação:
Respondido por
22
Resposta:
a resposta certa é a "A" acabei de fazer
Explicação:
Perguntas interessantes
Ed. Física,
7 meses atrás
Química,
7 meses atrás
História,
10 meses atrás
Ed. Física,
1 ano atrás
Matemática,
1 ano atrás