Ir ao conteúdo

Posts recomendados

Postado

Foi realizada uma pesquisa sobre algumas características físicas de certos habitantes de uma região. Foram coletados os seguintes dados de cada habitante: sexo (M-Masculino e F-Feminino), cor dos olhos (A – Azuis V-Verdes ou C – Castanho), cor dos cabelos (L – Louros, P-Pretos ou C-Castanhos), peso, altura e idade. Deve-se validar a entrada do sexo, da cor dos olhos e da cor dos cabelos. Na validação da entrada somente deverá ser permitido os tipos de sexo, cor dos olhos e cor dos cabelos apresentados acima, caso o usuário digitar um valor errado, deverá aparecer na tela uma mensagem informando que esta errado e solicitar para redigitar novamente, até o usuário digitar um valor válido. Para facilitar a entrada dos dados, sempre imprima na tela orientações para o usuário saber o que deve ser digitado como dado de entrada. Toda vez que cadastrar a pesquisa de um habitante, deve perguntar ao usuário se deseja cadastrar uma nova pesquisa. Assim, o programa encerra quando o usuário digitar N, indicando que não deseja realizar mais nenhuma pesquisa. Ao finalizar o programa deverá ser impresso o relatório final da pesquisa com as informações solicitadas abaixo.

 

Faça um Algoritmo que leia os dados da pesquisa e gere como relatório:

 Total de pessoas pesquisadas

 Total de homens pesquisados e o percentual (%)

 Total de mulheres pesquisadas e o percentual (%)

 Média de pesos dos homens

 Média de pesos  das mulheres

 Média de idades(homens e mulheres juntos)

 Idade do mais velho (homens e mulheres juntos)

 Idade do mais novo(homens e mulheres juntos)

 Total de pessoas por cor de cabelo e o seu percentual (%) (homens e mulheres juntos)

 Total de pessoas por cor dos olhos e o seu percentual (%) (homens e mulheres juntos)

Determine a quantidade de indivíduos do sexo feminino e masculino maiores de idade e que tenham olhos Verdes e cabelos Pretos. (homens e mulheres juntos)

 

Var

   sexo, cor_olhos, cor_cabelo, pesquisa : Caractere
   peso, altura,idade : real
   totalp : inteiro
Inicio

   totalp <- 0
   repita
      escreval("Digite seu peso: ")
      leia(peso)
      escreval("Digite sua altura: ")
      leia(altura)
      escreval("Digite sua idade: ")
      leia(idade)
      repita
         escreval("Digite seu sexo M/F: ")
         leia(sexo)
         se(sexo <> "M")e(sexo <> "F")entao
            escreval("Sexo incorreta, regedite")
         fimse
      ate(sexo = "M")ou(sexo = "F")
      repita
         escreval("Digite a letra da cor do seus olhos: ")
         Leia(cor_olhos)
         Se(cor_olhos <> "A")e(cor_olhos <> "V")e(cor_olhos <> "C")entao
            Escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
         Fimse
      Ate (cor_olhos = "A")ou(cor_olhos = "V")ou(cor_olhos = "C")
      Repita
         Escreval("Digite a letra cor dos seus cabelos: ")
         Leia(cor_cabelo)
         Se(cor_cabelo <> "L")e(cor_cabelo <> "P")e(cor_cabelo <> "C")entao
            Escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
         Fimse
      Ate(cor_cabelo = "L")ou(cor_cabelo = "P")ou(cor_cabelo = "C")
      escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
      leia(pesquisa)
      totalp <- totalp+ 1
   ate(pesquisa = "N")
   escreval("O total de pessoas pesquisadas foram: ",totalp)

TRANQUEI AQUI EMBAIXO

 

  • Curtir 1
Postado

Olá, em vez do repita no começo usa o enquanto é para casos assim sintaxe dele: 

 

enquanto condição faca

adicionado 2 minutos depois

uma coisa que reparei também é nessa contradição Se(cor_olhos <> "A")e(cor_olhos <> "V")e(cor_olhos <> "C")entao

 

você está dizendo que se cor dos olhos for igual A ele vai fazer tal condição e você usou operador lógico (E) isso seria se o valor for A ele também tem que ser V você pode usar o (ou) que seria no caso de ser outro valor.

  • Curtir 2
  • Membro VIP
Postado

Inicialmente uns adendos:

 

@MugenShion, segue:

 

Em 26/04/2019 às 16:29, MugenShion disse:

Olá, em vez do repita no começo usa o enquanto é para casos assim sintaxe dele:

Se vai executar pelo menos uma vez, pode usar repita mesmo. É para isso que ele foi feito.

 

 

 

Em 26/04/2019 às 16:29, MugenShion disse:

uma coisa que reparei também é nessa contradição Se(cor_olhos <> "A")e(cor_olhos <> "V")e(cor_olhos <> "C")entao

 

você está dizendo que se cor dos olhos for igual A ele vai fazer tal condição e você usou operador lógico (E) isso seria se o valor for A ele também tem que ser V você pode usar o (ou) que seria no caso de ser outro valor. 

 

O que ele quer verificar? seria algo como: "se a cor dos olhos é diferente de 'A', 'V' e 'C'". Logo, está usando o operador relacional "<>". Como na disjunção só resulta em verdadeiro quando todas as proposições forem verdadeiras, se algum for falso, a expressão será falsa, ou seja, só será verdadeiro se o usuário digitou um cor inválida (vão está diferentes, logo resultando verdadeiro).

 

 

 

@dimitruf, já está feita a parte da leitura dos dados. Agora basta ir analisando. Segue um esboço:

algoritmo "FCdH"
// Faça um Algoritmo que leia os dados da pesquisa e gere como relatório:
//
// X Total de pessoas pesquisadas
// X Total de homens pesquisados e o percentual (%)
// X Total de mulheres pesquisadas e o percentual (%)
// Média de pesos dos homens
// Média de pesos  das mulheres
// Média de idades(homens e mulheres juntos)
// Idade do mais velho (homens e mulheres juntos)
// Idade do mais novo(homens e mulheres juntos)
// Total de pessoas por cor de cabelo e o seu percentual (%) (homens e mulheres
//    juntos)
// Total de pessoas por cor dos olhos e o seu percentual (%) (homens e mulheres
//    juntos)
//Determine a quantidade de indivíduos do sexo feminino e masculino maiores de
//    idade e que tenham olhos Verdes e cabelos Pretos. (homens e mulheres
//    juntos)

var
   totalP       : inteiro //Total de pessoas pesquisadas
   qtdM, qtdF   : inteiro //Total de homens pesquisados
   percM, percF : real    //Percentual (%) de homens pesquisados

   sexo, cor_olhos, cor_cabelo : caractere
   peso, altura : real
   idade : inteiro
   pesquisa : caractere

inicio
   totalp <- 0
   repita
      //LEITURA DOS DADOS DA PESSOA ATUAL
      escreval("Digite seu peso: ")
      leia(peso)
      escreval("Digite sua altura: ")
      leia(altura)
      escreval("Digite sua idade: ")
      leia(idade)
      repita
         escreval("Digite seu sexo M/F: ")
         leia(sexo)
         se (sexo <> "M") e (sexo <> "F") entao
            escreval("Sexo incorreto, regedite")
         fimSe
      ate(sexo = "M") ou (sexo = "F")
      repita
         escreval("Digite a letra da cor do seus olhos: ")
         Leia(cor_olhos)
         se(cor_olhos <> "A") e (cor_olhos <> "V") e (cor_olhos <> "C") entao
            escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
         fimSe
      ate (cor_olhos = "A")ou(cor_olhos = "V")ou(cor_olhos = "C")
      repita
         escreval("Digite a letra cor dos seus cabelos: ")
         leia(cor_cabelo)
         se(cor_cabelo <> "L") e (cor_cabelo <> "P") e (cor_cabelo <> "C") entao
            escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
         fimSe
      ate(cor_cabelo = "L")ou(cor_cabelo = "P")ou(cor_cabelo = "C")
      escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
      leia(pesquisa)

      totalp <- totalp + 1
      //PROCESSAMENTO DOS DADOS DESSA PESSOA
      se (sexo = "M") entao
         qtdM <- qtdM + 1
      senao
         se (sexo = "F") entao //não precisa desse se, mas deixe
            qtdF <- qtdF + 1
         fimSe
      fimSe
      
      
      
   ate (pesquisa = "N")
   
   percM <- qtdM/totalP*100
   percF <- qtdF/totalP*100

   escreval("Total de pessoas pesquisadas  : ",totalP)
   escreval("Total de homens pesquisados   : ",qtdM," (",percM:1,"%)")
   escreval("Total de mulheres pesquisadas : ",qtdF," (",percF:1,"%)")
   // Média de pesos dos homens
   // Média de pesos  das mulheres
   // Média de idades(homens e mulheres juntos)
   // Idade do mais velho (homens e mulheres juntos)
   // Idade do mais novo(homens e mulheres juntos)
   // Total de pessoas por cor de cabelo e o seu percentual (%) (homens e mulheres
   //    juntos)
   // Total de pessoas por cor dos olhos e o seu percentual (%) (homens e mulheres
   //    juntos)
   //Determine a quantidade de indivíduos do sexo feminino e masculino maiores de
   //    idade e que tenham olhos Verdes e cabelos Pretos. (homens e mulheres
   //    juntos)

fimAlgoritmo

Testa essa parte que já iniciei... qualquer coisa vai readaptando. Após, insere a média dos pesos das mulheres e homens. Após testar a quantidade e a percentagem dos homens e tiver "pronto", quando implementar a média dos pesos, basta testar os pesos... pro restando coloque valores aleatórios...

 

No aguardo.

 

  • Curtir 2
  • Membro VIP
Postado
16 horas atrás, dimitruf disse:

@Simon Viegas Obrigado, agora posso continuar com esse mesmo esboço seguindo os itens? Ou teria que incrementar algo a mais?.

 

Sim. Implemente um próximo item. Por exemplo a "Média de pesos dos homens" e a "Média de pesos das mulheres". Testa. Depois implementa um próximo... por ai vai.

 

Qualquer dúvida é só postar.

  • Curtir 2
  • Obrigado 1
Postado
Em 29/04/2019 às 22:34, Simon Viegas disse:

// Média de idades(homens e mulheres juntos)

EU consegui, mas deixe o post aberto pois se haver alguma dúvida

 

adicionado 32 minutos depois
Em 03/05/2019 às 08:31, Simon Viegas disse:

Sim. Implemente um próximo item. Por exemplo a "Média de pesos dos homens" e a "Média de pesos das mulheres". Testa. Depois implementa um próximo... por ai vai.

 

Qualquer dúvida é só postar.

var
   sexo, cor_olhos, cor_cabelo, pesquisa, maior, menor : Caractere
   peso, altura,idade, percM, percF, mediaI: real
   totalp, qtdM, qtdF : inteiro

   ...

   escreval("Total de pessoas pesquisadas  : ",totalP)
   escreval("Total de homens pesquisados   : ",qtdM," (",percM:1,"%)")
   escreval("Total de mulheres pesquisadas : ",qtdF," (",percF:1,"%)")
   mediaI <- (idade+idade)/totalP
   escreval("A media da idade das pessoas é: ", mediaI)

 

A média dele não ta calculando certo
Fiz 32+25= 57 ai a resposta deu 32 mas devia ser 28.5

  • Curtir 1
Postado
3 horas atrás, Simon Viegas disse:

@dimitruf, poste o código completo até o momento.

sexo, cor_olhos, cor_cabelo, pesquisa, maior, menor : Caractere
peso, altura,idade, percM, percF, mediaI: real
totalp, qtdM, qtdF : inteiro


Inicio
idade <- 0
totalp <- 0
repita
   escreval("Digite seu peso: ")
   leia(peso)
   escreval("Digite sua altura: ")
   leia(altura)
   escreval("Digite sua idade: ")
   leia(idade)
   repita
      escreval("Digite seu sexo M/F: ")
      leia(sexo)
      se(sexo <> "M")e(sexo <> "F")entao
         escreval("Sexo incorreta, regedite")
      fimse
   ate(sexo = "M")ou(sexo = "F")
   repita
      escreval("Digite a letra da cor do seus olhos: ")
      Leia(cor_olhos)
      Se(cor_olhos <> "A")e(cor_olhos <> "V")e(cor_olhos <> "C")entao
         Escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
      Fimse
   Ate (cor_olhos = "A")ou(cor_olhos = "V")ou(cor_olhos = "C")
   Repita
      Escreval("Digite a letra cor dos seus cabelos: ")
      Leia(cor_cabelo)
      Se(cor_cabelo <> "L")e(cor_cabelo <> "P")e(cor_cabelo <> "C")entao
         Escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
      Fimse
   Ate(cor_cabelo = "L")ou(cor_cabelo = "P")ou(cor_cabelo = "C")
   escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
   leia(pesquisa)
   limpatela
   totalp <- totalp+ 1
   se (sexo = "M") entao
      qtdM <- qtdM + 1
   senao
      se (sexo = "F") entao
         qtdF <- qtdF + 1
      fimSe
   fimSe
