Ir para conteúdo
Fórum Script Brasil
  • 0

algoritmo


Guest nego drama

Pergunta

Guest nego drama

ola pessoal boa, tarde é minha primeira postagem aqui nesse forum, e gostaria muito da ajuda de vocês,

tenho que Construi um algoritmo que leia um conjunto de dados contendo altura e sexo (MAS ou FEM) de N pessoas e

calcule e escreva:

- a maior e a menor altura do grupo e de quem é esta altura. ( Se HOMEM ou MULHER.)

eu acho q chegeui perto o problema é se colocar a menor altura por primeiro, ele vai atribuir tanto para os homens quanto paras a mulheres, help

var

cont, i, n : inteiro

altura: real

mai_alt_hom, mai_alt_mul, men_alt_hom, men_alt_mul : real

sexo : caracter

inicio

Escreva ("quantidade de pessoas: ")

leia (n)

escreva ("qual altura: ")

leia (altura)

Escreva ("sexo: ")

leia (sexo)

mai_alt_mul := altura

mai_alt_hom := altura

men_alt_hom := altura

men_alt_mul := altura

cont := 1

para i:= 1 ate n faca

se (sexo = "fem") então

se (mai_alt_mul > altura)então

mai_alt_mul := altura

fimse

fimse

se (sexo = "fem") então

se (men_alt_mul > altura)então

men_alt_mul := altura

fimse

fimse

se (sexo = "mas") então

se (mai_alt_hom < altura) então

mai_alt_hom := altura

fimse

fimse

se (sexo = "mas") então

se (men_alt_hom > altura) então

men_alt_hom := altura

fimse

fimse

escreva ("qual altura: ")

leia (altura)

Escreva ("sexo: ")

leia (sexo)

se (sexo = "fem") então

se (mai_alt_mul < altura)então

mai_alt_mul := altura

fimse

fimse

se (sexo = "fem") então

se (men_alt_mul > altura)então

men_alt_mul := altura

fimse

fimse

se (sexo = "mas") então

se (mai_alt_hom < altura) então

mai_alt_hom := altura

fimse

fimse

se (sexo = "mas") então

se (men_alt_hom > altura) então

men_alt_hom := altura

fimse

fimse

fimpara

fimalgoritmo

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olha cara, o desenvolvimento do algoritmo você tem que fazer mesmo, senão você não aprende. Tem que queimar a mufa rsrsrs.

Nesse caso eu faria diferente algumas coisas. Não usaria o "para", não sei se foi exigência do seu professor usar, mas eu particularmente prefiro usar o "enquanto".

Não sei também se já aprendeu sobre funções, mas elas são ótimas pra fragmentar e deixar mais limpo seu código e mais visível a lógica.

Exemplo:

Variáveis:
altura, maiorAlt, menorAlt <- 0 :tipo real
sexMaiorAlt, sexMenorAlt, sexo, continua: tipo caractér

Função calculaTudo(tipo real,  tipo caractér) :Retorno nenhum

continua <-'s'
sexMaiorAlt <- ''
sexMenorAlt <- ''
sexo <- ''
               
      Enquanto (continua=='s') faça

      Escreva("Digite sua altura: (Use pontos ao invés de vírgulas!)")
      Leia(altura)

      Escreva("\nDigite seu sexo:")
      Leia(sexo)

            se (maiorAlt==0) faça
            maiorAlt <- altura
            sexMaiorAlt <- sexo
            fim se

            se (menorAlt==0) faça
            menorAlt <- altura
            sexMenorAlt <- sexo
            fim se

      calculaTudo(altura, sexo)

      Escreva ("\n\nDeseja continuar? (s ou n)")
      Leia(continua)
fim Enquanto

Esse é o design que eu pensei pra esse problema, tentei ser o mais didático possível...

O calculaTudo seria uma função que testaria os maiores e menores valores e o sexo deles, assim como eu fiz nos dois primeiros ifs que iniciam as variáveis...

Agora a função é por sua conta...90% do problema você já tinha solucionado...só que aquele bando de código dificulta um pouco o raciocínio. Se não aprendeu função, basta colocar as operaçoes direto no corpo do código onde eu botei a chamada da função calculaTudo.

No final você terá 4 variáveis carregando as informações que deseja.

Abraço o/

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

velho, quem dera se eu tivessi um professor estou estudando sozinho apostilas e foruns,

pra lhe dizer aqui onde moro ninguém saiba nada sobre linguagem di programassao, imagine ter professor

encontrar maior e menor eu sei encontrar.

quero encontrar a maior e menor idade entre o homem e uma mulher

porque se você reparou no meu algoritmo, si eu digitar a menor idade por

primeiro tanto ela vai atribuir ao homem quando a mulher.

mesmo assim muito obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0
ola pessoal boa, tarde é minha primeira postagem aqui nesse forum, e gostaria muito da ajuda de vocês,

tenho que Construi um algoritmo que leia um conjunto de dados contendo altura e sexo (MAS ou FEM) de N pessoas e

calcule e escreva:

- a maior e a menor altura do grupo e de quem é esta altura. ( Se HOMEM ou MULHER.)

eu acho q chegeui perto o problema é se colocar a menor altura por primeiro, ele vai atribuir tanto para os homens quanto paras a mulheres, help

Oi, 'nego drama' !

Quando desenvolvemos um algorítimo devemos divid-i-lo em tres blocos, sempre que possível.

Inicialização

corpo

e finalização

Na inicialização nós declaramos as variáveis e as inicializamos apropriadamente.

No corpo, desenvolvemos nosso código conforme o problema que temos pela frente.

