Ir ao conteúdo

Posts recomendados

Postado

olá pessoal, estou em duvida de como montar um código. Preciso criar um código que receba altura e sexo de 10 pessoas, e depois imprimir na tela a menor altura feminina e a menor altura masculina. Alguém poderia me ajudar por favor?

  • Obrigado 1
Postado

@NinjaDoBairro    no visualG o comando para ler o teclado é "leia" e ele é usado para receber  os dados provenientes do teclado ,  e depois use o comando "se" / "fimse"  e "senao"  para fazer comparações e depois que você tiver feito um código sobre esse exercício poste aqui e ajudaremos  .

  • Curtir 1
  • Membro VIP
Postado

@NinjaDoBairro, segue um esboço inicial:

 

algoritmo "Maior e Menor alturas"
//Criar um código que receba altura e sexo de 10 pessoas, e depois imprimir na
//tela a menor altura feminina e a menor altura masculina.
var
   altura : real
   sexo : caractere
   maiorAlturaFeminina : real
   menorAlturaMasculina : real

inicio
   escreval("Altura : ")
   leia(altura)
   escrevaL("Sexo : ")
   leia(sexo)




fimAlgoritmo

 


Daí, vá entendendo o problema e vá ajustando o código aos poucos. Por exemplo, tente pegar primeiro apenas o maior.
 

Caso já tenha feito algo, poste o teu código completo e onde está com dúvidas... Caso queira se basear pelo código acima, vá fazendo os ajustes... mas tente fazer algo.

 

No aguardo.

  • Curtir 1
Postado

olá, seria por esse caminho: ?

Algoritmo "menortamanho"
Var

   altura, menorAltFeminina, menorAltMasculina : real
   sexo : caractere
   x, m, f : inteiro

Inicio

   para x de 1 até 10 faca
      escreval("Digite a altura: ")
      leia(altura)
      escreval("Digite o sexo M - Masculino / F - Feminino")
      leia(sexo)
      
      escolha sexo
      caso "M"
         m <- m+1
      caso "F"
         f <- f+1
      outrocaso
         escreval("O sexo so pode ser M para masculico ou F para feminino")
      fimescolha
   fimpara


 //testando a contagem
   escreval("Masculino: ",m)
   escreval("Feminino: ",f)


Fimalgoritmo

 

  • Obrigado 1
Postado

Eu teria que adicionar no caso?:

se sexo="M" entao
         menorAltMasculina <- altura
      senao
         menorAltFeminina <- altura
      fimse

mas acaba imprimindo o ultimo tamanho de cada sexo, o que eu posso fazer pra imprimir o menor tamanho?

  • Amei 1
Postado

@NinjaDoBairro    no início do programa precisa inicializar as variáveis , para os valores ideais e esperados  , assim depois de pegar só a primeira altura   adicione esse valor nas menores alturas  masc e fem   , e nas seguintes não , para depois fazer a comparação e decidir a menor mesmo até o final  e poderia ser assim  :

// Aqui antes desse loop o valor de todas as suas variaveis é zero
para x de 1 até 10 faca
  escreval("Digite a altura: ")
  leia(altura)
  escreval("Digite o sexo M - Masculino / F - Feminino")
  leia(sexo)
  se x = 1 entao
    menor_alt_masc := altura
    menor_alt_fem  := altura
  fimse
  escolha sexo
  caso "M"
    m <- m+1
    se menor_alt_masc >  altura entao
       menor_alt_masc := altura
    fimse
  caso "F"
    f <- f+1
  outrocaso
    escreval("O sexo so pode ser M para masculico ou F para feminino")
  fimescolha
fimpara

 

  • Curtir 1
Postado

Certo, eu consegui fazer o código mas tem uma coisa que quebra ele. Se o primeiro tamanho digitado for menor que todos os outros tamanhos, no escreva(menorAltMasculina) e (menorAltFeminina) fica preenchida com o menor tamanho digitado na primeira pergunta de "qual é o tamanho da pessoa". Como eu poderia corrigir isso? na memória da variável, as variaveis menoralturafem e menoralturamasc ficam preenchida com o menor valor caso ele seja digitado na primeira pergunta. Agora se após a primeira altura eu digitar alguma menor que ela para o sexo masculino, o código da certo.

 

 

EVIDENCIA.png

  • Amei 1
Postado

@NinjaDoBairro @NinjaDoBairro       poste seu código Atrual ,   e veja que esse trecho que postei só tem comparação no caso de masculino ,  então precisa fazer comparação também nesse caso de ser opção F , e outra coisa é que não importa  se foi a primeira ou segunda ou última altura inserida , mas sim a que seja a menor , como pede o enunciado .

  • Curtir 1
Postado

Eu também inclui a comparação no feminino, mas está acontecendo o problema que mencionei: 

 


//coloquei de 1 até 6 apenas para ficar mais curto os testes

   
para x de 1 até 6 faca

      escreval("Digite a altura: ")

      leia(altura)

      escreval("Digite o sexo M - Masculino / F - Feminino")

      leia(sexo)

 

      se x=1 entao

         menorAltMasculina <- altura

         menorAltFeminina <- altura

      fimse

 

      escolha sexo

      caso "M"

         m <- m+1

         se menorAltMasculina>altura entao

            menorAltMasculina <- altura

         fimse

      caso "F"

         f <- f+1

         se menorAltFeminina>altura entao

            menorAltFeminina <- altura

         fimse

      outrocaso

         escreval("O sexo so pode ser M para masculico ou F para feminino")

      fimescolha

 

   fimpara

  • Obrigado 1
Postado
10 horas atrás, NinjaDoBairro disse:

Se o primeiro tamanho digitado for menor que todos os outros tamanhos, no escreva(menorAltMasculina) e (menorAltFeminina) fica preenchida com o menor tamanho digitado na primeira pergunta de "qual é o tamanho da pessoa". Como eu poderia corrigir isso?

   o enunciado pede para escrever  a menor altura , e  ele está mostrando a menor altura .    então não precisa corrigir , pois isso está de acordo ,  pois se a primeira for a menor estará certo .

visualG_0.thumb.png.a4277b13c10ca3a4521ba9e1c40f99e1.png

  • Curtir 1
Postado

Na verdade precisa ser a menor altura do sexo feminino e a menor altura do sexo masculino, e não a menor altura entre os 2 sexos. Se você digitar a menor altura na primeira pergunta, ela fica como menor altura tanto para o feminino quanto para o masculino.

Ex:

primeira altura 1.30

primeiro sexo F

segunda altura 1.45

segundo sexo M

terceira altura 1.55

terceiro sexo M

quarta altura 1.35

quarto sexo F

 

Nesse exemplo a menor altura feminina ficaria 1.30 que até aí estaria certo; porém a menor altura do sexo masculino seria 1.30 também, ao invés de ser 1.45 que seria o certo.

  • Amei 1
Postado

@NinjaDoBairro    testando varias formas consegue resolver e em outras próximas questões  ficará mais fácil  ,  e creio que pode ser assim  :

leia(sexo)
se (sexo = "m") e (m = 0) entao
  menorAltMasculina <- altura
senao
  se (sexo = "f") e (f = 0) entao
    menorAltFeminina  <- altura
  fimse
fimse  

 

  • Obrigado 1

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!