MAC 324 Estruturas de Dados para Engenharia

Departamento de Ciência da Computação - USP

Terceira Lista de Exercícios

Prazo de Entrega: 22/maio/2000

Prof. Ronaldo Fumio Hashimoto


Questão 1 (2.5 pontos)   Faça uma função recursiva MaxMin que devolve o elemento máximo e o elemento mínimo de um vetor com n números inteiros.

Questão 2 (2.0 pontos)   Faça uma função recursiva de nome dígito que receba um número inteiro n e calcula a soma dos dígitos de n. Exemplo, se n=132, então dígito(n)=6.

Questão 3 (3.0 pontos)   Uma expressão de parênteses é bem formada se, e somente se,

Por exemplo, a expressão "(()(((()))()))()" é bem formada e a expressão "(()()" não é. Faça uma função recursiva que rebece um string contendo uma expressão de parênteses e verifica se ela é bem formada.

Questão 4 (2.5 pontos)   Simule a execução do programa abaixo:

int Fusc (int N) { 
  if (N == 1) return 1;

  if (N % 2 == 0)
    return Fusc (N/2);
  else 
    return Fusc ((N-1)/2) + Fusc((N+1)/2);  
}

int main () { 
  printf("%d\n", Fusc (7));
  return 0;
}   


Last modified: Fri May 12 11:51:46 BRT 2000