sexta-feira, 17 de setembro de 2010

Exercício cap.3.11


11. Escreva um algoritmo que leia um dia, mês e ano e escreva, para essa data lida, o número de dias transcorridos no ano.

Resposta:

1.  algoritmo "dias corridos"
2.  var
3.    dia,mes,ano,dc,dc2:inteiro
4.  inicio
5.    escreval("Número de dias corridos no ano.")
6.    escreva("Digite o dia = ")
7.    leia(dia)
8.    escreva("Digite o mês = ")
9.    leia(mes)
10.   escreva("Digite o ano = ")
11.   leia(ano)

12.   se mes > 12 entao
13.    escreva("O valor do mês não corresponde, tente um valor de 1 a 12.")
14.    fimalgoritmo
15.   senao
16.    se dia > 31 entao
17.      escreva("O valor do dia não corresponde, tente um valor de 1 a 31.")
18.      fimalgoritmo
19.    senao
20.    fimse
21.   se ((ano mod 4)=0) e ((ano mod 100)<>0) entao
22.      ano <- 366
23.   senao
24.      ano <- 365
25.   fimse
26.     se (mes = 12) entao
27.       dc <- (ano-31)
28.       dc <- (dc+dia)
29.     senao
30.       ano <- ano-31
31.     fimse
32.       se (mes = 11) entao
33.         dc <-(ano-30)
34.         dc <- (dc+dia)
35.       senao
36.         ano <- (ano-30)
37.       fimse
38.         se (mes = 10) entao
39.           dc <- (ano-31)
40.           dc <- (dc+dia)
41.         senao
42.          ano <- (ano-31)
43.         fimse
44.          se (mes = 9) entao
45.            dc <- (ano-30)
46.            dc <- (dc+dia)
46.          senao
47.             ano <- (ano-30)
48.          fimse
49.             se (mes = 8) entao
50.               dc <- (ano-31)
51.               dc <- (dc+dia)
52.             senao
53.               ano <- (ano-31)
54.             fimse
55.               se (mes = 7) entao
56.                 dc <- (ano-30)
57.                 dc <- (dc+dia)
58.               senao
59.                 ano <- (ano-30)
60.               fimse
61.                 se (mes = 6) entao
62.                  dc <- (ano-31)
63.                  dc <- (dc+dia)
64.                 senao
65.                   ano <- (ano-31)
66.                 fimse
67.                   se (mes = 5) entao
68.                     dc <- (ano-30)
69.                     dc <- (dc+dia)
70.                   senao
71.                     ano <- (ano-30)
72.                   fimse
73.                     se (mes = 4) entao
74.                       dc <- (ano-31)
75.                       dc <- (dc+dia)
76.                     senao
77.                       ano <- (ano-31)
78.                     fimse
79.                       se (mes = 3) entao
80.                         dc <- (ano-30)
81.                         dc <- (dc+dia)
82.                       senao
83.                        ano <- (ano-30)
84.                       fimse
85.                         se mes = 2 entao
86.                         se (mes=2) e (dia>29) entao
87.                          escreva("O valor do dia não corresponde, tente um valor de 1 a 29.")
88.                          fimalgoritmo
89.                         senao
90.                           se((ano mod 4)=0)e((ano mod 100)<>0) entao
91.                             dc <- (ano-29)
92.                             dc <- (dc+dia)
93.                           senao
94.                             dc <- (ano-28)
95.                             dc <- (dc+dia)
96.                            fimse
97.                         fimse
98.                           se mes = 1 entao
99.                             dc <- dia
100.                          fimse

101.                          fimse
102.                          fimse
103. escreval("Dias corridos é igual a ",dc,".")
104. escreval("*** F I M ***")
105. fimalgoritmo

Nenhum comentário:

Postar um comentário