Engenharia Elétrica em Formação
Universidade Federal de Ouro Preto – UFOP
Departamento de Ciências Exatas e Aplicadas
Campus João Monlevade
EXERCÍCIO DE REVISÃO: FUNÇÕES E RECURSIVIDADE
Professor: Alexandre Magno de Sousa
Turma: Engenharia Elétrica – 2º período
Disciplina: Algoritmos e Estrutura de Dados I
Data:
30/05/13
Aluno(a):
Data de entrega:
10/06/13
EXERCÍCIO 01
Crie um programa que realize as quatro operações básicas de uma calculadora, a saber, adição, subtração, divisão e multiplicação. Para isso, a partir das rotinas a seguir, crie as funções: double double double double
Adicao(double x, double y)
Subtracao(double x, double y)
Divisao(double x, double y)
Produto(double x, double y)
O programa deverá apresentar para o usuário o menu:
1.
2.
3.
4.
5.
Adição
Multiplicação
Divisão
Subtração
Sair
a) Crie uma função recursiva em linguagem C que calcula o fatorial de um determinado número passado como parâmetro e retorne o fatorial calculado. b) Construa uma árvore de recursão, conforme apresentado em aula no laboratório, para o cálculo de F(7).
c) É possível construir uma versão que não seja recursiva da função construída em (a)? Apresente essa versão. d) Construa uma versão não recursiva da função Fibonacci apresentada em laboratório. Quando o usuário selecionar uma das opções da calculadora, deverá ser realizada a leitura dos dois operandos e, de acordo com a opção desejada, realizar a chamada da função correspondente à sua operação matemática e apresentar o resultado dessa operação ao usuário. Em seguida, deverá retornar ao menu de opções.
EXERCÍCIO 03
Seja o somatório
Construa o programa utilizando um laço de repetição controlado por sentinela para manipular o menu apresentado ao usuário e utilize o comando switch para verificar qual opção foi escolhida pelo usuário.
EXERCÍCIO 04
A função Ackermann é definida para valores inteiros e não negativos m e n da seguinte
forma: