Metodos de ordenamiento

Páginas: 9 (2234 palabras) Publicado: 26 de febrero de 2011
Republica Bolivariana De Venezuela
Ministerio Del Poder Popular Para La Educacion Superior
Universidada Alejandro De Humboldt
Catedra: Programacion Numerica y no Numerica
Seccion: BQM0404II

METODOS DE ORDENAMIENTO

Integrantes:
Soline Habichian C.I 20.604.303
Bernardo Conde C.I 18.467. 820

Cs, 12/04/2010
Método Burbuja

El método burbuja es un método paraordenar valores de un arreglo unidimencional en algún orden específico, el método realiza esto cambiando el orden de los valores de una forma directa entre ellos, es decir, compara un número con su sucesor, si están en el orden equivocado los intercambia y pasa al siguiente número y repite esto hasta que compare todos los números de la matriz, una vez que concluyó este procedimiento, se vuelvena comparar los números de la misma forma, con la excepción de que ahora no llega hasta al final de los números (n) sino hasta su antecesor (n-1). Esto se repite tantas veces sea necesario hasta que solo se comparen los dos primeros números (que por el mismo algoritmo, siempre será n-1 veces).

program burbuja;
uses
crt,dos;
type
arreglo=array[1..15] of integer;
var
arre:arreglo;a,b,c:integer;
begin
clrscr;
arre[1]:= 15;
arre[2]:= 10;
arre[3]:= 3;
arre[4]:= 14;
arre[5]:= 2;
arre[6]:= 5;
arre[7]:= 8;
arre[8]:= 9;
arre[9]:= 7;
arre[10]:= 11;
arre[11]:= 12;
arre[12]:= 4;
arre[13]:= 13;
arre[14]:= 1;
arre[15]:= 6;
for a:= 2 to 15 do
begin
for b:= 15 downto2 do
begin
if arre[b] < arre[b-1] then
begin
c:=arre[b-1];
arre[b-1]:=arre[b];
arre[b]:=c;
end;
end;
end;
for b:=1 to 15 do
begin
writeln('A:= ',arre[b]);
end;
readln;
end.

Para explicar las líneas de código, tomaremos sólo la parte del procedimiento del método como tal, asumiendo que yatenemos las variables declaradas y los valores asignados (de la misma forma como ya está en el código de arriba).
:
for a:= 2 to 15 do {un for desde 2 hasta 15, comienza en 2 por la regla de que las comparaciones
deben hacerse n-1 veces, más especificamente
porque más adelante trabajamos con la
variable “arre[b-1]”, comenzando en 2
tenemos aseguradoque esta variable siempre
tendrá valor, a diferencia, si comenzamos en 1
la variable “arre[b-1]” puede tomar la
posición del arreglo “arre[0]” la cual no
existe, y el for llega hasta 15
por ser el valor total de números del
arreglo (n)}

begin {comienza el primer for}

for b:= 15 downto 2 do {segundo for, este es decreciente y comienzaen 15 y deciende hasta
2, por lo mismo que el for anterior}

begin {comienza el segundo for}

if arre[b] < arre[b-1] then {un condicional que compara el
valor de un número del arreglo con
su antecesor, en este caso compara
si es menor o no}

begin {comienza el procedimiento si el condicional if resultó serpositivo}

c:=arre[b-1]; {asigna a una variable auxiliar
“c” el valor de “arre[b-1]” para
iniciar el intercambio de valores}

arre[b-1]:=arre[b]; {le asigna a “arre[b-1]” el valor de “arre[b]” para poner ambos
valores en el orden deseado,
en este momento ambas variables
“arre[b]” y “arre[b-1]” tienen el
mismo valor}arre[b]:=c; {se le asigna a “arre[b]” el valor que estaba guardado en la variable
auxiliar “c” para así terminar con
el intercambio de valores entre
las dos variables}

end; {fin del condicional}

end; {fin del segundo for}

end; {fin del primer for}

La corrida en frío,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodos de ordenamiento
  • MÉTODOS DE ORDENAMIENTO
  • Métodos De Ordenamiento
  • Métodos de ordenamiento
  • Metodos de ordenamiento
  • Metodos De Ordenamiento
  • Métodos De Ordenamiento
  • Metodos de ordenamiento

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS