28.02.2023 Views

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)

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

Saved successfully!

Ooh no, something went wrong!