Buscar

Prévia do material em texto

Questão 1
Respondida
Conforme Mizrahi (2008) o escopo de uma variável é definido pelas regiões (blocos) onde a variável pode ser utilizada e é nesta hora que surge o conceitos das variáveis globais e variáveis locais. Variáveis globais são aquelas declaradas no início de um algoritmo. São visíveis, ou seja, podem ser utilizadas no algoritmo principal e por todos as funções. As variáveis locais são aquelas declaradas no início de uma função. São visíveis, ou seja, podem ser utilizadas somente pela função onde foram declaradas.   Observe o programa a seguir:  
	#include <stdio.h>int fat (int n){   int res = 1;   while (n > 1) {   res = res * n;      n--;   }   return res;}int main ( ){  int n, res;   printf("Entre com o valor de n: ");   scanf("%d", &n);   res = fat(n+1) / (n+1);   printf("Fatorial de %d = %d\n", n, res );   return 0;}
  Considerando o programa apresentado, avalie as afirmativas a seguir:   I.   O programa apresentado está errado pois a variável res foi declarada duas vezes, causando um erro de compilação. II.  A função fat está escrita antes da função main ( ) porém, o programa começa sempre pela função main ( ) independentemente da quantidade de funções que possam ter antes do main ( ). III.  Para a função fat, o parâmetro n funciona como uma variável local (ou seja, válida dentro da função apenas), juntamente com a variável res. IV.  A função fat possui a variável n e a variável n recebe seu valor no instante da chamada da função dentro da função main ( ).
É correto o que se afirma em:
	Apenas as afirmativas II, III e IV estão corretas.
	Apenas as afirmativas I, III e IV estão corretas.
	Apenas as afirmativas I, II e III estão corretas.
	Apenas as afirmativas I, II e IV estão corretas.
	As afirmativas I, II, III e IV estão corretas.
Sua resposta
Apenas as afirmativas II, III e IV estão corretas.
A frase corretamente preenchida é: Apenas as afirmativas II, III e IV estão corretas. A função main e fat possuem ambas variáveis com o nome res, e que main possui uma variável chamada n, que é o nome do parâmetro da função fat. Apesar do mesmo nome, elas são variáveis diferentes. Para a função fat, o parâmetro n funciona como uma variável local (ou seja, válida dentro da função apenas), juntamente com a variável res. A diferença é que o parâmetro n recebe seu valor no instante da chamada. O programa sempre inicia sua execução pela função main.
****************************************************************************
Questão 2
Respondida
Podemos remover um elemento da lista ligada, porém é necessário ter certos cuidados. De acordo com Celes (2004), a função para remover um elemento é mais trabalhosa e complexa, e precisa de informações como parâmetros para remoção, o valor do elemento e a lista.   Tendo como referência a remoção de elementos de lista, avalie as seguintes asserções e a relação proposta entre elas:   I. Caso o primeiro elemento da lista seja o elemento a ser retirado, devemos atualizar o valor da lista com o ponteiro para o segundo elemento e assim, liberar o espaço alocado do elemento retirado.   PORQUE   II. Se o elemento a ser retirado da lista pela função estiver no meio da lista, o elemento anterior deve apontar para o elemento seguinte do qual será removido e, após isso, liberarmos a alocação do elemento removido.
Agora assinale a alternativa correta.
	As afirmativas I e II são falsas.
	A afirmativa I é verdadeira e afirmativa II é falsa.
	A afirmativa I é falsa e afirmativa II é verdadeira.
	As afirmativas I e II são verdadeiras e a II é uma justificativa da I.
	As afirmativas I e II são verdadeiras, mas a II não é uma justificativa da I.
Sua resposta
As afirmativas I e II são verdadeiras e a II é uma justificativa da I.
 Resolução:   As duas afirmativas são verdadeiras e a segunda complementa a primeira.   O primeiro elemento da lista seja o elemento a ser retirado, deve atualizar o valor da lista com o ponteiro para o segundo elemento e assim, liberar o espaço alocado do elemento retirado. Se o elemento a ser retirado da lista pela função estiver no meio da lista, o elemento anterior deve apontar para o elemento seguinte do qual será removido, e após isso, liberarmos a alocação do elemento removido.

Mais conteúdos dessa disciplina