Logica_de_Programacao_3_Edicao_Livro
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Capítulo 6 Modularizando algoritmos 1 129
FIGURA 6.1
Cartão de ponto
Dia
Manhã
Tarde
Entrada Saida Entrada Saida
1
2
•
•
31
Ao final deverá ser impresso o total de atrasos e de horas trabalhadas no n1ês acompanhados
das respectivas 1nédias por dia.
Define-se con10 horas trabalhadas a soma das diferenças entre entrada e saída, dos períodos
da manhã e da tarde, e atraso, corno a sorna dos tempos decorridos após as 8 horas (no
período da manhã) e após as 14 (no período da tarde).
ALGORITMO 6.1
Cálculo dos atrasos e horas trabalhadas - versão l
1. inicio
2. tipo dia= registro
3. inteiro: em, sm, et, st;
4. fimregistro;
5. tipo totDia = registro
6. inteiro: atraso, horas;
7. fimregistro ;
8. tipo Vl = vetor (1 .. 31] de dia;
9. tipo V2 = vetor (1 .. 31] de totDia;
10. Vl: cartão;
11. V2: totalDia;
12. inteiro: dia, a, b, e, d, cont, i, me, ms, tm, tt, atrm, atrt,
toth, totatr;
13. cont f- O;
14. leia (dia);
15 . enquanto (dia> O) e dia (dia< 32) faça
16. leia (a, b, e, d) ;
17. cartão[dia].em f- a;
18. cartão[dia].sm f- b;
19. cartão[dia] .et f- c;
20. cartão(dia].st f- d;
21. cont f- cont + l;
22. leia (dia);
23. fimenquanto;
24. se cont > O
25 . então i ni cio (Cm1,ti1111a)