ate (pesquisa = "N")
percM <- qtdM/totalP*100
percF <- qtdF/totalP*100
escreval("Total de pessoas pesquisadas  : ",totalP)
escreval("Total de homens pesquisados   : ",qtdM," (",percM:1,"%)")
escreval("Total de mulheres pesquisadas : ",qtdF," (",percF:1,"%)")
idade <- idade
mediaI <- (idade+idade)/totalp
escreval("A media da idade das pessoas é: ", mediaI)

 

  • Curtir 1
  • Membro VIP
Postado
5 horas atrás, dimitruf disse:

A média dele não ta calculando certo
Fiz 32+25= 57 ai a resposta deu 32 mas devia ser 28.5

 

@dimitruf, abaixo fiz um esboço para inserir o trecho que "calcula a média de idades dos pesquisados":

 

algoritmo "FCdH"
// Faça um Algoritmo que leia os dados da pesquisa e gere como relatório:
//
// X Total de pessoas pesquisadas
// X Total de homens pesquisados e o percentual (%)
// X Total de mulheres pesquisadas e o percentual (%)
// Média de pesos dos homens
// Média de pesos  das mulheres
// X Média de idades(homens e mulheres juntos)
// Idade do mais velho (homens e mulheres juntos)
// Idade do mais novo(homens e mulheres juntos)
// Total de pessoas por cor de cabelo e o seu percentual (%) (homens e mulheres
//    juntos)
// Total de pessoas por cor dos olhos e o seu percentual (%) (homens e mulheres
//    juntos)
//Determine a quantidade de indivíduos do sexo feminino e masculino maiores de
//    idade e que tenham olhos Verdes e cabelos Pretos. (homens e mulheres
//    juntos)


var
   //Dados do pesquisado
   peso       : real
   altura     : real
   idade      : inteiro
   sexo       : caractere
   cor_olhos  : caractere
   cor_cabelo : caractere

   //Dados para estatística
   qtdM, qtdF   : inteiro //quantidade de mulheres e homens
   percM, percF : real    //percentual de mulheres e homens
   totalP       : inteiro //total de pessoas
   somaIdade    : inteiro //soma das idades
   mediaI       : real    //media das idades

   //Variáveis auxiliaes
   pesquisa  : caractere

Inicio
   totalP <- 0
   repita
      limpaTela()
      totalP <- totalP + 1
      escreval("Digite seu peso: ")
      leia(peso)
      escreval("Digite sua altura: ")
      leia(altura)
      escreval("Digite sua idade: ")
      leia(idade)
      repita
         escreval("Digite seu sexo M/F: ")
         leia(sexo)
         se (sexo <> "M") e (sexo <> "F") entao
            escreval("Sexo incorreto, regedite")
         fimse
      ate (sexo = "M") ou (sexo = "F")
      repita
         escreval("Digite a letra da cor do seus olhos: ")
         leia(cor_olhos)
         se (cor_olhos <> "A") e (cor_olhos <> "V") e (cor_olhos <> "C") entao
            escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
         fimSe
      ate (cor_olhos = "A") ou (cor_olhos = "V") ou (cor_olhos = "C")
      repita
         escreval("Digite a letra cor dos seus cabelos: ")
         leia(cor_cabelo)
         se (cor_cabelo <> "L") e (cor_cabelo <> "P") e (cor_cabelo <> "C") entao
            escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
         fimSe
      ate (cor_cabelo = "L") ou (cor_cabelo = "P") ou (cor_cabelo = "C")


      somaIdade <- somaIdade + idade
      se (sexo = "M") entao
         qtdM <- qtdM + 1
      senao
         se (sexo = "F") entao
            qtdF <- qtdF + 1
         fimSe
      fimSe

      escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
      leia(pesquisa)
   ate (pesquisa = "N")
   
   mediaI <- somaIdade / totalP
   
   percM <- qtdM/totalP*100
   percF <- qtdF/totalP*100

   escreval("Total de pessoas pesquisadas   : ", totalP)
   escreval("Total de homens pesquisados    : ", qtdM, " (", percM:1, "%)")
   escreval("Total de mulheres pesquisadas  : ", qtdF, " (", percF:1, "%)")
   escreval("Média de idade dos pesquisados : ", mediaI)
fimAlgoritmo

 

1. Analise o código por completo. Tente entender TODO o código. Caso exista alguma dúvida em qualquer parte do código acima, poste informando qual.

 

2. Caso não exista dúvidas sobre o código acima. ESCOLHA APENAS MAIS UM ITEM e tente implementar. Coloquei no cabeçalho do código um "X" na frente do item que já iniciou a implementação... no caso, escolha um outro que falta e implemente. Após implementar, poste o código completo para analisarmos. Caso tenha dúvidas em alguma parte, só postar também que verificamos.

 

No aguardo.

  • Curtir 1
Postado

@Simon Viegas

 

var
//Dados do pesquisado
peso, altura, percM, PercF, mediaI, mediaPM, mediaPF : real
idade, qtdM, qtdF, somaIdade, totalP, maior, menor, somaPM, somaPF : inteiro
sexo, cor_olhos, cor_cabelo, pesquisa : caractere
inicio
// Seção de Comandos
totalP <- 0
repita
   totalP <- totalP + 1
   escreval("Digite seu peso: ")
   leia(peso)
   escreval("Digite sua altura: ")
   leia(altura)
   escreval("Digite sua idade: ")
   leia(idade)
   repita
      escreval("Digite seu sexo M/F: ")
      leia(sexo)
      se (sexo <> "M") e (sexo <> "F") entao
         escreval("Sexo incorreto, regedite")
      fimse
   ate (sexo = "M") ou (sexo = "F")
   repita
      escreval("Digite a letra da cor do seus olhos: ")
      leia(cor_olhos)
      se (cor_olhos <> "A") e (cor_olhos <> "V") e (cor_olhos <> "C") entao
         escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
      fimSe
   ate (cor_olhos = "A") ou (cor_olhos = "V") ou (cor_olhos = "C")
   repita
      escreval("Digite a letra cor dos seus cabelos: ")
      leia(cor_cabelo)
      se (cor_cabelo <> "L") e (cor_cabelo <> "P") e (cor_cabelo <> "C") entao
         escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
      fimSe
   ate (cor_cabelo = "L") ou (cor_cabelo = "P") ou (cor_cabelo = "C")


   somaIdade <- somaIdade + idade
   se (sexo = "M") entao
      qtdM <- qtdM + 1
      somaPM <- peso + 1
   senao
      se (sexo = "F") entao
         qtdF <- qtdF + 1
         somaPF <- peso + 1
      fimSe
   fimSe
   se(idade>maior)entao
      maior <- idade
   senao
      menor <- idade
   fimse

   escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
   leia(pesquisa)
ate (pesquisa = "N")
limpatela
mediaPM <- somaPM / qtdM
mediaPF <- somaPF / qtdF
mediaI <- somaIdade / totalP

percM <- qtdM/totalP*100
percF <- qtdF/totalP*100

escreval("Total de pessoas pesquisadas   : ", totalP)
escreval("Total de homens pesquisados    : ", qtdM, " (", percM:1, "%)")
escreval("Total de mulheres pesquisadas  : ", qtdF, " (", percF:1, "%)")
escreval("Média de idade dos pesquisados : ", mediaI)
escreval("A idade mais velha encontrada  : ", maior)
escreval("A idade mais nova encontrada   : ", menor)
escreval("A media dos pesos masculinos   : ", mediaPM)
escreval("A media dos pesos femeninos    : ", mediaPF)

FIMALGORITMO

 

Em 06/05/2019 às 16:35, Simon Viegas disse:

// Idade do mais velho (homens e mulheres juntos) // Idade do mais novo(homens e mulheres juntos)

Fiz esse, a idade do mais velho está dando certo, porém, na idade do mais novo sempre está dando o número 0

 

Em 06/05/2019 às 16:35, Simon Viegas disse:

// Média de pesos dos homens // Média de pesos das mulheres

E nesse, diz que as variáveis somaPM e somaPF tem que estar em inteiro, mas ela está em inteiro.

  • Curtir 1
  • Membro VIP
Postado

1#

8 horas atrás, dimitruf disse:

E nesse, diz que as variáveis somaPM e somaPF tem que estar em inteiro, mas ela está em inteiro. 

 

É o contrário. Estas variáveis estão como inteiros, e você está tentando inserir um número real nelas. Mude-as para real.

 

 

 

2#

8 horas atrás, dimitruf disse:

Fiz esse, a idade do mais velho está dando certo, porém, na idade do mais novo sempre está dando o número 0 

 

"Sempre" é uma palavra muito forte! É bom acostumar a ter cuidado com o uso das palavras, sobretudo num contexto que não domina (ainda), rs... Por exemplo, inseri 30 e 20 e deu maior 30 e menor 20. Logo, não é sempre. Entende?

 

 

Brincadeira à parte, faça testes de mesa com o trecho que "verifica o maior e menor":

 

9 horas atrás, dimitruf disse:

      se(idade>maior)entao
         maior <- idade
      senao
         menor <- idade
      fimse

 

 

De qualquer forma veja: "quando um número não é maior que o maior, automaticamente e passa a ser o menor?". Não né!

 

 

  • Curtir 1
Postado

@Simon Viegas

var
//Dados do pesquisado
peso, altura, percM, PercF, mediaI, mediaPM, mediaPF,somaPM, somaPF  : real
idade, qtdM, qtdF, somaIdade, totalP, maior, menor: inteiro
sexo, cor_olhos, cor_cabelo, pesquisa : caractere
inicio
// Seção de Comandos
totalP <- 0
peso <-0
altura<-0
percM<-0
PercF<-0
mediaI<-0
idade<-0
repita
   limpatela
   totalP <- totalP + 1
   escreval("Digite seu peso: ")
   leia(peso)
   escreval("Digite sua altura: ")
   leia(altura)
   escreval("Digite sua idade: ")
   leia(idade)
   repita
      escreval("Digite seu sexo M/F: ")
      leia(sexo)
      se (sexo <> "M") e (sexo <> "F") entao
         escreval("Sexo incorreto, regedite")
      fimse
   ate (sexo = "M") ou (sexo = "F")
   repita
      escreval("Digite a letra da cor do seus olhos: ")
      leia(cor_olhos)
      se (cor_olhos <> "A") e (cor_olhos <> "V") e (cor_olhos <> "C") entao
         escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
      fimSe
   ate (cor_olhos = "A") ou (cor_olhos = "V") ou (cor_olhos = "C")
   repita
      escreval("Digite a letra cor dos seus cabelos: ")
      leia(cor_cabelo)
      se (cor_cabelo <> "L") e (cor_cabelo <> "P") e (cor_cabelo <> "C") entao
         escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
      fimSe
   ate (cor_cabelo = "L") ou (cor_cabelo = "P") ou (cor_cabelo = "C")

   somaPM <- somaPM + peso
   somaPF <- somaPF + peso
   somaIdade <- somaIdade + idade
   se (sexo = "M") entao
      qtdM <- qtdM + 1
      somaPM <- somaPM + 1
   fimse
   se (sexo = "F") entao
      qtdF <- qtdF + 1
      somaPF <- somaPF + 1
   fimSe

   se(idade>maior)entao
      maior <- idade
   fimse
   se(idade<menor)entao
      menor <- idade
   fimse

   mediaPM <- somaPM / qtdM
   mediaPF <- somaPF / qtdF
   mediaI <- somaIdade / totalP

   percM <- qtdM/totalP*100
   percF <- qtdF/totalP*100

   se(totalP=1)entao
      maior<-idade
      menor<-idade
   fimse
   escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
   leia(pesquisa)


ate (pesquisa = "N")
limpatela

escreval("Total de pessoas pesquisadas   : ", totalP)
escreval("Total de homens pesquisados    : ", qtdM, " (", percM:1, "%)")
escreval("Total de mulheres pesquisadas  : ", qtdF, " (", percF:1, "%)")
escreval("Média de idade dos pesquisados : ", mediaI)
escreval("A idade mais velha encontrada  : ", maior)
escreval("A idade mais nova encontrada   : ", menor)
escreval("A media dos pesos masculinos   : ", mediaPM)
escreval("A media dos pesos femeninos    : ", mediaPF)

 

 

 

image.thumb.png.8773fb1578da1d8daabfa2dd5a6ee563.png

adicionado 16 minutos depois

@Simon Viegas

