Pergunta

2-0 departamento de Educação Física deseja informatizar este setor e colocou à disposição os seguintes dados de 30 alunos: Matrícula, sexo (M,F) altura (cm) e status físico (1 -bom, 2-regular, 3-ruim) Estes dados deverão ser lidos através de uma unidade de entrada qualquer. Calcular e imprimir: a) A quantidade de alunos do sexo feminino com altura superior a 170 cm. b) A% de alunos do sexo masculino (em relação ao total de alunos do sexo masculino) cujo status fisico seja bom.
Solução

4.2259 Voting

ThiagoVeterano · Tutor por 10 anos
Responder
Para resolver essas questões, precisamos analisar os dados fornecidos sobre os alunos. Vamos supor que os dados estejam em um arquivo de texto, onde cada linha representa um aluno e os campos são separados por vírgulas.<br /><br />Aqui está um exemplo de como os dados podem estar organizados:<br /><br />```<br />Matrícula,Sexo,Altura,Status<br />1,M,165,1<br />2,F,160,2<br />3,M,175,3<br />4,F,180,1<br />5,M,190,2<br />6,F,170,3<br />7,M,160,1<br />8,F,175,2<br />9,M,180,3<br />10,F,165,1<br />11,M,170,2<br />12,F,180,3<br />13,M,175,1<br />14,F,190,2<br />15,M,165,3<br />16,F,180,1<br />17,M,170,1<br />18,F,175,3<br />19,M,180,2<br />20,F,165,2<br />21,M,175,3<br />22,F,170,1<br />23,M,180,1<br />24,F,190,2<br />25,M,165,2<br />26,F,175,1<br />27,M,180,3<br />28,F,170,3<br />29,M,165,1<br />30,F,180,2<br />```<br /><br />Agora, vamos resolver as questões:<br /><br />### a) A quantidade de alunos do sexo feminino com altura superior a 170 cm.<br /><br />Para isso, precisamos contar quantas vezes a combinação "F" (sexo feminino) e "Altura > 170" aparece nos dados.<br /><br />```python<br />def contar_alunos_altura_sexo_feminino(altura, sexo):<br /> contador = 0<br /> for aluno in altura:<br /> if aluno[1] == 'F' and aluno[2] > 170:<br /> contador += 1<br /> return contador<br /><br /># Supondo que os dados estejam em uma lista de tuplas<br />dados = [<br /> (1, 'M', 165, 1),<br /> (2, 'F', 160, 2),<br /> (3, 'M', 175, 3),<br /> (4, 'F', 180, 1),<br /> (5, 'M', 190, 2),<br /> (6, 'F', 170, 3),<br /> (7, 'M', 160, 1),<br /> (8, 'F', 175, 2),<br /> (9, 'M', 180, 3),<br /> (10, 'F', 165, 1),<br /> (11, 'M', 170, 2),<br /> (12, 'F', 180, 3),<br /> (13, 'M', 175, 1),<br /> (14, 'F', 190, 2),<br /> (15, 'M', 165, 3),<br /> (16, 'F', 180, 1),<br /> (17, 'M', 170, 1),<br /> (18, 'F', 175, 3),<br /> (19, 'M', 180, 2),<br /> (20, 'F', 165, 2),<br /> (21, 'M', 175, 3),<br /> (22, 'F', 170, 1),<br /> (23, 'M', 180, 1),<br /> (24, 'F', 190, 2),<br /> (25, 'M', 165, 2),<br /> (26, 'F', 175, 1),<br /> (27, 'M', 180, 3),<br /> (28, 'F', 170, 3),<br /> (29, 'M', 165, 1),<br /> (30, 'F', 180, 2)<br />]<br /><br />quantidade = contar_alunos_altura_sexo_feminino(dados)<br />print(f"A quantidade de alunos do sexo feminino com altura superior a 170 cm é: {quantidade}")<br />```<br /><br />### b) A % de alunos do sexo masculino cujo status físico seja bom.<br /><br />Para isso, precisamos calcular a porcentagem de alunos do sexo masculino que têm status físico igual a 1.<br /><br />```python<br />def calcular_porcentagem_status_fisico_bom(dados):<br /> total_masculino = 0<br /> status_bom = 0<br /> for aluno in dados:<br /> if aluno[1] == 'M' and aluno[3] == 1:<br /> status_bom += 1<br /> total_masculino += 1<br /> return (status_bom / total_masculino) * 100<br /><br />porcentagem = calcular_porcentagem_status_fisico_bom(dados)<br />print(f"A
Clique para avaliar: