12.07.2015 Views

6ª. Lista de Exercícios – Modularização - UFMG

6ª. Lista de Exercícios – Modularização - UFMG

6ª. Lista de Exercícios – Modularização - UFMG

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

25) Crie uma função que realize a conversão da escala Kelvin (K - escala absoluta) para aescala Fahrenheit (F). Sabe-se que 273K equivale a 32ºF e a cada variação <strong>de</strong> 10unida<strong>de</strong>s na escala Kelvin equivale a 18 na escala Fahrenheit. A função <strong>de</strong>ve retornarzero caso não seja possível realizar a conversão e um em caso contrário. Crie tambémum algoritmo para testar tal função.• Funções recursivas26) Seja a série <strong>de</strong> Fibonacci:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...que po<strong>de</strong> ser <strong>de</strong>finida recursivamente por:⎧1se n = 1∨n = 2Fib ( n)= ⎨⎩Fib(n −1)+ Fib(n − 2) se n > 2Então escreva:- Uma função recursiva que gere o termo <strong>de</strong> or<strong>de</strong>m n da série <strong>de</strong> Fibonacci.- Um algoritmo que, utilizando a função <strong>de</strong>finida acima gere a série <strong>de</strong> Fibonacci até otermo <strong>de</strong> or<strong>de</strong>m 20.27) Po<strong>de</strong>-se calcular o quociente da divisão, DIV, <strong>de</strong> x por y, dois números inteiros,usando-se a seguinte <strong>de</strong>finição:⎧1+ DIV (| x | − | y |,| y |), se | x | > | y |⎪DIV ( x,y)= ⎨0se | x | < | y |⎪⎩1se | x | = | y |Então, pe<strong>de</strong>-se que seja criada uma função recursiva para <strong>de</strong>screver tal <strong>de</strong>finição. Afunção <strong>de</strong>ve retornar -1 caso não seja possível realizar o cálculo. Além disso, crie umalgoritmo que leia os dois valores inteiros e utilize a função criada para calcular oquociente <strong>de</strong> x por y, e imprima o valor computado.28) Po<strong>de</strong>-se calcular o resto da divisão, MOD, <strong>de</strong> x por y, dois números inteiros, usando-sea seguinte <strong>de</strong>finição:⎧MOD(|x | − | y |,| y |), se | x | > | y |⎪MOD ( x,y)= ⎨|x |se | x | < | y |⎪⎩0se | x | = | y |Então, pe<strong>de</strong>-se que seja criada uma função recursiva para <strong>de</strong>screver tal <strong>de</strong>finição. Afunção <strong>de</strong>ve retornar -1 caso não seja possível realizar o cálculo. Além disso, crie umalgoritmo que leia os dois valores inteiros e utilize a função criada para calcular oresto da divisão <strong>de</strong> x por y, e imprima o valor computado.29) O máximo divisor comum (MDC) <strong>de</strong> dois números inteiros x e y po<strong>de</strong> ser calculadousando-se uma <strong>de</strong>finição recursiva:MDC ( x,y)= MDC(x − y,y),se x > y .Além disso, sabe-se que:MDC(x,y)= MDC(y,x)MDC(x,x)= xExemplo:MDC ( 10,6) = MDC(4,6)= MDC(6,4)= MDC(2,4)= MDC(4,2)= MDC(2,2)= 2<strong>UFMG</strong> – ICEx – DCC – Programação <strong>de</strong> Computadores – 2º. Sem 2005 – David Menoti 4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!