totalP <- 0
peso <-0
altura<-0
percM<-0
PercF<-0
mediaI<-0
mediaPM<-0
mediaPF<-0
somaPM<-0
somaPF<-0
idade<-0
repita
   totalP <- totalP + 1
   escreval("Digite seu peso: ")
   leia(peso)
   escreval("Digite sua altura: ")
   leia(altura)
   escreval("Digite sua idade: ")
   leia(idade)
   repita
      escreval("Digite seu sexo M/F: ")
      leia(sexo)
      se (sexo <> "M") e (sexo <> "F") entao
         escreval("Sexo incorreto, regedite")
      fimse
   ate (sexo = "M") ou (sexo = "F")
   repita
      escreval("Digite a letra da cor do seus olhos: ")
      leia(cor_olhos)
      se (cor_olhos <> "A") e (cor_olhos <> "V") e (cor_olhos <> "C") entao
         escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
      fimSe
   ate (cor_olhos = "A") ou (cor_olhos = "V") ou (cor_olhos = "C")
   repita
      escreval("Digite a letra cor dos seus cabelos: ")
      leia(cor_cabelo)
      se (cor_cabelo <> "L") e (cor_cabelo <> "P") e (cor_cabelo <> "C") entao
         escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
      fimSe
   ate (cor_cabelo = "L") ou (cor_cabelo = "P") ou (cor_cabelo = "C")

   somaPM <- somaPM + peso
   somaPF <- somaPF + peso
   somaIdade <- somaIdade + idade
   se (sexo = "M") entao
      qtdM <- qtdM + 1
      somaPM <- somaPM + 1
   fimse
      se (sexo = "F") entao
         qtdF <- qtdF + 1
         somaPF <- somaPF + 1
      fimSe

   se(idade>maior)entao
      maior <- idade
   fimse
   se(idade<menor)entao
      menor <- idade
   fimse

//mediaPM <- somaPM / qtdM
//mediaPF <- somaPF / qtdF
mediaI <- somaIdade / totalP

percM <- qtdM/totalP*100
percF <- qtdF/totalP*100

se(totalP=1)entao
  maior<-idade
  menor<-idade
  fimse
   escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
   leia(pesquisa)


ate (pesquisa = "N")
limpatela

escreval("Total de pessoas pesquisadas   : ", totalP)
escreval("Total de homens pesquisados    : ", qtdM, " (", percM:1, "%)")
escreval("Total de mulheres pesquisadas  : ", qtdF, " (", percF:1, "%)")
escreval("Média de idade dos pesquisados : ", mediaI)
escreval("A idade mais velha encontrada  : ", maior)
escreval("A idade mais nova encontrada   : ", menor)
escreval("A media dos pesos masculinos   : ", mediaPM)
escreval("A media dos pesos femeninos    : ", mediaPF)

 

E nesse aqui os pesos estão zerando.

  • Curtir 1
  • Membro VIP
Postado
11 horas atrás, dimitruf disse:

image.thumb.png.8773fb1578da1d8daabfa2dd5a6ee563.png

 

Está acusando erro por tentativa de divisão por zero (é matematicamente impossível OU é indeterminado. Ambos os caso o computador não sabe como resolver). Nesse contexto, pode ocorrer do denominador de fato ser zero (não ter alguma mulher ou homem)... logo, antes da divisão, seria necessário verificar o denominado. Algo como:

"se denominador é diferente de zero então"
   "faça a divisão"
"senão"
   "quociente igual a zero"

 

No aguardo.

 

 

12 horas atrás, dimitruf disse:

E nesse aqui os pesos estão zerando.

 

Oras! se não está calculando, como iria dar outro valor? 

 

 

 

Obs.: o calculo das médias e dos percentuais são feitos após o laço de repetição, pois os cálculos só precisam ser feitos uma vez.

 

 

Postado

@Simon Viegas

