Buscar

Ajuda com lógica de programação ?

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

💡 4 Respostas

User badge image

Estudante PD

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í! :)

1
Dislike0
User badge image

Andre Smaira

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

0
Dislike0
User badge image

Andre Smaira

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

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais