4) Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para
preenchimento de vagas no seu quadro de funcionários, utilizando processamento eletrônico.
Supondo que você seja o programador encarregado desse levantamento, fazer um algoritmo que:
Leia um conjunto de dados para cada candidato contendo:
Número de inscrição do candidato
Idade
Sexo(masculino/feminino)
Experiência no serviço (sim/não).
O último conjunto de dados contém o número da inscrição igual a 0
Calcule e imprima
O número de candidatos do sexo feminino
O número de candidatos do sexo masculino
A idade média dos homens que já têm experiência no serviço
Porcentagem do homens com mais de 45 anos entre o total de homens.
Número de mulheres que tem idade inferior a 35 anos e com experiência no serviço
A maior idade entre mulheres que já tem experiência
como posso resolver "Porcentagem do homens com mais de 45 anos entre o total de homens." ?
algoritmo "semnome"
// Função :
// Autor :
// Data : 27/4/2015
// Seção de Declarações
var
somaM,idadeM,sexoM,sexoMS,porcetagem: real
idade, inscricao,sexoF,experienciaF,maiorIdade,MenorIdade: inteiro
sexo,experiencia : caractere
inicio
// Seção de Comandos
repita
escreval("----------------------------------------------------------------------")
escreval(" LEVANTAMENTO ")
escreval("----------------------------------------------------------------------")
escreva("Número de inscrição : ")
leia(inscricao)
escreva("idade : ")
leia(idade)
escreva("sexo M - masculino ou F - feminino : ")
leia(sexo)
escreva("Experinência no serviço S - sim ou N - não : ")
leia(experiencia)
se sexo = "F" entao
sexoF <- sexoF + 1 //conta a quantidade de mulheres
se (idade < 35) e (experiencia = "S") entao
experienciaF <- experienciaF + 1
fimse
se idade > maiorIdade entao
maiorIdade <- idade
senao
menorIdade <- idade
fimse
fimse
se sexo = "M" entao
sexoM <- sexoM + 1
se experiencia = "S" entao
somaM <- somaM + idade
sexoMS <- sexoMS + 1
fimse
se idade > 45 entao
porcetagem <- porcetagem + 1
fimse
fimse
limpatela
ate (inscricao = 0)
escreval("-----------------------------------------------------------------------")
escreval(" RESULTADO DO LEVANTAMENTO ")
escreval("-----------------------------------------------------------------------")
escreval("O número de candidatos do sexo feminino : ",sexoF)
escreval("O número de candidatos do sexo masculino : ",sexoM)
escreval("A idade média dos homens que já têm experiência no serviço : ",somaM/sexoMS)
escreval("Porcentagem do homens com mais de 45 anos entre o total de homens : ")
escreval("Número de mulheres que tem idade menor de 35 anos e com experiência : ",experienciaF)
escreval("A maior idade entre mulheres que já tem experiência : ",maiorIdade)
escreval("-----------------------------------------------------------------------")
fimalgoritmo
Sendo sexoM a sua quantidade total de homens e porcentagem sua quantidade total de homens com idade maior que 45. Você pode calcular essa porcentagem de homens com mais de 45 anos entre o total de homens, dividindo sua variável porcentagem, pela variável sexoM, e depois multiplicar o resultado por 100. Sempre que precisar saber a porcentagem de algo sobre um total, divida esse algo pelo total e multiplique por 100.
Você poderia então, simplesmente criar uma variável, que receba porcentagem/sexoM*100. Não confundir e achar que o 100 está multiplicando por sexoM, na verdade ele está multiplicando pelo resultado da divisão entre porcentagem e sexoM. Poderia ser escrito também da seguinte forma: porcentagem*100/sexoM
Bons estudos! Depois programação ficará bem melhor que isso aí! :)
O algoritmo em questão será:
var
idade, homens, mulheres, maior, menor, mexp, funcionarios, soma, mulher Com Experiencia, homemAcima45: inteiro
media, percentual: real
sexo, experiencia: caractere
inicio
// Seção de Comandos
soma <- 0
media <- 0
mexp <- 0
mulheres <- 0
homens <- 0
homemAcima45 <- 0
repita [COLOR="Red"]// Uso do repita, pois não se sabe o número exato de funcionários.[/COLOR]
escreva ("Entre com a idade do funcionario ")
leia (idade)
maior <- idade
menor <- idade
se (idade = 0) então [COLOR="Red"]// Verificação da Idade[/COLOR]
interrompa
fimse
escreva ("Agora com o sexo do funcionario <H ou M> ")
leia (sexo)
se sexo = "M" então
mulheres <- mulheres + 1
senao
homens <- homens + 1
fimse
se ((sexo = "H") e (idade > 45)) então [COLOR="Red"]// Contagem de homens com mais de 45 anos[/COLOR]
homemAcima45 <- homemAcima45 + 1
fimse
escreva ("O funcionario possui experiencia no servico? ")
leia (experiencia)
se ((idade < 35) e (sexo = "M") e (experiencia = "S")) então /[COLOR="Red"]/ Não se esqueça de fazer o uso de parênteses nas expressões condicionais.[/COLOR]
mexp <- mexp + 1
mulherComExperiencia <- idade
se (idade <= mulherComExperiencia)então [COLOR="Red"]// Menor idade das mulheres com menos de 35 anos e com experiência[/COLOR]
mulherComExperiencia <- idade
fimse
fimse
se ((experiencia = "S") e (sexo = "H")) então [COLOR="Red"]// O erro estava aqui. A variável 'experiência' estava escrita errada, por isso não estava rodando.[/COLOR]
soma <- soma + idade
media <- soma/homens
fimse
escreval
escreval
ate (idade <= 0)
limpatela [COLOR="Red"]// Exibir resultados em um tela limpa[/COLOR]
se (homens > 0) então [COLOR="Red"]// Se o número de homens for igual a 0 a divisão não é efetuada. Evita erros com números divididos por 0.[/COLOR]
percentual <- (homemAcima45 / homens) * 100 [COLOR="Red"]// Cálculo do percentual de homens com mais de 45 anos[/COLOR]
senao
percentual <- 0
fimse
escreval ("Mulheres : ", mulheres)
escreval ("Homens : ", homens)
escreval ("Idade media dos homens com experiencia no servico: ", media)
escreval ("Percentual de Homens com mais de 45 anos: ",percentual," %")
escreval ("Numero de mulheres com idade inferior a 35 anos e com experiencia no servico: ", mexp)
escreval ("A menor idade entre mulheres que ja tem experiencia no servico e: ", mulherComExperiencia)
fimalgoritmo
O algoritmo em questão será:
var
idade, homens, mulheres, maior, menor, mexp, funcionarios, soma, mulher Com Experiencia, homemAcima45: inteiro
media, percentual: real
sexo, experiencia: caractere
inicio
// Seção de Comandos
soma <- 0
media <- 0
mexp <- 0
mulheres <- 0
homens <- 0
homemAcima45 <- 0
repita [COLOR="Red"]// Uso do repita, pois não se sabe o número exato de funcionários.[/COLOR]
escreva ("Entre com a idade do funcionario ")
leia (idade)
maior <- idade
menor <- idade
se (idade = 0) então [COLOR="Red"]// Verificação da Idade[/COLOR]
interrompa
fimse
escreva ("Agora com o sexo do funcionario <H ou M> ")
leia (sexo)
se sexo = "M" então
mulheres <- mulheres + 1
senao
homens <- homens + 1
fimse
se ((sexo = "H") e (idade > 45)) então [COLOR="Red"]// Contagem de homens com mais de 45 anos[/COLOR]
homemAcima45 <- homemAcima45 + 1
fimse
escreva ("O funcionario possui experiencia no servico? ")
leia (experiencia)
se ((idade < 35) e (sexo = "M") e (experiencia = "S")) então /[COLOR="Red"]/ Não se esqueça de fazer o uso de parênteses nas expressões condicionais.[/COLOR]
mexp <- mexp + 1
mulherComExperiencia <- idade
se (idade <= mulherComExperiencia)então [COLOR="Red"]// Menor idade das mulheres com menos de 35 anos e com experiência[/COLOR]
mulherComExperiencia <- idade
fimse
fimse
se ((experiencia = "S") e (sexo = "H")) então [COLOR="Red"]// O erro estava aqui. A variável 'experiência' estava escrita errada, por isso não estava rodando.[/COLOR]
soma <- soma + idade
media <- soma/homens
fimse
escreval
escreval
ate (idade <= 0)
limpatela [COLOR="Red"]// Exibir resultados em um tela limpa[/COLOR]
se (homens > 0) então [COLOR="Red"]// Se o número de homens for igual a 0 a divisão não é efetuada. Evita erros com números divididos por 0.[/COLOR]
percentual <- (homemAcima45 / homens) * 100 [COLOR="Red"]// Cálculo do percentual de homens com mais de 45 anos[/COLOR]
senao
percentual <- 0
fimse
escreval ("Mulheres : ", mulheres)
escreval ("Homens : ", homens)
escreval ("Idade media dos homens com experiencia no servico: ", media)
escreval ("Percentual de Homens com mais de 45 anos: ",percentual," %")
escreval ("Numero de mulheres com idade inferior a 35 anos e com experiencia no servico: ", mexp)
escreval ("A menor idade entre mulheres que ja tem experiencia no servico e: ", mulherComExperiencia)
fimalgoritmo
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar