Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 1/33 Iniciado em sábado, 14 ago 2021, 18:16 Estado Finalizada Concluída em segunda, 23 ago 2021, 22:02 Tempo empregado 9 dias 3 horas Avaliar 10,00 de um máximo de 10,00(100%) ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 2/33 Questão 1 Correto Atingiu 1,00 de 1,00 Pares e Ímpares Faça um programa que imprima na tela se um número lido do teclado é par ou ímpar. Se for par imprima também o próximo número par, caso contrário, imprima o próximo ímpar. Entrada: Apenas um inteiro. Saída: A saída conterá duas linhas, uma informando se o número é par ou ímpar e outra mostrando o próximo par ou ímpar, conforme exemplo abaixo. Dica: Uma maneira de veri�car se um número é par ou ímpar é analisando o resto da divisão inteira do número por 2. Existe um operador em Python que calcula o resto de uma divisão inteira. Exemplo: A % B. For example: Input Result 2 2 é par 4 3 3 é ímpar 5 -4 -4 é par -2 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) n1 = int(input()) if(n1%2 == 0): #se o resto de uma divisão por 2 for 0, o resultado é par print(n1, "é par") l # ã 1 2 ▼ 3 4 5 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 3/33 else: #se não print(n1, "é ímpar") print(n1+2) Input Expected Got 2 2 é par 4 2 é par 4 3 3 é ímpar 5 3 é ímpar 5 -4 -4 é par -2 -4 é par -2 1 1 é ímpar 3 1 é ímpar 3 0 0 é par 2 0 é par 2 -5 -5 é ímpar -3 -5 é ímpar -3 7 7 é ímpar 9 7 é ímpar 9 9 9 é ímpar 11 9 é ímpar 11 -85 -85 é ímpar -83 -85 é ímpar -83 -50 -50 é par -48 -50 é par -48 5 ▼ 6 7 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 4/33 Input Expected Got 20 20 é par 22 20 é par 22 -1 -1 é ímpar 1 -1 é ímpar 1 -2 -2 é par 0 -2 é par 0 Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 5/33 Questão 2 Correto Atingiu 1,00 de 1,00 Loja de roupas: valor �nal da compra Uma loja de roupas aplica uma regra para determinar o valor de uma compra, de acordo com o número de parcelas escolhido pelo seu cliente, conforme as seguintes regras: Número de parcelas Valor �nal da compra 1 Desconto de 5% sobre o valor da compra 2 O próprio valor da compra 3 O valor da compra acrescido de 5% 4 O valor da compra acrescido de 10% Implemente um programa que leia o valor incial da compra e o número de parcelas e, em seguida, calcule e imprima o valor �nal da compra e o valor de cada parcela. Entrada: Dois valores a respeito de uma compra. O primeiro valor, que é um número real, indica o valor da compra, e o segundo valor, que é um número inteiro, indica a quantidade de parcelas. Considere que as entradas sempre serão válidas, ou seja, não é necessário fazer validação das entradas. Todos os valores de entrada devem ser informados em uma única linha e separados por espaço. Saída: A primeira saída é o valor �nal da compra e a segunda é o valor de cada prestação. Observe que as saídas são números reais e devem estar formatadas para duas casas decimais, conforme os exemplos a seguir. Os valores são apresentados na mesma linha e separados por espaço. For example: Input Result 150 4 165.00 41.25 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 6/33 Input Result 200 3 210.00 70.00 45.60 1 43.32 43.32 70.25 2 70.25 35.12 50.01 1 47.51 47.51 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) valor, parcela = input().split() valor = float(valor) parcela = float(parcela) if parcela == 1: x1 = float(valor * 0.95) print(f'{x1:.2f} {x1:.2f}') elif(parcela == 2): x1 = float(valor) c = float(valor / parcela) print(f'{x1:.2f} {c:.2f}') elif (parcela == 3): x1 = float(valor * 1 05) Input Expected Got 150 4 165.00 41.25 165.00 41.25 200 3 210.00 70.00 210.00 70.00 45.60 1 43.32 43.32 43.32 43.32 70.25 2 70.25 35.12 70.25 35.12 1 2 3 4 5 ▼ 6 7 8 9 ▼ 10 11 12 13 14 ▼ 15 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 7/33 Input Expected Got 50.01 1 47.51 47.51 47.51 47.51 1568.36 2 1568.36 784.18 1568.36 784.18 550 3 577.50 192.50 577.50 192.50 36.45 4 40.10 10.02 40.10 10.02 164 1 155.80 155.80 155.80 155.80 Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 8/33 Questão 3 Correto Atingiu 1,00 de 1,00 Empresa: reajuste salarial Uma empresa aplicará um reajuste salarial a todos os seus funcionários baseado no cargo ocupado e no tempo de serviço, conforme as especi�cações a seguir: Cargo Tempo de serviço Até 3 anos (inclusive) 3 a 6 anos Acima de 6 anos (exclusive) Gerente 12% 13% 15% Engenheiro 7% 11% 14% Outros 5% 5% 5% Faça um programa que receba como entrada o cargo, o tempo de serviço e o salário atual de um funcionário, em seguida, calcula e imprime o reajuste concedido e o salário reajustado. O salário atual não pode ser inferior ao salário mínimo, ou seja, R$ 1039,00, caso isso ocorra, a mensagem “Salário inválido!” deve ser impressa na tela e o programa deve ser encerrado. Entrada: O primeiro valor é uma string e indica o cargo do funcionário. O segundo valor, que é um número inteiro, indica o tempo de serviço do funcionário. O terceiro valor, que é um número real, representa o salário atual do funcionário. Considere que o tempo de serviço sempre será um número válido, não é necessário validar. Os valores devem ser lidos um por linha. Saída: Dois valores reais, apresentados um por linha. O primeiro valor é o reajuste que será concedido e o segundo é o salário já reajustado. Observe que os valores de reajuste e salário reajustado são impressos com duas casas decimais de precisão. For example: Input Result ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 9/33 Input Result Engenheiro 3 8000 560.00 8560.00 Gerente 6 7500 975.00 8475.00 Auxiliar de escritório 7 1700 85.00 1785.00 Analista de TI 4 2089 104.45 2193.45 Segurança 3 998 Salário inválido! Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) x = str(input()) t = int(input()) salario = float(input()) if salario<1039: print("Salário inválido!") else: if (x == 'Engenheiro'): if t <=3: reajuste = salario*0.07 novo = salario+reajuste print(f'{reajuste:.2f}') print(f'{novo:.2f}') elif 3<t<=6: reajuste = salario*0.11 novo = salario+reajuste 1 2 3 4 ▼ 5 6 ▼ 7 ▼ 8 ▼ 9 10 11 12 13 ▼ 14 15 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 10/33 Input Expected GotInput Expected Got Engenheiro 3 8000 560.00 8560.00 560.00 8560.00 Gerente 6 7500 975.00 8475.00 975.00 8475.00 Auxiliar de escritório7 1700 85.00 1785.00 85.00 1785.00 Analista de TI 4 2089 104.45 2193.45 104.45 2193.45 Segurança 3 998 Salário inválido! Salário inválido! Engenheiro 10 8350 1169.00 9519.00 1169.00 9519.00 Auxiliar de limpeza 6 1050 52.50 1102.50 52.50 1102.50 Gerente 8 7650 1147.50 8797.50 1147.50 8797.50 Engenheiro 4 8200 902.009102.00 902.00 9102.00 Gerente 1 7050 846.00 7896.00 846.00 7896.00 Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 11/33 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 12/33 Questão 4 Correto Atingiu 1,00 de 1,00 Ghost e a Escada No caminho para encontrar Jon Snow em Dragonstone, o lobo Ghost enfrenta um problema: uma grande escada. Os degraus da escada são numeradas de 1 até in�nito. Sendo um lobo esperto, Ghost decidiu calcular dois valores, o número de degraus percorridos com números pares e ímpares. Você precisa checar se o número de passos em degraus pares e ímpares encontrados pelo Ghost estão corretos. Considere que ele não pula nenhum degrau e que ele sobe pelo menos o degrau de número 1. Entrada: Em uma única linha são dados dois inteiros a, b (0 a,b 100), o número de passos pares e ímpares, respectivamente. Saída: Em uma única linha, imprima "a b ok", se Ghost calculou corretamente os valores e "a b errados" caso contrário. Comentários: Ao começar a contagem de passos com um número ímpar (degrau de número 1) e percorrer os degraus de maneira consecutiva, o número de passos ímpares contados ou é igual ao número de passos pares ou é maior e difere deste por no máximo 1. Lembre-se que para ler vários valores em uma mesma linha, use input().split(). Se o argumento de split for vazio, o separador das variáveis é um espaço em branco. Porém, input lê apenas strings do teclado, portanto você deverá converter as strings em inteiros. No exemplo a seguir, o usuário digita valores separados por um espaço em branco e aperta enter para enviá-los, então, o programa lê esses valores separados por espaços como strings (na ordem em que aparecem), guardados nas variáveis correspondentes e os converte para inteiros: A, B = input().split() A, B = [int(A), int(B)] For example: Input Result 2 3 2 3 ok 3 1 3 1 errados 5 5 5 5 ok ≤ ≤ ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 13/33 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) x,y = input().split() x, y = [int (x), int(y)] if (x >= 0 and y <= 100): if (x > y): print(f'{x}' , f'{ y} errados') elif (y>=0 and (y-x)>1): print(f'{x}', f'{y} errados') elif(y == 0 and x== 0): print(f'{x}' , f'{ y} errados') elif (y >= x and (y - x) <= 1): print(f'{x}', f'{y} ok') else: print(f'{x}' , f'{ y} errados') Input Expected Got 2 3 2 3 ok 2 3 ok 3 1 3 1 errados 3 1 errados 5 5 5 5 ok 5 5 ok 5 4 5 4 errados 5 4 errados 5 4 5 4 errados 5 4 errados 9 9 9 9 ok 9 9 ok 0 0 0 0 errados 0 0 errados 0 1 0 1 ok 0 1 ok 1 2 3 4 ▼ 5 ▼ 6 7 ▼ 8 9 ▼ 10 11 ▼ 12 13 ▼ 14 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 14/33 Input Expected Got 1 0 1 0 errados 1 0 errados 89 25 89 25 errados 89 25 errados 4 5 4 5 ok 4 5 ok 10 12 10 12 errados 10 12 errados 10 11 10 11 ok 10 11 ok 11 10 11 10 errados 11 10 errados Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 15/33 Questão 5 Correto Atingiu 1,00 de 1,00 A Mais Longa Subsequência Incomum Uma subsequência de uma string é uma sequência de caracteres que aparece na mesma ordem da string. As ocorrências não precisam ser consecutivas, por exemplo, "ac", "bc", "abc" e "a" são subsequências da string "abc", enquanto as strings "abbc" e "acb" não são. A string vazia é subsequência de qualquer string. Qualquer string é subsequência dela mesmo. A maior subsequência incomum entre duas strings é a maior string que é subsequência de uma das duas e não é subsequência da outra. Dada duas strings x e y, encontre o tamanho da maior subsequência incomum. Entrada: A primeira linha contém a string x e a segunda linha contém a string y. As duas strings não são vazias e são compostas apenas por letras minúsculas. Saída: Se não houver nenhuma subsequência incomum, imprima "-1". Caso contrário imprima o tamanho da maior subsequência incomum de a e b. Comentários: A maior subsequência de uma string é ela mesma. No primeiro exemplo abaixo "abcd" e "defgh" são as maiores subsequências das strings de entrada, "abcd" e "defgh", respectivamente. Essas duas maiores subsequências são incomuns, ou seja, diferentes? Nesse caso, imprima o tamanho da maior. Caso contrário, imprima "-1". Dica: Existe uma função em Python que retorna o tamanho de uma string qualquer dada como parâmetro. Exemplo: len(A). For example: Input Result abcd defgh 5 a a -1 aaaaaaaaaacccccccccc aaaaaaaaaadddddddddd 20 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 16/33 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) a = input() b = input() if(a == b):# condição se print(-1) elif(len(a) > len(b)):#retorna o número de caracteres no stri print(len(a)) else: print(len(b)) Input Expected Got abcd defgh 5 5 a a -1 -1 aaaaaaaaaaccccccccccaaaaaaaaaadddddddddd 20 20 abcde fghij 5 5 abcde abcdf 5 5 abcde bbcde 5 5 abcdef eabcdf 6 6 1 2 3 4 ▼ 5 6 ▼ 7 8 ▼ 9 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 17/33 Input Expected Got abcdefgh abdcefgh 8 8 mmm mnm 3 3 mmm mmm -1 -1 a ab 2 2 raphael raphael -1 -1 ab ba 2 2 Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 18/33 Questão 6 Correto Atingiu 1,00 de 1,00 Calendário Raphael quer fazer um calendário para o mês atual. Para isso, ele desenha um tabela aonde as colunas correspondem às semanas (uma semana são 7 dias consecutivos de segunda até domingo), linhas correspondem aos dias da semana, e as células contém datas. Por exemplo, o calendário para Janeiro de 2017 seria como na imagem abaixo: Raphael quer saber quantas colunas sua tabela deve ter, dado o mês e o dia da semana do primeiro dia do mês. Você pode fazer um programa para ajudá-lo, assumindo que o ano não é bissexto? Entrada: A entrada consiste de uma única linha contendo dois inteiros m e d (1 m 12, 1 d 7). O inteiro m é o número do mês (de janeiro à dezembro) e o inteiro d é o dia da semana do primeiro dia do mês (1 é segunda, 2 terça, até 7 domingo). Saída: Imprima um único inteiro: o número de colunas que a tabela terá. O primeiro exemplo corresponde a janeiro de 2017, mostrado na �gura acima. Dica: Analise, caso a caso, cada mês e cada possibilidade de dia de início de semana usando if's encadeados ou aninhados. ≤ ≤ ≤ ≤ ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 19/33 For example: Input Result 1 7 6 1 1 5 11 6 5 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) mes, dia = input().split() mes, dia = int(mes), int(dia) #saber numero de colunas na tabela do mes dadomes e dia da # do primeiro dia do mes if (mes==2): if dia==1: print(f'{4}') elif (dia > 1 and dia <= 7): print(f'{5}') elif (mes == 4 or mes == 6 or mes == 9 or mes == 11): if (dia >= 1 and dia <= 6): print(f'{5}') elif (dia == 7): Input Expected Got 1 7 6 6 1 1 5 5 11 6 5 5 2 7 5 5 1 2 3 4 5 6 7 ▼ 8 ▼ 9 10 ▼ 11 12 ▼ 13 ▼ 1415 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 20/33 Input Expected Got 2 1 4 4 8 6 6 6 1 1 5 5 1 2 5 5 1 3 5 5 3 6 6 6 5 7 6 6 12 3 5 5 9 7 6 6 Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 21/33 Questão 7 Correto Atingiu 1,00 de 1,00 Índice de Massa Corporal Usando como dados de entrada altura h (em metros) e peso p (em quilos), elabore um programa que calcule o IMC (índice de massa corporal) do usuário, usando a fórmula: IMC =p/h Depois interprete e informe o resultado, da seguinte forma: Baixo peso: IMC abaixo de 18,5 kg/m Peso normal: IMC entre 18,5 (inclusive) e 24,9 (inclusive) kg/m Sobrepeso: IMC entre 24,9 e 29,9 (inclusive) kg/m Obesidade grau I: IMC entre 29,9 e 34,9 (inclusive) kg/m Obesidade grau II: IMC entre 34,9 e 39,9 (inclusive) kg/m Obesidade grau III: IMC maior que 39,9 kg/m Caso ele esteja acima da faixa de peso normal informe também o mínimo de quilos que serão necessários perder para chegar à faixa peso normal (24,9). Para isso basta subtrair do peso o mínimo de quilos que serão necessários perder (peso_normal_máximo * altura * altura). Entrada: Duas linhas de dados: peso (em kg) e altura (em metros). Saída: Caso o usuário esteja na faixa Baixo peso ou Peso normal apenas imprima a mensagem informando o IMC e, na próxima linha, a sua classi�cação correspondente usando a tabela, conforme exemplo fornecido abaixo. Caso contrário, imprima também o peso mínimo necessário a se perder para chegar à faixa peso normal com 2 casas decimais após a vírgula. For example: Input Result 79 1.84 23.33 Peso normal 84.4 1.85 24.66 Peso normal 2 2 2 2 2 2 2 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 22/33 Input Result 85 1.60 33.20 Obesidade grau I 21.26 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) peso1 = float(input()) x = float(input()) indice = peso1/(x**2) print('%.2f'%indice) if(indice < 18.5): print('Baixo peso') elif(indice >= 18.5 and indice <= 24.9): print('Peso normal') elif(indice >24.9 and indice <= 29.9): print('Sobrepeso') peso_preciso = 24.9*(x**2) print('% 2f'%(peso1 peso preciso)) #peso mínimo para a Input Expected Got 79 1.84 23.33 Peso normal 23.33 Peso normal 84.4 1.85 24.66 Peso normal 24.66 Peso normal 85 1.60 33.20 Obesidade grau I 21.26 33.20 Obesidade grau I 21.26 80 1.84 23.63 Peso normal 23.63 Peso normal 1 2 3 4 5 6 7 8 ▼ 9 10 ▼ 11 12 ▼ 13 14 15 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 23/33 Input Expected Got 55 1 55.00 Obesidade grau III 30.10 55.00 Obesidade grau III 30.10 90 1.90 24.93 Sobrepeso 0.11 24.93 Sobrepeso 0.11 100 1.90 27.70 Sobrepeso 10.11 27.70 Sobrepeso 10.11 85.54 1.84 25.27 Sobrepeso 1.24 25.27 Sobrepeso 1.24 60 1.50 26.67 Sobrepeso 3.98 26.67 Sobrepeso 3.98 62.5 1.67 22.41 Peso normal 22.41 Peso normal 50 1.40 25.51 Sobrepeso 1.20 25.51 Sobrepeso 1.20 50 1.75 16.33 Baixo peso 16.33 Baixo peso 45 1.45 21.40 Peso normal 21.40 Peso normal Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 24/33 Questão 8 Correto Atingiu 1,00 de 1,00 Tipos de Triângulos Leia 3 valores de ponto �utuante A, B e C e ordene-os de modo que A representa o maior dos 3 lados. A seguir, determine o tipo de triângulo que estes três lados formam, com base nos seguintes casos, sempre escrevendo uma mensagem adequada: Se A B + C, apresente a mensagem: NAO FORMA TRIANGULO Se A = B + C , apresente a mensagem: TRIANGULO RETANGULO Se os três lados forem iguais, apresente a mensagem: TRIANGULO EQUILATERO Se apenas dois dos lados forem iguais, apresente a mensagem: TRIANGULO ISOSCELES Caso contrário, apresente a mensagem: TRIANGULO ACUTANGULO OU OBTUSANGULO Entrada: A entrada contém 3 valores reais todos maiores que zero em linhas separadas. Não terá como entrada um valor tal que o triângulo seja retângulo e isósceles ao mesmo tempo. Saída: Imprima a classi�cação do triângulo. Comentários: Note que o valor A, representando o maior lado, não corresponde necessariamente ao primeiro dos valores de entrada. É necessário determiná-lo dentre as várias possibilidades de entrada e, em seguida, classi�car o triângulo. For example: Input Result 7.0 5.0 7.0 TRIANGULO ISOSCELES 6.0 6.0 6.0 TRIANGULO EQUILATERO 1.0 3.0 1.0 NAO FORMA TRIANGULO ≥ 2 2 2 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 25/33 Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) a = float(input()) maior = a teste1 = 0 b = float(input()) if (b > maior): maior = b teste1 = 1 c = float(input()) if(c > maior): maior = c teste = 2 # saber maior lado, saber qual é o maior lado. # Pela variável teste1 saberei o maior lado Input Expected Got 7.0 5.0 7.0 TRIANGULO ISOSCELES TRIANGULO ISOSCELES 6.0 6.0 6.0 TRIANGULO EQUILATERO TRIANGULO EQUILATERO 1.0 3.0 1.0 NAO FORMA TRIANGULO NAO FORMA TRIANGULO 7.0 7.0 7.0 TRIANGULO EQUILATERO TRIANGULO EQUILATERO 3.0 4.0 5.0 TRIANGULO RETANGULO TRIANGULO RETANGULO 1 2 3 4 5 ▼ 6 7 8 9 ▼ 10 11 12 13 14 15 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 26/33 Input Expected Got 3 2 1 NAO FORMA TRIANGULO NAO FORMA TRIANGULO 1.50 1.45 1.30 TRIANGULO ACUTANGULO OU OBTUSANGULO TRIANGULO ACUTANGULO OU OBTUSANGULO 3.0 3.5 4.95 TRIANGULO ACUTANGULO OU OBTUSANGULO TRIANGULO ACUTANGULO OU OBTUSANGULO 3.0 3.5 4.25 TRIANGULO ACUTANGULO OU OBTUSANGULO TRIANGULO ACUTANGULO OU OBTUSANGULO 7.5 3 4.5 NAO FORMA TRIANGULO NAO FORMA TRIANGULO 4 4 4 TRIANGULO EQUILATERO TRIANGULO EQUILATERO 5 5 4 TRIANGULO ISOSCELES TRIANGULO ISOSCELES 3.0 3.0 1.5 TRIANGULO ISOSCELES TRIANGULO ISOSCELES Passou em todos os teste! Correto Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 27/33 Questão 9 Correto Atingiu 1,00 de 1,00 Duração do Jogo Leia a hora inicial, minuto inicial, hora �nal e minuto �nal de um jogo. A seguir calcule a duração do jogo, considerando que o jogo pode acabar em um dia e terminar em outro, tendo uma duração máxima de 24 horas. Entrada: Quatro números inteiros representando a hora e minuto de início e �m do jogo. Todos os valores são apresentados na mesma linha. Saída: Mostre a seguinte mensagem: "O jogo durou XX hora(s) e YY minuto(s)." For example: Input Result 7 5 7 4 O jogo durou 23 hora(s) e 59 minuto(s). 7 7 7 7 O jogo durou 24 hora(s) e 0 minuto(s). 7 10 8 9 O jogo durou 0 hora(s) e 59 minuto(s). Answer: (penalty regime: 0, 0, 0, 1, 2, 3, ... %) hr1, mn1, hrf, mnf = input().split() hr1, mn1, hrf, mnf = [int (hr1),int (mn1),int (hrf),int (m horas = 0 minutos = 0 if (hr1 >= hrf): #resolver por casos, pois, o jogo terá horas = (hrf-hr1) + 24 if (mn1 > mnf): horas =horas - 1 minutos = ( mnf - mn1) + 60 else: minutos = mnf -mn1 else: horas = hrf - hr1 1 2 3 4 5 ▼ 6 7 ▼ 8 9 10 ▼ 11 12 ▼ 13 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 28/33 horas hrfhr1 if (mn1 >= mnf): horas = horas 1 Input Expected Got 7 5 7 4 O jogo durou 23 hora(s) e 59 minuto(s). O jogo durou 23 hora(s) e 59 minuto(s). 7 7 7 7 O jogo durou 24 hora(s) e 0 minuto(s). O jogo durou 24 hora(s) e 0 minuto(s). 7 10 8 9 O jogo durou 0 hora(s) e 59 minuto(s). O jogo durou 0 hora(s) e 59 minuto(s). 6 5 6 4 O jogo durou 23 hora(s) e 59 minuto(s). O jogo durou 23 hora(s) e 59 minuto(s). 7 5 6 4 O jogo durou 22 hora(s) e 59 minuto(s). O jogo durou 22 hora(s) e 59 minuto(s). 8 8 8 8 O jogo durou 24 hora(s) e 0 minuto(s). O jogo durou 24 hora(s) e 0 minuto(s). 8 10 8 5 O jogo durou 23 hora(s) e 55 minuto(s). O jogo durou 23 hora(s) e 55 minuto(s). 8 5 9 3 O jogo durou 0 hora(s) e 58 minuto(s). O jogo durou 0 hora(s) e 58 minuto(s). 6 4 7 1 O jogo durou 0 hora(s) e 57 minuto(s). O jogo durou 0 hora(s) e 57 minuto(s). 7 5 6 5 O jogo durou 23 hora(s) e 0 minuto(s). O jogo durou 23 hora(s) e 0 minuto(s). 7 5 6 6 O jogo durou 23 hora(s) e 1 minuto(s). O jogo durou 23 hora(s) e 1 minuto(s). 7 5 8 4 O jogo durou 0 hora(s) e 59 minuto(s). O jogo durou 0 hora(s) e 59 minuto(s). 7 8 9 10 O jogo durou 2 hora(s) e 2 minuto(s). O jogo durou 2 hora(s) e 2 minuto(s). Passou em todos os teste! Correto 13 14 ▼ 15 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 29/33 Notas para este envio: 1,00/1,00. ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 30/33 Questão 10 Correto Atingiu 1,00 de 1,00 Rally Uma competição de rally consiste de dois trechos que devem ser percorridos a velocidades médias distintas. Ganha a equipe que perder menos pontos durante os trechos. Pontos são descontados por passar atrasado ou adiantado pelos Postos de Controle (PC) e por ultrapassar limite máximo de velocidade conforme descrito a seguir. O trecho 1 tem que ser percorrido em 30 minutos. No �nal do trecho existe um PC que registra o tempo da equipe. Cada segundo a mais (atraso) do tempo ideal a equipe perde 1 ponto e cada segundo a menos (adiantado) a equipe perde 2 pontos. A velocidade máxima no trecho é de 60 Km/h. Se a equipe passar por um radar com velocidade acima de 60 Km/h, para cada Km/h acima do permitido é descontado 10 pontos. O trecho 2 tem que ser percorrido em 60 minutos. Da mesma forma que no trecho 1, existe um PC no �nal do trecho 2 que registra o tempo da equipe. Cada segundo a mais (atraso) do tempo ideal a equipe perde 1 ponto e cada segundo a menos (adiantado) a equipe perde 2 pontos. A velocidade máxima no trecho é de 40 Km/h. Se a equipe passar por um radar com velocidade acima de 40 Km/h, para cada Km/h acima do permitido é descontado 20 pontos. A equipe que não conseguir cumprir um trecho perde mais 1000 pontos para cada trecho, além das penalidades já descritas. Neste caso, o tempo registrado pela equipe no trecho não cumprido é zero. Faça um programa que leia o tempo que a equipe levou para percorrer o trecho 1, a velocidade com que passou pelo radar do trecho 1, o tempo que a equipe levou para percorrer o trecho 2 e a velocidade com que passou pelo radar do trecho 2. Calcule os pontos perdidos da equipe no trecho1 sem levar em conta a velocidade máxima, no trecho1 levando em conta a velocidade máxima, no trecho 2 sem levar em conta a velocidade máxima e no trecho 2 levando em conta a velocidade máxima. Calcule também a pontuação total (perdida) da equipe sem levar em conta a velocidade máxima e levando em conta a velocidade máxima. Entrada: Quatro valores inteiros, em uma linha e separados por espaços, nessa ordem: o tempo que a equipe levou para percorrer o trecho 1 em segundos, a velocidade com que passou pelo radar do trecho 1 em Km/h, o tempo que a equipe levou para percorrer o trecho 2 em segundos e a velocidade com que passou pelo radar do trecho 2 em Km/h. Saída: Seis inteiros um por linha, com os pontos (perdidos) da equipe: no trecho 1 sem levar em conta a velocidade máxima, no trecho 1 levando em conta a velocidade máxima, no trecho 2 sem levar em conta a velocidade máxima, no trecho 2 levando em conta a velocidade máxima, ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 31/33 a pontuação total da equipe sem levar em conta a velocidade máxima, e a pontuação total da equipe levando em conta a velocidade máxima. For example: Input Result 1790 70 3610 50 -20 -120 -10 -210 -30 -330 Answer: (penalty regime: 0, 0, 0, 1, 2, ... %) a,b,c,d = input().split() n1 = [int(a), int(b),int(c),int(d)] x = 0 y = 0 # tempo que a equipe levou para percorrer o trecho 1, # a velocidade com que passou pelo radar do trecho 1, # o tempo que a equipe levou para percorrer # o trecho 2 e a velocidade com que passou pelo radar do t if n1[0] >= 1800: x= 1800 - n1[0] print(x) elif n1[0] < 1800: Input Expected Got 1 2 3 4 5 6 7 8 9 10 11 12 ▼ 13 14 15 ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 32/33 Input Expected Got 1790 70 3610 50 -20 -120 -10 -210 -30 -330 -20 -120 -10 -210 -30 -330 1780 80 3620 60 -40 -240 -20 -420 -60 -660 -40 -240 -20 -420 -60 -660 1780 60 3620 40 -40 -40 -20 -20 -60 -60 -40 -40 -20 -20 -60 -60 1780 50 3620 100 -40 -40 -20 -1220 -60 -1260 -40 -40 -20 -1220 -60 -1260 1780 110 3620 30 -40 -540 -20 -20 -60 -560 -40 -540 -20 -20 -60 -560 1805 90 3550 75 -5 -305 -100 -800 -105 -1105 -5 -305 -100 -800 -105 -1105 Passou em todos os teste! ??? 04/09/2021 Lista 2 - Estrutura de Decisão: Revisão da tentativa https://aprender3.unb.br/mod/quiz/review.php?attempt=808957&cmid=426975 33/33 Correto Notas para este envio: 1,00/1,00. ??? https://aprender3.unb.br/mod/resource/view.php?id=426974&forceview=1 https://aprender3.unb.br/mod/resource/view.php?id=426976&forceview=1
Compartilhar