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

Uma ajuda nos codigos de If ... then...else


Guest --Robson --

Pergunta

Guest --Robson --

Olá pessoal, fiz um programa basico, para que possa apresentar a media de peso e altura de duas pessoas, mas dessas duas que seja maior de 1.80 m e 100 kg para mostrar a media:

Mas é em pascal o programinha, mas como em delphi é parecido e eu só quero sobre o if e o else

Então seria assim aqui foi feito com 10 variaveis e eu queria fazer com no minimo 3 variaveis e no maximo 4 variaveis, mas ai como eu fazeria na condição, como poderia resolver isso.

program MediaPesoAltura;
uses crt;
var
   peso1, peso2 : Real;
   altura1, altura2 : Real;
   somaPeso, somaAltura : Real;
   qtdePeso, QtdeAltura : Integer;
   mediaPeso, mediaAltura : Real;
begin
    clrscr;

     Write ('1 Altura : '); readln (altura1);
     Write ('1 Peso : '); readln (peso1);
     Write ('2 Altura : '); readln (altura2);
     Write ('2 Peso : '); readln (peso2);

     qtdePeso := 0;
     qtdeAltura := 0;
     mediaPeso := 0;
     mediaAltura := 0;

     If (Altura1 > 1.80) then
        begin
           somaPeso := somaPeso + peso1;
           QtdePeso := QtdePeso + 1;
        end;
     If (Altura2 > 1.80) then
        begin
           somaPeso := somaPeso + peso2;
           QtdePeso := QtdePeso + 1;
        end;
     If (Peso1 > 100) then
        begin
           somaAltura := somaAltura + altura1;
           qtdeAltura := qtdeAltura + 1;
        end;
     If (Peso2 > 100) then
        begin
           somaAltura := somaAltura + altura2;
           qtdeAltura := qtdeAltura + 1;
        end;

     MediaAltura := somaAltura / qtdeAltura;
     MediaPeso := somaPeso / qtdePeso;
     Writeln ('A media de peso : ', mediaPeso:0:2);
     Writeln ('A media de Altura : ', MediaAltura:0:2);

  ReadKey;

end.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Mas é em pascal o programinha, mas como em delphi é parecido e eu só quero sobre o if e o else
Robson, além de não tratar-se de Delphi, acho que seu problema está mais para Lógica de Programação ou mesmo Outras Linguagens de Programação - temos sessões específicas para isso.

Então seria assim aqui foi feito com 10 variaveis e eu queria fazer com no minimo 3 variaveis e no maximo 4 variaveis, mas ai como eu fazeria na condição, como poderia resolver isso.
Isto está meios estranho não?!

Aqui foi feito com 2 variáveis!

Mas eu daria como dica, o uso de um vetor (array) com a quantidade de itens a serem lidos, sendo que cada item deste vetor seria composto por um registro (record) com os atributos Peso e Altura.

Bastaria então, um loop para a leitura dos dados e outro para o tratamento do if, cálculo e display dos dados.

Estou movendo para a sessão Lógica de Programação, onde acredito você tenha um suporte melhor sobre a questão.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Estava olhando melhor o que você colocou em seu post e acho que viajei na minha sugestão anterior. Acredito que algo como o que está abaixo resulta no que você precisa: processar n items mantendo o esquema do if:

program MediaPesoAltura;
uses crt;

var
  IdxPessoa,
  QtdPessoas :integer;
  Altura, Peso : Real;
  somaPeso, somaAltura : Real;
  qtdePeso, QtdeAltura : Integer;
  mediaPeso, mediaAltura : Real;
begin
  qtdePeso := 0;
  qtdeAltura := 0;
  mediaPeso := 0;
  mediaAltura := 0;

  clrscr;
  Write ('Quantidade de pessoas a processar: '); readln (QtdPessoas);
  for IdxPessoa := 1 to QtdPessoas do
  begin
    Write (IdxPessoa, ' Altura : '); readln (Altura);
    Write (IdxPessoa, ' Peso : '); readln (Peso);

    If (Altura > 1.80) then
    begin
       somaPeso := somaPeso + Peso;
       QtdePeso := QtdePeso + 1;
    end;
    If (Peso > 100) then
    begin
      somaAltura := somaAltura + Altura;
      qtdeAltura := qtdeAltura + 1;
    end;
  end;

  MediaAltura := somaAltura / qtdeAltura;
  MediaPeso := somaPeso / qtdePeso;
  Writeln ('A media de peso : ', mediaPeso:0:2);
  Writeln ('A media de Altura : ', MediaAltura:0:2);

  ReadKey;
end.

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...