Você está na página 1de 4

APÊNDICE

UNIDADE 4

Algoritmos e
lógica de
programação
1 U4 - Aplicações de Programação
Apêndice
Gabaritos comentados com resposta-padrão

UNIDADE 4: Aplicações de Programação

Gabarito 1. Faça valer a pena - Seção 4.1


1. Alternativa B.
Resposta Comentada:
A alternativa correta é “Somente a alternativa II está correta.”
A alternativa I está totalmente contrária quanto à classificação de
um vetor, pois tal estrutura precisa ter seu tamanho definido no
momento da criação e não pode ser alterada em execução.
A alternativa III também está incorreta, pois somente os vetores
heterogêneos podem armazenar valores de diferentes tipos.

2. Alternativa C.
Alternativa correta “0”.
A função strcmp(var1,var2) tem como resultado um número inteiro
que depende das seguintes condições:
Retornará 0 se o conteúdo das strings for igual.
Retornará número negativo se o conteúdo da var1 é menor do que var2.
Retornará número positivo se o conteúdo da var1 é maior do que var2.
Portanto, como ambas as variáveis possuem o mesmo valor “enge-
nharia” o resultado da função será 0.

3. Alternativa D.
A alternativa correta é “Resultado = 4”. Para resolver o aluno deve
simular a resolução testando o valor das variáveis. Na tabela está o
valor que cada variável assumirá durante a execução:

Valores variável i: 0 1 2 3 4

Variável resultado: 2 3 4 5 6

2 U4 - Aplicações de Programação
Gabarito 2. Faça valer a pena - Seção 4.2
1. Alternativa D.
A resposta correta é “A asserção I é uma proposição falsa, e a II é
uma proposição verdadeira.”
A primeira afirmação está incorreta, pois matriz é uma estrutura de
dados estática, em vez de dinâmica. Toda estrutura de dados que
tem seu tamanho informado no momento da declaração não pode
ser redimensionada em tempo de execução.
A segunda afirmação está correta, uma matriz precisa de dois
índices sendo um para linhas e outro para colunas.

2. Alternativa E.
A resposta correta é “Resultado 4”. Para resolver o aluno deve
simular a resolução testando o valor das variáveis. É importante que
ele perceba que o valor que está sendo atribuído a cada posição na
matriz é a soma dos índices, portanto o valor de cada célula será:

0+0 0+1

1+0 1+1

A variável resultado acumula o valor de cada célula, logo o


resultado será 4.

3. Alternativa E.
A resposta correta é “Resultado = 115”. Para resolver o aluno
deve simular resolução testando o valor das variáveis. A variável
“resultado” somente soma o valor caso a condição (i == 2 – j), ou
seja, somente soma se o elemento pertencer a diagonal secundária.
Veja na tabela a condicional sendo testada para cada caso:

(0 == 2 – 0) Falso (0 == 2 – 1) Falso (0 == 2 – 2) Verdadeiro

(1 == 2 – 0) Falso (1 == 2 – 1) Verdadeiro (1 == 2 – 2) Falso

(2 == 2 – 0) Verdadeiro (2 == 2 – 1) Falso (2 == 2 – 2) Falso

3 U4 - Aplicações de Programação
Gabarito 3. Faça valer a pena - Seção 4.3
1. Alternativa D.
esposta correta é “A asserção I é uma proposição falsa, e a II é uma
proposição verdadeira.” A primeira afirmação está incorreta, não
podemos afirmar que uma função recursiva sempre poderá substituir
uma estrutura de repetição, pois caso a função tenha muitas chamadas
poderá haver um estouro de memória. Para substituir uma estrutura
de repetição por uma função recursiva temos que levar em conta o
custo computacional.
Já a segunda afirmação está correta, toda função recursiva é composta
pelo caso base e pelas chamadas recursivas funcionando como um
laço de repetição.

2. Alternativa E.
A resposta correta é “Resultado = 95”. Na linha 17 a função é invocada
pela primeira vez passando como parâmetro o tamanho do vetor (5)
e o vetor com seus valores. Como n é maior ou igual a 1, a função é
invocada novamente na linha 4, mas agora passando como tamanho 4
e o mesmo vetor, esse laço continua até que todos os elementos
do vetor tenham sido comparados com o valor 100, para os casos
em que o conteúdo da posição do vetor é diferente de 100 o valor é
acumulado na variável “resultado”.

3. Alternativa D.
A resposta correta é “Resultado = 100”. Na linha 19 a função é
invocada pela primeira vez passando como parâmetro o tamanho
do vetor (5) e o vetor com seus valores. Como n é diferente de 1,
a função é invocada novamente na linha 7, mas agora passando
como tamanho 4 e o mesmo vetor, esse laço continua até que o
tamanho seja 1, caso base que interromperá o laço retornando o
maior valor armazenado no vetor.

4 U4 - Aplicações de Programação

Você também pode gostar