Guest nego drama Postado Janeiro 29, 2008 Denunciar Share Postado Janeiro 29, 2008 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 ecalcule 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, helpvarcont, i, n : inteiroaltura: realmai_alt_hom, mai_alt_mul, men_alt_hom, men_alt_mul : realsexo : caracterinicioEscreva ("quantidade de pessoas: ")leia (n)escreva ("qual altura: ")leia (altura)Escreva ("sexo: ")leia (sexo)mai_alt_mul := alturamai_alt_hom := alturamen_alt_hom := alturamen_alt_mul := alturacont := 1para 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 fimsefimparafimalgoritmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 30, 2008 Denunciar Share Postado Janeiro 30, 2008 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 EnquantoEsse é 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/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Janeiro 30, 2008 Denunciar Share Postado Janeiro 30, 2008 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 professorencontrar maior e menor eu sei encontrar.quero encontrar a maior e menor idade entre o homem e uma mulherporque 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Janeiro 30, 2008 Denunciar Share Postado Janeiro 30, 2008 você teria que usar um if para ver se é homem ou mulher e guardar na variel desejada tipo alt_m ou alt_h e depois compara qual é a altura maior ou menor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Janeiro 30, 2008 Denunciar Share Postado Janeiro 30, 2008 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 ecalcule 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, helpOi, 'nego drama' !Quando desenvolvemos um algorítimo devemos divid-i-lo em tres blocos, sempre que possível.Inicializaçãocorpoe finalizaçãoNa 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çãoa 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) fimalgoritmoUm Abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest NEGO DRAMA Postado Janeiro 30, 2008 Denunciar Share Postado Janeiro 30, 2008 galera estou postando a resposta se caso alguém tiver a mesma dulvidae o que eu faço pra o codebox dessi forum funcionarvarcont, i, n : inteiromedia_mul, soma, altura: realtotal_mul, total_hom : inteiromai_alt_hom, mai_alt_mul, men_alt_hom, men_alt_mul : realdf_percent, porcen_mulher, porcen_homem : realsexo : caracterinicioEscreva ("quantidade de pessoas: ")leia (n)escreva ("qual altura: ")leia (altura)Escreva ("sexo: ")leia (sexo)mai_alt_mul := 0.0men_alt_hom := 100mai_alt_hom := 0.0men_alt_mul := 100cont := 1total_hom := 0total_mul := 0se (sexo = "fem") então se (mai_alt_mul < altura)então mai_alt_mul := altura fimse total_mul := total_mul + 1 soma := soma + alturafimsese (sexo = "fem") então se (men_alt_mul > altura)então men_alt_mul := altura fimsefimsese (sexo = "mas") então se (mai_alt_hom < altura) então mai_alt_hom := altura fimse total_hom := total_hom + 1fimsese (sexo = "mas") então se (men_alt_hom > altura) então men_alt_hom := altura fimsefimsepara 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 fimsefimparase (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", ". ")fimsese (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", ". ")fimsemedia_mul:= soma / total_mulescreva ("média de altura entre as mulheres: ",media_mul,". ")escreva ("O número de homens: ", total_hom,". ")porcen_mulher := (total_mul * 100) / nporcen_homem := (total_hom * 100) / ndf_percent := (porcen_mulher - porcen_homem)escreva ("diferença percentual: ", df_percent," para os homene")fimalgoritmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 30, 2008 Denunciar Share Postado Janeiro 30, 2008 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 ecalcule 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 :PPara usar o codebox é só usar bb code: http://scriptbrasil.com.br/forum/index.php...amp;CODE=bbcodeAkeleabrasssssss Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --robson -- Postado Janeiro 31, 2008 Denunciar Share Postado Janeiro 31, 2008 VALEU MANO, UM ABRAÇO Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.