Upload
wildemann
View
122
Download
1
Embed Size (px)
Citation preview
Data: 23/04/13 ( PLT Pág. 155)
EXERCÍCIOS (DHF, Layout, PGM)
41.
Gregoriana para Juliana: Dados dia, mês e ano de uma data gregoriana, escreva uma
função que converta essa data para data Juliana correspondente. Utilize a seguinte
fórmula:
Data Juliana = (1461* (ano + 4800 +(mês – 14) /12)) /4 + (3* ((ano + 4900 + (mês –
14) / 12) / 100)) /4 + Dia – 32075
42.
Dia da semana: Escreva uma função que receba dia, mês e ano e calcule o dia da
semana em que caiu essa data. Para isso, basta transformar a data gregoriana em
Juliana (utilize a função escrita no exercício anterior) e calcular o resto da divisão da
data Juliana por 7. A função deverá retornar um número entre 0 e 6, indicando os
seguintes resultados:
0- Segunda-feira
1- Terça-feira
2- Quarta-feira
3- Quinta-feira
4- Sexta-feira
5- Sábado
6- Domingo
43.
Juliana para gregoriana: Escreva uma função que converta uma data Juliana em data
Gregoriana. A função deverá encontrar o dia, mês e ano correspondente à data Juliana
que ela recebe como argumento e retornar um número 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)
Mês = J + 2 – (12 * B)
Ano = 100 * (N – 49) + K + B
47.
Escreva uma função recursiva chamada potencia( ) que aceite dois argumentos inteiros
positivos i e j. A função retorna i elevado a potência de j. Por exemplo: potência (2, 3) é
igual a 8. Use a seguinte definição:
i elevado à potência j é igual a i elevado à potência j – 1 vezes i.
48.
Escreva uma função recursiva de nome soma( ) que receba um número inteiro positivo
n como argumento e retorne a soma dos n primeiros números inteiros. Por exemplo, se
a função receber n = 5, deverá retornar 15, pois...
15 = 1 + 2 + 3 + 4 + 5