var
peso, altura, percM, PercF, mediaI, mediaPM, mediaPF, somaPM, somaPF : real
idade, qtdM, qtdF, somaIdade, totalP, maior, menor : inteiro
sexo, cor_olhos, cor_cabelo, pesquisa : caractere
inicio
idade <- 0
mediaPF <- 0
mediaPM <- 0
peso <- 0
totalP <- 0
repita
   limpatela
   totalP <- totalP + 1
   escreval("Digite seu peso: ")
   leia(peso)
   escreval("Digite sua altura: ")
   leia(altura)
   escreval("Digite sua idade: ")
   leia(idade)
   repita
      escreval("Digite seu sexo M/F: ")
      leia(sexo)
      se (sexo <> "M") e (sexo <> "F") entao
         escreval("Sexo incorreto, regedite")
      fimse
   ate (sexo = "M") ou (sexo = "F")
   repita
      escreval("Digite a letra da cor do seus olhos: ")
      leia(cor_olhos)
      se (cor_olhos <> "A") e (cor_olhos <> "V") e (cor_olhos <> "C") entao
         escreval("Cor dos olhos incorreta, siglas válidas: A, V ou C")
      fimSe
   ate (cor_olhos = "A") ou (cor_olhos = "V") ou (cor_olhos = "C")
   repita
      escreval("Digite a letra cor dos seus cabelos: ")
      leia(cor_cabelo)
      se (cor_cabelo <> "L") e (cor_cabelo <> "P") e (cor_cabelo <> "C") entao
         escreval("Cor do cabelo incorreta, siglas válidas: L, P ou C")
      fimSe
   ate (cor_cabelo = "L") ou (cor_cabelo = "P") ou (cor_cabelo = "C")


   somaIdade <- somaIdade + idade
   se (sexo = "M") entao
      qtdM <- qtdM + 1
      somaPM <- peso + 0
   senao
      se (sexo = "F") entao
         qtdF <- qtdF + 1
         somaPF <- peso + 0
      fimSe
   fimSe
   se(idade>maior)entao
      maior <- idade
   senao
      se (idade<menor)entao
         menor <- idade
      fimse
   fimse

   escreval("Deseja fazer mais uma pesquisa? Digite N para não ou S para sim")
   leia(pesquisa)
ate (pesquisa = "N")

mediaPM <- somaPM / qtdM
mediaPF <- somaPF / qtdF
mediaI <- somaIdade / totalP

percM <- qtdM/totalP*100
percF <- qtdF/totalP*100

escreval("Total de pessoas pesquisadas   : ", totalP)
escreval("Total de homens pesquisados    : ", qtdM, " (", percM:1, "%)")
escreval("Total de mulheres pesquisadas  : ", qtdF, " (", percF:1, "%)")
escreval("Média de idade dos pesquisados : ", mediaI)
escreval("A idade mais velha encontrada  : ", maior)
escreval("A idade mais nova encontrada   : ", menor)
escreval("A media dos pesos masculinos   : ", mediaPM)
escreval("A media dos pesos femininos    : ", mediaPF)


fimalgoritmo

 

Consegui fazer dos pesos, porém idade menor não entendi muito bem e continua zerando

Em 26/04/2019 às 14:59, dimitruf disse:

Total de pessoas por cor de cabelo e o seu percentual (%) (homens e mulheres juntos)

 Total de pessoas por cor dos olhos e o seu percentual (%) (homens e mulheres juntos)

Determine a quantidade de indivíduos do sexo feminino e masculino maiores de idade e que tenham olhos Verdes e cabelos Pretos. (homens e mulheres juntos)

E não consegui fazer está parte aqui

  • Membro VIP
Postado

Olá.

  1. A soma dos pesos masculinos e a soma dos pesos feminino estão erradas, conseguintemente as médias tenderão a dar errado também;
  2. Para verificar a menor idade, a variável menor precisa em algum momento ser inicializada. Temos duas opções: inicializar com um valor alto (ex.: 999); ou inicializar com o primeiro valor (preferível).
  3. O "bug" da divisão por zero não foi tratada.
adicionado 14 minutos depois
9 horas atrás, dimitruf disse:
Em 26/04/2019 às 14:59, dimitruf disse:

Total de pessoas por cor de cabelo e o seu percentual (%) (homens e mulheres juntos)

 Total de pessoas por cor dos olhos e o seu percentual (%) (homens e mulheres juntos)

Determine a quantidade de indivíduos do sexo feminino e masculino maiores de idade e que tenham olhos Verdes e cabelos Pretos. (homens e mulheres juntos)

E não consegui fazer está parte aqui

 

É a mesma coisa:

  1. Ver a cor do cabelo, e vai contando. Terá o total da cor; o percentual é igual a "total da cor de cabelo/total de cabelos*100";
  2. Olhos idem;
  3. Verifica se a idade é maior ou igual a 18 E se a cor dos olhos é verde E se a cor do cabelo é preto... e vai contando.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!