Você está na página 1de 2

Data: 23/04/13 ( PLT Pg.

155) EXERCCIOS (DHF, Layout, PGM)

41. Gregoriana para Juliana: Dados dia, ms e ano de uma data gregoriana, escreva uma funo que converta essa data para data Juliana correspondente. Utilize a seguinte frmula: Data Juliana = (1461* (ano + 4800 +(ms 14) /12)) /4 + (3* ((ano + 4900 + (ms 14) / 12) / 100)) /4 + Dia 32075

42. Dia da semana: Escreva uma funo que receba dia, ms e ano e calcule o dia da semana em que caiu essa data. Para isso, basta transformar a data gregoriana em Juliana (utilize a funo escrita no exerccio anterior) e calcular o resto da diviso da data Juliana por 7. A funo dever retornar um nmero entre 0 e 6, indicando os seguintes resultados: 0123456Segunda-feira Tera-feira Quarta-feira Quinta-feira Sexta-feira Sbado Domingo

43. Juliana para gregoriana: Escreva uma funo que converta uma data Juliana em data Gregoriana. A funo dever encontrar o dia, ms e ano correspondente data Juliana que ela recebe como argumento e retornar um nmero do tipo long no formato aaaammdd. O algoritmo o seguinte:

B = DataJuliana + 68569 N = (4 * B) / 146097 B = B - ((146097 * N + 3) / 4)

K = 4000 * (B + 1)) / 1461001 B = B (1461 * K) / 4 + 31 J = (80 * B) / 2447 Dia = B (2447 * J) / 80 B = (J / 11) Ms = J + 2 (12 * B) Ano = 100 * (N 49) + K + B

47. Escreva uma funo recursiva chamada potencia( ) que aceite dois argumentos inteiros positivos i e j. A funo retorna i elevado a potncia de j. Por exemplo: potncia (2, 3) igual a 8. Use a seguinte definio:

i elevado potncia j igual a i elevado potncia j 1 vezes i.

48. Escreva uma funo recursiva de nome soma( ) que receba um nmero inteiro positivo n como argumento e retorne a soma dos n primeiros nmeros inteiros. Por exemplo, se a funo receber n = 5, dever retornar 15, pois... 15 = 1 + 2 + 3 + 4 + 5

Você também pode gostar