· 2022/2
60
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
5
Algoritmos e Programação de Computadores
UNICAMP
95
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
7
Algoritmos e Programação de Computadores
UNICAMP
Texto de pré-visualização
01/10/2022 17:09 Laboratorio 05 Jornada de Trabalho Nos ultimos anos cada vez mais companhias vém adotando 0 modelo de trabalho remoto. Essa tendéncia se intensificou a partir de 2020 com as adequacoes necessarias durante a pandemia. Nesse modelo os funcionarios podem trabalhar de suas casas sem a necessidade de estar presencialmente no escritorio da empresa onde trabalham. Embora o trabalho remoto apresente varias vantagens, ele traz também alguns desafios. Em particular, determinar o tempo que cada pessoa Se dedica ao trabalho se torna mais complicado. Para lidar com esse problema vocé foi escolhido(a) para desenvolver um programa que registre o tempo trabalhado por um funcionario e o valor que ele deve receber de acordo com esse tempo. Seu programa deverda processar os registros de tempo para uma semana. A entrada sera formada por um linha com um inteiro v , indicando o valor da hora de trabalho, seguida por uma linha com um inteiro D entre 0 e 7, indicando quantos dias na semana 0 funcionario trabalhou, seguida de varias linhas, indicando os periodos em que o funcionario estava trabalhando nos D dias. Os registros para cada dia comegam com uma linha contendo um inteiro indicando o numero de periodos de trabalho registrados no dia. Em seguida cada periodo de trabalho registrado nesse dia sera representado por duas linhas, cada uma contendo um inteiro, no seguinte formato: <hora do inicio do periodo> <hora do fim do periodo> Com base nos valores lidos, vocé deve determinar o tempo total trabalhado nessa semana e 0 valor que o funcionario deve receber por esse tempo. O seguinte método deve ser usado para calcular o valor: e Para cada dia conte o tempo trabalhado. e Seo funcionario trabalhou mais de 8h, esse tempo sera contado como hora extra. e Conte o tempo trabalhado durante a semana que nao foi registrado como hora extra. Se esse tempo ultrapassar 44 horas, considere o tempo excedente como hora extra. e Ovalor devido ao funcionario sera o numero de horas trabalhadas multiplicado por v. e Para as horas contadas como hora extra, acrescente 50% no valor da hora. https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 1/5 01/10/2022 17:09 Laboratório 05 https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 2/5 Por exemplo, considere que um funcionário trabalhou 55 horas em uma semana, sendo que 5 dessas horas ultrapassaram o limite de 8 horas diárias. Esse funcionário deve receber (V * 55) + (V/2 * 5) + (V/2 * 6) = (V * 55) + (V/2 * 11) . Já um funcionário que trabalhou 45 horas em uma semana, sendo que 5 horas ultrapassaram o limite de 8 horas diárias, irá receber (V * 45) + (V/2 * 5) . A saída do seu programa deve seguir o seguinte formato: Horas trabalhadas: X Horas extras: X Valor devido: R$ XX.XX Exemplos de entradas e saídas esperadas pelo seu programa: Teste 01 Entrada 20 3 1 14 18 1 10 17 1 11 18 Saída Horas trabalhadas: 18 Horas extras: 0 Valor devido: R$ 360.00 Teste 04 Entrada 30 4 1 10 01/10/2022 17:09 Laboratório 05 https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 3/5 18 1 14 23 1 15 19 1 11 15 Saída Horas trabalhadas: 25 Horas extras: 1 Valor devido: R$ 765.00 Teste 09 Entrada 26 7 2 6 10 13 21 2 13 18 20 23 3 8 12 13 16 19 21 2 9 12 15 20 2 7 11 13 01/10/2022 17:09 Laboratorio 05 18 2 12 16 19 23 1 13 19 Saida Horas trabalhadas: 60 Horas extras: 16 Valor devido: R$ 1768.00 Codigo Base No arquivo auxiliar lab05.py vocé ira encontrar um cddigo base para dar inicio ao processo de elaboragdo dessa tarefa. O codigo base ja apresenta a saida na formatagdo correta. print("Horas trabalhadas:", horas_trabalhadas) print("Horas extras:", horas extras) print("Valor devido: R$ {:0.2f}".format(valor)) Orientacgoes e Veja aqui a pagina de submissdo da tarefa. e O arquivo a ser submetido deve se chamar lab05.py. e No link "Arquivos auxiliares" ha um arquivo compactado (aux05.zip) que contém todos os arquivos de testes abertos (entradas e saidas esperadas). e Olaboratdrio é composto de 10 testes abertos e 10 testes fechados. e Olimite maximo sera de 20 submiss6es. e Acesse 0 sistema SuSy com seu RA (apenas numeros) e a senha que vocé utiliza para fazer acesso ao sistema da DAC. e Vocé deve seguir as instrugdes de submissdo descritas no enunciado. e Serdo considerados apenas os resultados da ultima submissdo. e Esta tarefa tem peso 2. e Oprazo final para submissdo é dia 09/10/2022 (domingo). https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 4/5
60
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
5
Algoritmos e Programação de Computadores
UNICAMP
95
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
7
Algoritmos e Programação de Computadores
UNICAMP
Texto de pré-visualização
01/10/2022 17:09 Laboratorio 05 Jornada de Trabalho Nos ultimos anos cada vez mais companhias vém adotando 0 modelo de trabalho remoto. Essa tendéncia se intensificou a partir de 2020 com as adequacoes necessarias durante a pandemia. Nesse modelo os funcionarios podem trabalhar de suas casas sem a necessidade de estar presencialmente no escritorio da empresa onde trabalham. Embora o trabalho remoto apresente varias vantagens, ele traz também alguns desafios. Em particular, determinar o tempo que cada pessoa Se dedica ao trabalho se torna mais complicado. Para lidar com esse problema vocé foi escolhido(a) para desenvolver um programa que registre o tempo trabalhado por um funcionario e o valor que ele deve receber de acordo com esse tempo. Seu programa deverda processar os registros de tempo para uma semana. A entrada sera formada por um linha com um inteiro v , indicando o valor da hora de trabalho, seguida por uma linha com um inteiro D entre 0 e 7, indicando quantos dias na semana 0 funcionario trabalhou, seguida de varias linhas, indicando os periodos em que o funcionario estava trabalhando nos D dias. Os registros para cada dia comegam com uma linha contendo um inteiro indicando o numero de periodos de trabalho registrados no dia. Em seguida cada periodo de trabalho registrado nesse dia sera representado por duas linhas, cada uma contendo um inteiro, no seguinte formato: <hora do inicio do periodo> <hora do fim do periodo> Com base nos valores lidos, vocé deve determinar o tempo total trabalhado nessa semana e 0 valor que o funcionario deve receber por esse tempo. O seguinte método deve ser usado para calcular o valor: e Para cada dia conte o tempo trabalhado. e Seo funcionario trabalhou mais de 8h, esse tempo sera contado como hora extra. e Conte o tempo trabalhado durante a semana que nao foi registrado como hora extra. Se esse tempo ultrapassar 44 horas, considere o tempo excedente como hora extra. e Ovalor devido ao funcionario sera o numero de horas trabalhadas multiplicado por v. e Para as horas contadas como hora extra, acrescente 50% no valor da hora. https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 1/5 01/10/2022 17:09 Laboratório 05 https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 2/5 Por exemplo, considere que um funcionário trabalhou 55 horas em uma semana, sendo que 5 dessas horas ultrapassaram o limite de 8 horas diárias. Esse funcionário deve receber (V * 55) + (V/2 * 5) + (V/2 * 6) = (V * 55) + (V/2 * 11) . Já um funcionário que trabalhou 45 horas em uma semana, sendo que 5 horas ultrapassaram o limite de 8 horas diárias, irá receber (V * 45) + (V/2 * 5) . A saída do seu programa deve seguir o seguinte formato: Horas trabalhadas: X Horas extras: X Valor devido: R$ XX.XX Exemplos de entradas e saídas esperadas pelo seu programa: Teste 01 Entrada 20 3 1 14 18 1 10 17 1 11 18 Saída Horas trabalhadas: 18 Horas extras: 0 Valor devido: R$ 360.00 Teste 04 Entrada 30 4 1 10 01/10/2022 17:09 Laboratório 05 https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 3/5 18 1 14 23 1 15 19 1 11 15 Saída Horas trabalhadas: 25 Horas extras: 1 Valor devido: R$ 765.00 Teste 09 Entrada 26 7 2 6 10 13 21 2 13 18 20 23 3 8 12 13 16 19 21 2 9 12 15 20 2 7 11 13 01/10/2022 17:09 Laboratorio 05 18 2 12 16 19 23 1 13 19 Saida Horas trabalhadas: 60 Horas extras: 16 Valor devido: R$ 1768.00 Codigo Base No arquivo auxiliar lab05.py vocé ira encontrar um cddigo base para dar inicio ao processo de elaboragdo dessa tarefa. O codigo base ja apresenta a saida na formatagdo correta. print("Horas trabalhadas:", horas_trabalhadas) print("Horas extras:", horas extras) print("Valor devido: R$ {:0.2f}".format(valor)) Orientacgoes e Veja aqui a pagina de submissdo da tarefa. e O arquivo a ser submetido deve se chamar lab05.py. e No link "Arquivos auxiliares" ha um arquivo compactado (aux05.zip) que contém todos os arquivos de testes abertos (entradas e saidas esperadas). e Olaboratdrio é composto de 10 testes abertos e 10 testes fechados. e Olimite maximo sera de 20 submiss6es. e Acesse 0 sistema SuSy com seu RA (apenas numeros) e a senha que vocé utiliza para fazer acesso ao sistema da DAC. e Vocé deve seguir as instrugdes de submissdo descritas no enunciado. e Serdo considerados apenas os resultados da ultima submissdo. e Esta tarefa tem peso 2. e Oprazo final para submissdo é dia 09/10/2022 (domingo). https://susy.ic.unicamp.br:9999/mc102/05/enunciado.html 4/5