Informática, perguntado por afslucas, 10 meses atrás

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 mayck808
11

Resposta:

d

Explicação:

Respondido por flaviojau1
22

Resposta:

a resposta certa é a "A" acabei de fazer  

Explicação:

Perguntas interessantes