Jump to content
Fórum Script Brasil
  • 0

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


Martinsrj
 Share

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...