Primeira página
/
Tecnologia
/
it (v = vetor(m) return m; it (1)f) return -1 if (v > vetor(m)) 18 19 return funcao?(vetor , v, m+1, else 20 return funcao?(vetor, V,1.m-1); 21 , 22 int main()( 23 int vetor (TAN) =11, 13,15,17 24 printf("Ad - Id", funcaol (vetor, 15), funcao2(vetor, 15, 0, T AM-1)); 25 return 0; 26 1 A respelto das funçoes implementadas, avalie as afirmações a seguir. 1. Oresultado da impressão na linha 24é: 7-7. II. A função funcao1, no pior caso, é uma estratégia mais rápida do que a funcao2. III.A função funcao2 implementa uma estratégia iterativa na concepção do algoritmo. correto oque se afirma em: A D III, apenas B I,II ell II elll, apenas J 1. apenas

Pergunta

it (v = vetor(m)
return m;
it (1)f)
return -1
if (v > vetor(m))
18
19
return funcao?(vetor , v, m+1,
else
20
return funcao?(vetor, V,1.m-1);
21 ,
22 int main()(
23
int vetor (TAN) =11, 13,15,17
24 printf("Ad - Id", funcaol (vetor, 15), funcao2(vetor, 15, 0, T AM-1));
25	return 0;
26 1
A respelto das funçoes implementadas, avalie as afirmações a seguir.
1. Oresultado da impressão na linha 24é: 7-7.
II. A função funcao1, no pior caso, é uma estratégia mais rápida do que a funcao2.
III.A função funcao2 implementa uma estratégia iterativa na concepção do algoritmo.
correto oque se afirma em:
A D III, apenas
B I,II ell
II elll, apenas
J 1. apenas

it (v = vetor(m) return m; it (1)f) return -1 if (v > vetor(m)) 18 19 return funcao?(vetor , v, m+1, else 20 return funcao?(vetor, V,1.m-1); 21 , 22 int main()( 23 int vetor (TAN) =11, 13,15,17 24 printf("Ad - Id", funcaol (vetor, 15), funcao2(vetor, 15, 0, T AM-1)); 25 return 0; 26 1 A respelto das funçoes implementadas, avalie as afirmações a seguir. 1. Oresultado da impressão na linha 24é: 7-7. II. A função funcao1, no pior caso, é uma estratégia mais rápida do que a funcao2. III.A função funcao2 implementa uma estratégia iterativa na concepção do algoritmo. correto oque se afirma em: A D III, apenas B I,II ell II elll, apenas J 1. apenas

Solução

expert verifiedVerification of experts
4.6262 Voting
avatar
QueridaMestre · Tutor por 5 anos

Responder

Para avaliar as afirmações, vamos analisar o código fornecido:<br /><br />```c<br />#include <stdio.h><br /><br />int funcao1(int vetor[], int v, int m) {<br /> if (v == vetor[m]) {<br /> return v;<br /> } else {<br /> return funcao1(vetor, v, m + 1);<br /> }<br />}<br /><br />int funcao2(int vetor[], int v, int m, int n) {<br /> if (v == vetor[m]) {<br /> return v;<br /> } else {<br /> return funcao2(vetor, v, m - 1, n);<br /> }<br />}<br /><br />int main() {<br /> int vetor[4] = {11, 13, 15, 17};<br /> printf("Ad - Id: %d - %d\n", funcao1(vetor, 15, 0), funcao2(vetor, 15, 0, 3));<br /> return 0;<br />}<br />```<br /><br />Vamos analisar cada afirmação:<br /><br />1. **O resultado da impressão na linha 24 é: 7 - 7.**<br /> - Para verificar isso, precisamos calcular os valores de `funcao1(vetor, 15, 0)` e `funcao2(vetor, 15, 0, 3)`.<br /> - `funcao1(vetor, 15, 0)`:<br /> - `v` é 15, `vetor[0]` é 11.<br /> - `v` não é igual a `vetor[0]`, então chamamos `funcao1(vetor, 15, 1)`.<br /> - `v` é 15, `vetor[1]` é 13.<br /> - `v` não é igual a `vetor[1]`, então chamamos `funcao1(vetor, 15, 2)`.<br /> - `v` é 15, `vetor[2]` é 15.<br /> - `v` é igual a `vetor[2]`, então retornamos `v` (que é 15).<br /> - `funcao2(vetor, 15, 0, 3)`:<br /> - `v` é 15, `vetor[0]` é 11.<br /> - `v` não é igual a `vetor[0]`, então chamamos `funcao2(vetor, 15, 1, 3)`.<br /> - `v` é 15, `vetor[1]` é 13.<br /> - `v` não é igual a `vetor[1]`, então chamamos `funcao2(vetor, 15, 2, 3)`.<br /> - `v` é 15, `vetor[2]` é 15.<br /> - `v` é igual a `vetor[2]`, então retornamos `v` (que é 15).<br /> - Portanto, ambos os valores são 15, então a impressão será `15 - 15`, que não é `7 - 7`. Portanto, a primeira afirmação está incorreta.<br /><br />2. **A função funcao1, no pior caso, é uma estratégia mais rápida do que a funcao2.**<br /> - `funcao1` faz uma busca linear, chamando `funcao1(vetor, v, m + 1)` até encontrar o valor ou ultrapassar o final do vetor.<br /> - `funcao2` faz uma busca binária, chamando `funcao2(vetor, v, m - 1, n)` até encontrar o valor ou ultrapassar o final do vetor.<br /> - A busca binária é mais eficiente do que a busca linear, pois divide o problema em metade a cada iteração. Portanto, a segunda afirmação está correta.<br /><br />3. **A função funcao2 implementa uma estratégia iterativa na concepção do algoritmo.**<br /> - A função `funcao2` utiliza recursão para implementar a busca binária, o que é uma estratégia iterativa. Portanto, a terceira afirmação está correta.<br /><br />Portanto, a resposta correta é:<br /><br />C. II e III, apenas
Clique para avaliar: