Ir para conteúdo

Arquivado

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

rogerss_7

Bugs Algoritmo

Recommended Posts

Fala gente.

 

Venho trazendo uma novidade pra vocês, tcharã;;; é nada mais, nda menos que um bug pra vocês me ajudarem a resolver, que presente heim.

 

Há alguns dias postei aqui uma dúvida de como resolver um algorítmo de 4 números que resultasse na ordem crescente, só na base do se e senão, queria agradecer ao brilhantíssemo Jonatan Diego que me ajudou nesta correria.

 

É um algorítmo pra Embap (q coisa heim) as vezes ele consegue ordenar direitinho, mas tem horas que ele dá uns pau muito doido, talvez seja alguma condição errada. Gostaria da ajuda de vocês. Vlw novamente.

 

variaveisnumerico n1, n2, n3, n4inicioler n1escrever "Número 1 vale: ", n1ler n2escrever "Número 2 vale: ", n2ler n3escrever "Número 3 vale: ", n3ler n4escrever "Número 4 vale: ", n4	escrever " "	escrever "Resultado final abaixo:"			se (n1 < n2) e (n1 < n3) e (n1 < n4) entao		escrever n1, " - " ,n2 " - " ,n3 " - " ,n4	senao	se (n1 < n2) e (n1 < n4) e (n1 < n3) entao		escrever n1, " - " ,n2, " - " ,n4, " - " ,n3	senao	se (n1 < n3) e (n1 < n2) e (n1 < n4) entao		escrever n1, " - " ,n3, " - " ,n2, " - " ,n4	senao	se (n1 < n4) e (n1 < n2) e (n1 < n3) entao		escrever n1, " - " ,n4, " - " ,n2, " - " ,n3	senao	se (n1 < n3) e (n1 < n4) e (n1 < n2) entao		escrever n1, " - " ,n3, " - " ,n4, " - " ,n2	senao	se (n1 < n4) e (n1 < n3) e (n1 < n2) entao		escrever n1, " - " ,n4, " - " ,n3, " - " ,n2	senao	se (n2 < n1) e (n2 < n3) e (n2 < n4) entao		escrever n2, " - " ,n1, " - " ,n3, " - " ,n4	senao	se (n2 < n1) e (n2 < n4) e (n2 < n3) entao		escrever n2, " - " ,n1, " - " ,n4, " - " ,n3	senao	se (n2 < n3) e (n2 < n1) e (n2 < n4) entao		escrever n2, " - " ,n3, " - " ,n1, " - " ,n4	senao	se (n2 < n4) e (n2 < n1) e (n2 < n3) entao		escrever n2, " - " ,n4, " - " ,n1, " - " ,n3	senao	se (n2 < n3) e (n2 < n4) e (n2 < n1) entao		escrever n2, " - " ,n3, " - " ,n4, " - " ,n1	senao	se (n2 < n4) e (n2 < n3) e (n2 < n1) entao		escrever n2, " - " ,n4, " - " ,n3, " - " ,n1	senao	se (n3 < n2) e (n3 < n1) e (n3 < n4) entao		escrever n3, " - " ,n2, " - " ,n1, " - " ,n4	senao	se (n3 < n2) e (n3 < n4) e (n3 < n1) entao		escrever n3, " - " ,n2, " - " ,n4, " - " ,n1	senao	se (n3 < n1) e (n3 < n2) e (n3 < n4) entao		escrever n3, " - " ,n1, " - " ,n2, " - " ,n4	senao	se (n3 < n4) e (n3 < n2) e (n3 < n1) entao		escrever n3, " - " ,n4, " - " ,n2, " - " ,n1	senao	se (n3 < n1) e (n3 < n4) e (n3 < n2) entao		escrever n3, " - " ,n1, " - " ,n4, " - " ,n2	senao	se (n3 < n4) e (n3 < n1) e (n3 < n2) entao		escrever n3, " - " ,n4, " - " ,n1, " - " ,n2	senao	se (n4 < n2) e (n4 < n1) e (n4 < n3) entao		escrever n4, " - " ,n2, " - " ,n1, " - " ,n3	senao	se (n4 < n2) e (n4 < n3) e (n4 < n1) entao		escrever n4, " - " ,n2, " - " ,n3, " - " ,n1	senao	se (n4 < n1) e (n4 < n2) e (n4 < n3) entao		escrever n4, " - " ,n1, " - " ,n2, " - " ,n3	senao	se (n4 < n3) e (n4 < n2) e (n4 < n1) entao		escrever n4, " - " ,n3, " - " ,n2, " - " ,n1	senao	se (n4 < n1) e (n4 < n3) e (n4 < n2) entao		escrever n4, " - " ,n1, " - " ,n3, " - " ,n2	senao	se (n4 < n3) e (n4 < n1) e (n4 < n2) entao		escrever n4, " - " ,n3, " - " ,n1, " - " ,n2			fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_se	fim_sefim

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, vlw por responder, em que sentido tu fala diminuir? este algoritmo eu só posso desenvolver no Se e Senão, poderia criar vetores e tal mas não posso, se tu souber de algo interessante pra diminuir nesta regra por favor me fala.abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, vlw por responder, em que sentido tu fala diminuir? este algoritmo eu só posso desenvolver no Se e Senão, poderia criar vetores e tal mas não posso, se tu souber de algo interessante pra diminuir nesta regra por favor me fala.