Na finalização, apresentamos os totais (as respostas do que nos foi solicitado.

No código abaixo (seu código melhorado para facilitar esta explicação) a iicialização vai da linha "var" até alinha "leia(n)"

O corpo, da linha "enquanto i <= n faça' até a linha "fim de enquanto" e a finalização da linha "Escreva ("sexo: Masculino")"

até a linha "fimalgoritmo"

No corpo também dividi em 3 blocos, que são leitura, processamento e incrementação

a leitura vai de da linha "altura := 0" até a linha "leia (sexo)" o processamento, que é onde fazemos as perguntas e efetuamos os cálculos, vai da linha "se (sexo = "fem") então" até a linha "fimse" antes da linha "i := i + 1"

e a incrementação é alinha "i := i + 1" (é nesta linha que controlamos o laço do corpo)

Abaixo está seu código corrigido. Ele pode ser melhorado mas para seu entendimento inicial, já está bom.

Se houver dúvidas seja chato. PERGUNTE.

var
   cont, i, n : inteiro
   altura: real
   mai_alt_hom, mai_alt_mul, men_alt_hom, men_alt_mul : real
   sexo : caracter
inicio
   mai_alt_mul := 0
   mai_alt_hom := 0
   men_alt_hom := 0
   men_alt_mul := 0
   n := 0
   i := 1;
   Escreva ("quantidade de pessoas: ")
   leia (n)
   enquanto i <= n faça
      altura := 0
      sexo := "";
      escreva ("qual altura: ")
      leia (altura)
      Escreva ("sexo: ")
      leia (sexo)
      se (sexo = "fem") então
         se (altura > mai_alt_mul)então
            mai_alt_mul := altura
         fimse
         se (altura  < men_alt_mul)então
            men_alt_mul := altura
         fimse
      fimse
      se (sexo = "mas") então
         se (altura > mai_alt_hom) então
            mai_alt_hom := altura
         fimse
         se (altura < men_alt_hom) então
            men_alt_hom := altura
         fimse
      fimse
      i := i + 1
   fim de enquanto
   Escreva ("sexo: Masculino")
   Escreva ("Maior altura = ")
   Escreva (mai_alt_hom)
   Escreva ("Menor altura = ")
   Escreva (men_alt_hom)
   Escreva ("sexo: Feminino")
   Escreva ("Maior altura = ")
   Escreva (mai_alt_mul)
   Escreva ("Menor altura = ")
   Escreva (men_alt_mul)
fimalgoritmo

Um Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest NEGO DRAMA

galera estou postando a resposta se caso alguém tiver a mesma dulvida

e o que eu faço pra o codebox dessi forum funcionar

var

cont, i, n : inteiro

media_mul, soma, altura: real

total_mul, total_hom : inteiro

mai_alt_hom, mai_alt_mul, men_alt_hom, men_alt_mul : real

df_percent, porcen_mulher, porcen_homem : real

sexo : caracter

inicio

Escreva ("quantidade de pessoas: ")

leia (n)

escreva ("qual altura: ")

leia (altura)

Escreva ("sexo: ")

leia (sexo)

mai_alt_mul := 0.0

men_alt_hom := 100

mai_alt_hom := 0.0

men_alt_mul := 100

cont := 1

total_hom := 0

total_mul := 0

se (sexo = "fem") então

se (mai_alt_mul < altura)então

mai_alt_mul := altura

fimse

total_mul := total_mul + 1

soma := soma + altura

fimse

se (sexo = "fem") então

se (men_alt_mul > altura)então

men_alt_mul := altura

fimse

fimse

se (sexo = "mas") então

se (mai_alt_hom < altura) então

mai_alt_hom := altura

fimse

total_hom := total_hom + 1

fimse

se (sexo = "mas") então

se (men_alt_hom > altura) então

men_alt_hom := altura

fimse

fimse

para i:= 1 ate n -1 faca

escreva ("qual altura: ")

leia (altura)

Escreva ("sexo: ")

leia (sexo)

se (sexo = "fem") então

se (mai_alt_mul < altura)então

mai_alt_mul := altura

fimse

total_mul := total_mul + 1

soma := soma + altura

fimse

se (sexo = "fem") então

se (men_alt_mul > altura)então

men_alt_mul := altura

fimse

fimse

se (sexo = "mas") então

se (mai_alt_hom < altura) então

mai_alt_hom := altura

fimse

total_hom := total_hom + 1

fimse

se (sexo = "mas") então

se (men_alt_hom > altura) então

men_alt_hom := altura

fimse

fimse

fimpara

se (mai_alt_mul > mai_alt_hom) então

escreva ("A maior altura é de: ", mai_alt_mul, ". e pertence ao grupo das mulheres", ". ")

senao

escreva ("A maior altura é de: ", mai_alt_hom, ". e pertence ao grupo ds homens", ". ")

fimse

se (men_alt_mul < men_alt_hom)então

escreva ("A menor altura é de: ", men_alt_mul, ". e pertence ao grupo das mulheres", ". ")

senao

escreva ("A menor altura é de: ",men_alt_hom, ". e pertence ao grupo ds homens", ". ")

fimse

media_mul:= soma / total_mul

escreva ("média de altura entre as mulheres: ",media_mul,". ")

escreva ("O número de homens: ", total_hom,". ")

porcen_mulher := (total_mul * 100) / n

porcen_homem := (total_hom * 100) / n

df_percent := (porcen_mulher - porcen_homem)

escreva ("diferença percentual: ", df_percent," para os homene")

fimalgoritmo

Link para o comentário
Compartilhar em outros sites

  • 0

encontrar maior e menor eu sei encontrar.
quero encontrar a maior e menor idade entre o homem e uma mulher
porque se você reparou no meu algoritmo, si eu digitar a menor idade por
primeiro tanto ela vai atribuir ao homem quando a mulher.
mesmo assim muito obrigado.

Ahh velho...me concentrei apenas no seu enunciado:

tenho que Construi um algoritmo que leia um conjunto de dados contendo altura e sexo (MAS ou FEM) de N pessoas e

calcule e escreva:

- a maior e a menor altura do grupo e de quem é esta altura. ( Se HOMEM ou MULHER.)

Não tinha nada de idade...depois de ver seu código final eu vi que na verdade queria a solução de uma parte do problema todo...foi mal :P

Para usar o codebox é só usar bb code:

http://scriptbrasil.com.br/forum/index.php...amp;CODE=bbcode

Akeleabrasssssss

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...