Lazarus

Solo disponible en BuenasTareas
  • Páginas : 11 (2613 palabras )
  • Descarga(s) : 7
  • Publicado : 23 de agosto de 2010
Leer documento completo
Vista previa del texto
CURSOS: PROGRAMACION II TEMA: METODOS DE ORDENAMIENTO DESCRIPCION: Estudio y desarrollo de los métodos de ordenamiento por burbuja, selección e inserción, empleado diseño de clases con interfaces de ventanas en lazarus, aplicando el ordenamiento a vectores de tipo numérico. OBJETIVO: Analizar los métodos de ordenamiento por burbuja, selección e inserción, con el correspondiente diseño eImplementación de las clases necesarias para realizar el ordenamiento de vectores numéricos integradas interfaz de usuario con ventanas. PALABRAS CLAVES: Estructuras de datos, métodos de ordenamientos, arreglos, condicionales, ciclos anidados, unidades, componentes, inspector de propiedades, proyectos o aplicaciones lazarus.

Métodos de Ordenamiento Muchas veces es necesario además de buscar elementosdentro de en un vector, ordenarlos. Este ordenamiento puede ser de mayor a menor si estamos manejando números y en orden alfabético si se trata de nombres o caracteres. Existe una gran variedad de métodos de ordenamiento que nos permiten organizar con rapidez los elementos que se encuentran dentro de un vector o archivo. La elección de un determinado método de ordenamiento depende de el tamaño delvector que se desea ordenar. Entre los métodos de ordenamiento mas populares encontramos: Burbuja, Intercambio, selección, shell, quick-sort, etc. Para entender el concepto de los métodos de ordenamiento en este documento desarrollaremos un ejercicio, en donde se implementan tres de los métodos mencionados para ordenar un vector de números enteros. Método de ordenamiento por Burbuja: Este métodoconsiste en comparar los elementos del arreglo que se encuentran en posiciones adyacentes empezando desde la primera posición y llegando hasta el final del arreglo. La comparación dependerá si estamos ordenando el arreglo en forma ascendente o descendente. Para el caso de ordenamiento ascendente (de menor a mayor) se compara cada elemento con el que le sigue inmediatamente usando el operador mayorque (>). Si el elemento de la posición de la izquierda es mayor que el elemento de la posición que le sigue a su derecha, entonces los dos elementos están mal ubicados y procedemos a intercambiarlos de posición. El proceso empieza entonces comparando los elementos de la posiciones 1 y 2 del vector, haciendo el intercambio si es preciso. Luego se comparan los elementos de las posiciones 2 y 3 y seprocede de igual manera.

Seguidamente se comparan los elementos de las posiciones restantes del vector y se realiza el intercambio si es necesario. Se continua así hasta comparar los elementos de las ultimas dos posiciones. Al llegar a este punto resulta que el valor mayor del arreglo quedara ubicado en la última posición del mismo, es decir estará en su posición correcta. El proceso se repitede nuevo iniciando otra vez desde la posición 1 del vector, pero teniendo en cuenta que como ya acomodamos en la posición correcta el mayor elemento, la ultima comparación que se hará será entre los elementos de las posiciones penúltima y antepenúltima. Es decir, que reducimos en uno el número de comparaciones hechas para acomodar el primer elemento. Implementación del método que intercambia loselementos de dos posiciones del vector, este método se utilizara para mostrar la implementación de los otros dos métodos de ordenamiento:
procedure TOrdenamientos.cambiar(p1, p2: integer); var temp:integer; begin temp:=vector[p1]; vector[p1]:=vector[p2]; vector[p2]:=temp; end;

Implementación del método de ordenamiento Burbuja, este método compara elementos de la forma j,j+1. Es decir comparados posiciones seguidas o continuas del vector:
procedure TOrdenamientos.ordenarBurbuja; //Para implementar el ordenamiento burbuja utilizamos dos ciclos, por esta razón utilizamos dos //variables para controlar los ciclos que comparan e intercambia elementos. var //Variables que controlan los ciclos que recorren el vector para comparar e intercambiar los elementos. i,j:integer; begin for i:=1 to...
tracking img