Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kaleu50

To com um problema em criar esse algoritmo

Recommended Posts

Eu tenho que fazer um algoritmo que leia 3 variáveis numéricas e as coloque em ordem crescente com apenas 3 "se"ou "if" nem um "ou" e um "senao". (dica que o prof. deu: nem sempre o "leia" precisa ta na ordem com o "se" pode vir antes ou depois) O problema e que não consigo nem a pau, ainda to no começo do curso de técnico em Informatica o professor passou isso já perguntei até pra pessoas que tem faculdade de ciências da computação e não sabem. Mas meu professor disse que dá e a gente tem que fazer. detalhe precisa ser um visuALG eu até achei aqui mesmo um

program OrdemCrescenteProcedure;

procedure Trocar(var x,y:real);
..var aux:real
..begin  aux:=x; x:=y; y:=aux;  end;

var
..a,b,c, aux :real; {variaveis do programa}

begin
..{ler os valores}
..writeln('Digite o valor de "a", "b" e "c");
..readln(a,b,c)

..{ordenar valores (crescente de valor)}
..if a>b then Trocar(a,B);
..if b>c then Trocar(b,c);
..if a>b then Trocar(a,B);

..{exibir valores}
..writeln;
..writeln(' Valore em ordem: ',a,', ',b,', ',c);
..readln; {para dar um "pause" antes de encerrar}
end.

 

 

mas nao sei tranferir pro visual g

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Kaleu

 

Amigo eu respondi um tópico igual o seu a uns cinco dias atrás, do Dimas Albuquerque, se você olhar no forum na parte em que ficam todas as postagens você vai ver ele uns 3 ou 4 tópicos a baixo do seu.

 

Seria interessante você tentar resolver e depois postar teu código com os erros pra você aprender.

Segue o link, dá uma olhada qualquer duvida pode perguntar:

http://forum.imasters.com.br/topic/460301-ler-tres-valores-e-apresenta-los-em-ordem-crescente/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei uma olhada no seu tópico e vi que você utilizou variável auxiliar não entendi muito bem mas se puder explicar.

 

Esse eh meu código eu ainda to no começo do curso e noa consegui pensa muito bem

 

 

// Função :
// Autor :
// Data : 27/03/2012
// Seção de Declarações
var
a,b,c:real
inicio
escreva ("Digite um numero: ")
leia (a)
escreva ("Digite outro numero: ")
leia (B)
escreva ("Digite mais um numero: ")
se (a<b)entao
  leia (c)
  se (b<c) entao
     escreva(a,b,c)
  fimse
fimse
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou usar o mesmo código que usei no outro post e ir explicando você vai ver que é bem simples:

 

var
aux, a, b, c : INTEIRO
inicio
leia (a)
leia (B)
leia (c)

Aqui declarei as três variáveis que receberão os valores e a variável auxiliar que já te explico pra que serve.

Logo depois leio os tres valores, vamos supor que foi digitado

a: 3

b: 2

c: 1

 

se (a > B) entao
  aux <- a
  a <- b
  b <- aux
fimse

A primeira condição verifica se a > b se for (no nosso caso é), ele vai trocar os valores de a com b

Se eu apenas substituir:

a <- b (a valia 3 agora vale 2)

b <- a (b valia 2 recebeu o valor de a que tambem é 2, b continua valendo 2 e ainda perdemos o valor de a que era 3)

 

Portanto usamos a variável aux para receber um valor, para que possamos trocar os outros dois sem sobrescrever e sem perder nenhum dos dois valores:

aux <- a (aux agora vale 3)

a <- b (a valia 3 agora vale 2)

b <- aux (b valia 2 agora vale 3)

portanto a=2 e b=3, porem c=1 é menor que a e menor que b;

 

se (a > c) entao
  aux <- a
  a <- c
  c <- aux
fimse

usamos o mesmo processo para trocar os valores entre a e c com ajuda da variável aux.

aux <- a (aux agora vale 2)

a <- c (a valia 2 agora vale 1)

c <- aux (c valia 1 agora vale 2)

Temos então a=1 e c=2;

 

b ainda é maior que c portanto usaremos o 3º 'se' para trocar os valores de b com c

 

se (b > c) entao
  aux <- b
  b <- c
  c <- aux
fimse
escreva (a, b, c)

b=3 c=2

aux <- b (aux agora vale 3)

b <- c (b valia 3 agora vale 2)

c <- aux (c valia 2 agora vale 3)

Por fim temos a=1 b=2 c=3 em ordem crescente.

 

Para facilitar a compreensão você pode pegar um papel e jogar valores para as 3 variáveis e ir executando o código no papel mesmo, você vai entender melhor como o programa funciona.

Qualquer dúvida só postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai mano eu entendi e é uma coisa que el tinha passado na primeira aula ja sabia que usava uma outra variavel so nao sabia como mas vlww cara entendi de boa e já ate fiz o meu algoritmo

 

Ai mano eu entendi e é uma coisa que el tinha passado na primeira aula ja sabia que usava uma outra variavel so nao sabia como mas vlww cara entendi de boa e já ate fiz o meu algoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.