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

Desafio, Tem Como Imprimir O N° Intermediário C/ Apenas 2if ?


Martinsrj

Pergunta

Gostaria de saber e tb dicas de como fazer um programa que leia 3 n° inteiros (suponha que seja todos diferentes) e imprima na tela o intermediários.

Criei uma função e deu certo:

function intermediario (a,b,c: integer): integer;
begin
 if (a<b) and (b<c)
  then intermdiario := b
   else if (a<c) and (c<b)
    then intemediario := c
     else if (b<c) and (c<a)
      then intermediario := a
       else intermediario := b;
end;

A pergunta é o seguinte:

Tem como ter o mesmo resultado utilizando apenas dois ifs?

Desde já agradeço aí pela ajuda no desenvolvimento do racicionio lógico

Abraços.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Logo de cara atribua um dos elementos à variável intermediário, daí você pode remover a condição que testa este elemento. Exemplo:

intermediario := a;

if (a < b) and (b < c) then
    intermediario := b
else if (a < c) and (c < b) then
    intermediario := c;

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Caro Amigo, essa questão ainda é sobre aquele sistema? você pode usar o método Bolha?? pois assim você pode imprimir o maior, o menor, o intermediário e os 3 numeros em ordem crescente e/ou decrescente.

repetir
troca <- 0
para i <- 1 ate 2 faça
inicio
if vetor[i] > vetor[i+1] then
aux <- a
a <- b
b <- a
troca <- 1
fim;
ate troca = 0
aqui eu fiz com que eles ficassem em ordem crescente agora vamos imprimir o maior, menor e intermediário
escreva ('O Menor numero é ',vetor[1])
escreva ('o Numero intermediario é ',vetor[2])
escreva ('o maior numero é ' , vetor[3])

para imprimi-los em forma crescente basta usar um laço para

para i := 1 ate 3 faça

escreva (vetor:3)

para imprimi-los de forma decrescente use o dowto

para i :=3 ate(downto) 1 faça

escreva (vetor:3)

se tiver que usar o if siga as instruções do Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

você fez com vetor, mas ainda não dei na faculdade.

Agradeço aí pela ajuda, mas para que eu possa fazer do seu modo eu preciso aprender o conceito de vetor e tb de array.

Caro Amigo, essa questão ainda é sobre aquele sistema? você pode usar o método Bolha?? pois assim você pode imprimir o maior, o menor, o intermediário e os 3 numeros em ordem crescente e/ou decrescente.

repetir
troca <- 0
para i <- 1 ate 2 faça
inicio
if vetor[i] > vetor[i+1] then
aux <- a
a <- b
b <- a
troca <- 1
fim;
ate troca = 0
aqui eu fiz com que eles ficassem em ordem crescente agora vamos imprimir o maior, menor e intermediário
escreva ('O Menor numero é ',vetor[1])
escreva ('o Numero intermediario é ',vetor[2])
escreva ('o maior numero é ' , vetor[3])

para imprimi-los em forma crescente basta usar um laço para

para i := 1 ate 3 faça

escreva (vetor:3)

para imprimi-los de forma decrescente use o dowto

para i :=3 ate(downto) 1 faça

escreva (vetor:3)

se tiver que usar o if siga as instruções do Graymalkin

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