Ah cara, me desculpe, achei que poderia ser feita de outra forma...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou bom, como você sabe, na área de programação, cada programador pensa de um jeito, cada um tem sua lógica...A sua ai ficou boa, andei lendo suas condições, vou traduzir sua lógica para o pascal pra ver se ele roda direitinho mesmo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw pela força.... obrigado mesmo.... na verdade acho que não tem como fazer de outro jeito sem dar todas as possibilidades de combinações.... vlw

você está equivocado amigo! Como eu já disse a você, cada programador tem uma lógica, na sala da faculdade, quando o professor manda fazer um sistema, cada aluno faz um sistema diferente, porém, o resultado de cada sistema foca no mesmo resultado...Para provar isso a você, fiz aqui em pascal esse sisteminha que você queria fazer, ele ira colocar os números de forma decrescente, mais isso é só mudar a forma se você quiser crescente, isso é muito fácil... Eu poderia ter colocado um contador perguntando quantos números você queria comparar, ao invés de só quatro, poderia colocar quantos quiser, era só digitar numa pergunta do computador, quantos números deseja, mais não coloquei isso pois seu problema não é infinito de números e sim comparação entre 4 números...Cole este código no pascal e compile, você vai achar legal o que ele fará, repare que minha lógica é totalmente diferente da sua, não tem nada haver uma com a outra...
Program Maior_menor;  var n1,n2,n3,n4, res1, res2,res3,res4: integer; Begin   writeln('Digite o numero 1');   readln(n1);   writeln('Digite o numero 2');   readln(n2);   writeln('Digite o numero 3');   readln(n3);   writeln('Digite o numero 4');   readln(n4);      if n1 > n2 then	 begin	   res1:=n1;	   res2:=n2;	 end   else	 begin	  res1:=n2;	  res2:=n1;	end;   if n3 > n4 then	 begin	  res3:=n3;	  res4:=n4;	end   else	 begin	  res3:=n4;	  res4:=n3;	end;   if (res1 > res3) and (res3 > res2) then	  begin  	   if res2 > res4 then		 begin		   writeln('A sequência de maior pra menor dos números digitados é:');		   writeln(res1,', ',res3,', ',res2,', ',res4);		 end	   else		 begin		   writeln('A sequência de maior pra menor dos números digitados é:');		   writeln(res1,', ',res3,', ',res4,', ',res2);		 end;  	 end;	   	if (res1 > res3) and (res3 < res2) then	  begin	   writeln('A sequência de maior pra menor dos números digitados é:');	   writeln(res1,', ',res2,', ',res3,', ',res4);	 end;	if (res1 < res3) and (res1 > res4) then	 				 	 begin  	   if res2 > res4 then		 begin		   writeln('A sequência de maior pra menor dos números digitados é:');		   writeln(res3,', ',res1,', ',res2,', ',res4);		 end	   else		 begin		   writeln('A sequência de maior pra menor dos números digitados é:');		   writeln(res3,', ',res1,', ',res4,', ',res2);		 end;  	 end;	if (res3 > res1) and (res1 < res4) then	  begin	   writeln('A sequência de maior pra menor dos números digitados é:');	   writeln(res3,', ',res4,', ',res1,', ',res2);	 end;			  End.

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.