ASIGNATURA: PROGRAMACIÓN I
GRUPO: C REGULAR
1
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
RESUMEN:
separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más
grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños
de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento
por inserción, pero para entonces, ya está garantizado que los datos del vector están casi
ordenados, Este método es una mejora del algoritmo de ordenamiento por Inserción
(Insertsort)
Palabras claves:
ABSTRACT:
Shell sort algorithm improves insertion sort comparing separated by a space of several
positions elements. This allows an element make " bigger steps " towards its expected
position . Multiple passes over the data sizes are made with ever smaller space . The last step
of the Shell sort is a simple insertion sort , but by then , already guaranteed that vector data
are nearly sorted , This method is an improvement of insertion sort algorithm ( Insertsort )
2
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
Tabla de Contenido
3
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
1-. Introducción
acerca de como el simple hecho de producir un "hola mundo" de realizar una vasta suma,
generar una formula general desarrollar una serie operaciones matemáticas crear ciclos que
nos permitan ejecutar cualquier de acción de relacionar nuestra vida diaria con una
computadora, es tan solo un poco de todo el fascinante mundo que nos ofrece la programación
y sus innumerables aplicaciones en casos tan sencillas como en aquellas que ni siquiera se
Todo acto conlleva un proceso, es decir para poder ejecutar algo hay una serie de pasos detrás
de esta acción, los mismos que deben tener un orden lógico. el ordenamiento de datos en
programación es sin duda uno de los cimientos mas importantes que tiene esta rama de la
informática es por eso que se crean algoritmos que ayuden a nuestros programas a ser mas
el diseño de ejemplos claros que demuestran la importancia del mismo, son también los pasos
de un ingenioso proyecto que busca colarse entre una guía para el estudiante universitario
fundamental de este proyecto es que las personas vean que con ingenio y con materiales
simples de consulta se puede crear ideas geniales que no solo nos ayuden a nosotros sino a
4
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
cientos de personas que requieren de esta información , ya que para crear un mundo de
2-. Objetivos
recopilar información acerca del uso de sell sort a través de consultas que ayuden a
desarrollar la investigación.
obtenida.
ejecutar el programa.
5
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
3-. Justificación
separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más
grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños
de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento
por inserción, pero para entonces, ya está garantizado que los datos del vector están casi
ordenados.
6
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
4-.Marco Teórico
escritas para realizar una tarea específica en una computadora.1 este dispositivo requiere
programas para funcionar, por lo general, ejecutando las instrucciones del programa en un
procesador central. el programa tiene un formato ejecutable que la computadora puede utilizar
directamente para ejecutar las instrucciones. el mismo programa en su formato de código fuente
legible para humanos, del cual se derivan los programas ejecutables (por ejemplo,
computadora. este código se escribe en un lenguaje de programación que sigue uno de los
por un compilador y más tarde ejecutado por una unidad central de procesamiento. por otra
7
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
programación
#include <stdio.h>
#include <conio.h>
int main(void)
printf("hola mundo!\n");
getch();
return 0;
programación c
system.out.println("hola mundo!");
8
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
programación java
using system;
class program
console.writeline("hola mundo!");
programación c#
dicha edición de código fuente implica probar, analizar y perfeccionar, y, a veces, coordinar
9
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
está convirtiendo en muy popular, ya que esta actividad es vista como una disciplina de
ingeniería.
programación utilizado para producirlos. dos de los principales paradigmas son imperativos y
declarativos.
tipo de datos. por ejemplo: var x: integer; . una expresión produce un valor. por ejemplo: 2 + 2
produce 4. por último, una declaración puede asignar una expresión a una variable o usar el
valor de una variable para alterar las estructuras de control del programa. por ejemplo: x := 2 +
Los programas escritos en un lenguaje declarativo especifican las propiedades que tienen o
que deben cumplirse para la salida. no especifican detalles expresados en términos de flujo de
control de la máquina de ejecución pero sí de las relaciones matemáticas entre los objetos
declarados y sus propiedades. los lenguajes funcionales y lógicos son dos amplias categorías
de no permitir efectos secundarios, lo que hace que sea más fácil para razonar sobre los
10
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
lógicos (como prolog) es definir el problema a ser resuelto - la meta - y dejar la solución
objetivos. luego, cada sud objetivo se define más arriba, proporcionando la lista de sus sub-
objetivos, etc. si la ruta de sub-objetivos no encuentra una solución, entonces ese sub objetivo
La forma en que se crea el programa puede ser textual o visual. en un programa de lenguaje
visual, los elementos en vez de ser textualmente especificados son manipulados gráficamente
compilado o interpretando
legible por un humano, se lo llama código fuente. dicho código fuente se puede convertir en
intérprete.
por lotes sin intervención humana, pero los programas interpretados le permiten al usuario
escribir comandos en una sesión interactiva. en este caso, los programas son los comandos
cuando se utiliza un lenguaje para dar órdenes a una aplicación de software (como un shell de
11
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
ya sea en código objeto o código máquina.7 el código objeto de objeto necesita procesamiento
como binarios — una referencia al formato de archivo binario utilizado para almacenar el
código ejecutable.
intermedia eficiente para la ejecución futura. basic, perl y python son ejemplos de programas
máquina virtual.
La principal desventaja de los intérpretes es que los programas de computadora corren más
lento que cuando son compilados. la interpretación de código resulta más lenta que la
ejecución de la versión compilada porque el intérprete debe decodificar cada declaración cada
vez que se carga y luego realizar la acción deseada. sin embargo, el desarrollo de software
puede ser más rápido usando un intérprete porque la prueba es inmediata cuando se omite el
paso de la compilación. otra desventaja de los intérpretes es que debe estar presente al menos
12
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
uno en la computadora durante la ejecución del programa de computadora. por el contrario, los
método más popular de ejecución del lenguaje. por ejemplo, basic se considera un lenguaje
cual las secciones de la fuente se compilan 'sobre la marcha' y se almacenan para ejecuciones
normalmente es tratado como algo diferente de los datos con los cuales opera. sin embargo, en
cobol, pl/1 y prolog y javascript (la función eval), entre otros, es posible tener código que se
almacenan en una memoria no volátil (por ejemplo un disco), para que luego el usuario de la
programa es cargado en la memoria de acceso aleatorio o ram del equipo, bajo el control del
procesador ejecuta (corre) el programa, instrucción por instrucción hasta que termina. a un
13
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
ejecución en forma normal o por causa de un error, dicho error puede ser de software o de
hardware.
proceso de arranque es para identificar e inicializar todos los aspectos del sistema, desde los
seguido del proceso de inicialización, este programa inicial carga al sistema operativo e
sus operaciones. el firmware se utiliza cuando se espera que el programa cambie en raras
la configuración, se ejecutaba un botón de ejecución. este proceso era repetitivo. asimismo, los
programación automática es un estilo de programación que crea código fuente mediante clases
tal como un procesador de plantilla o un ide. la forma más simple de un generador de código
se vuelve la entrada de otro proceso informático. podemos pensar como analogía un proceso
manejando a otro siendo el código máquina quemado como combustible. los servidores de
aplicaciones son motores de software que entregan aplicaciones a computadoras cliente. por
ejemplo, un software para wikis es un sevidor de aplicaciones que permite a los usuarios
desarrollar contenido dinámico ensamblado a partir de artículos. las wikis generan html, css,
software o de hardware. los sistemas operativos modernos pueden ejecutar varios programas a
frecuencia la cantidad de procesos del procesador de modo que los usuarios puedan interactuar
con cada programa mientras estos están corriendo.11 también se puede lograr la multitarea por
15
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
medio del hardware; las computadoras modernas que usan varios procesadores o procesadores
con varios núcleos pueden correr muchos programas a la vez. categorías funcionales los
operativo el cual acopla el hardware con el software de aplicación.13 el propósito del sistema
de aplicación que acopla el software de sistema con la interfaz de usuario. también son
software de aplicación los programas utilitarios que ayudan a los usuarios a resolver
programa en ese lenguaje es una colección de clases. por ahora puede pensar en una clase
como una estructura (struct o record) que contiene funciones además de variables. a una
función que pertenece a una clase se la llama un método. lo que conocemos como programa
principal, es decir, por donde comienza a ejecutar un programa, es el método llamado main()
de alguna de las clases. note que esto implica que sólo una de las clases podrá tener definida
un método main()
16
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
note que en el ejemplo del programa hola.java se define la clase holajava con el método
main(). el método main() es de tipo public static void queriendo decir que se puede llamar a la
función desde fuera de la clase, que solo habra una instancia de la función y que no devolverá
valor. pronto veremos qué quiere decir esto además de ejemplos más complicados.
java fué diseñado con el objetivo principal de ser exportable a través de redes y ejecutado
en la máquina local. esto casi necesariamente implica que, por motivos de seguridad y
portabilidad, el lenguaje deba correrse por un intérprete y que nunca haga acceso directo a los
ejercicio determine cual será el producto de este programa y luego ejecútelo para verificar su
predicción.
class ej2f{ // los nombres de las clases suelen comenzar con mayuscula
system.out.println(x);
system.out.println(this.x);
system.out.println(y);
system.out.println(this.y);
return x + this.x + y;
17
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
//============================================================
system.out.println(objetillo.funcioncita(3));
de v. pratt produce una implementación con un rendimiento de o(n log2 n) en el peor caso. esto
es mejor que las o(n2) comparaciones requeridas por algoritmos simples pero peor que el
óptimo o(n log n). aunque es fácil desarrollar un sentido intuitivo de cómo funciona este
18
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
el shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos
observaciones:
2. el ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo
separados por un espacio de varias posiciones. esto permite que un elemento haga "pasos más
grandes" hacia su posición esperada. los pasos múltiples sobre los datos se hacen con tamaños
de espacio cada vez más pequeños. el último paso del shell sort es un simple ordenamiento por
inserción, pero para entonces, ya está garantizado que los datos del vector están casi
ordenados.
19
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
5-.Marco Práctico
El shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos
ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una
posición cada vez. el algoritmo shell sort mejora el ordenamiento por inserción comparando
elementos separados por un espacio de varias posiciones. esto permite que un elemento haga
"pasos más grandes" hacia su posición esperada. los pasos múltiples sobre los datos se hacen
con tamaños de espacio cada vez más pequeños. el último paso del shell sort es un simple
ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector
20
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
incremento. después de que los primeros k subgrupos han sido ordenados (generalmente
nuevo partido entre el nuevo conjunto de subgrupos. cada uno de los subgrupos mayores es
valor de k llega a ser 1, de tal manera que el subgrupo consiste de todo el arreglo ya casi
último valor debe ser 1. "es como hacer un ordenamiento de burbuja pero comparando e
pasan a formar parte del subgrupo y se aplica inserción directa. el método se basa en tomar
como salto n/2 (siendo n el número de elementos) y luego se va reduciendo a la mitad en cada
posicióna la vez.
6-.concluciones
tipo de trabajos.
sell sort es una herramienta que busca que los programadores vean opciones claras al
se comprueban que además de los otros algoritmos de ordenamiento sell sort resulta
22
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
7-. Recomendaciones
recomendar a los usuarios que utilicen este tipo de programación ya que es mas
sencillo de programar a comparación de los demás métodos como lo son el quink sort,
Otra recomendación para los usuarios es que con el método del sell sort podemos
entender de mejor manera de como hacer una ordenación dentro de un arreglo de datos
Por ultimo nuestro equipo de trabajo recomienda este método de ordenación para
aquellos usuarios que no han entendido claramente de ordenar ya sea objetos o tipos de
datos dentro de un arreglo ya que con este método se ahorraría un poco de tiempo y se
23
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales
8-.BIBLIOGRAFIA
http://iutprogramacion.blogspot.com/2013/02/metodos-de-ordenamiento.html
http://www.galeon.com/estructuras/4CUARTO.ht
https://www.youtube.com/watch?v=gd7DT-4jjzQ
https://www.google.com.bo/search?q=concluciones+e+ordenamiento+de+vectores&aq=f&oq=
concluciones+e+ordenamiento+de+vectores&aqs=chrome.0.57.24937&sourceid=chrome&ie=
UTF-8#q=conclusiones+metodos+de+ordenamiento+de+vectores+en+java
http://mis-algoritmos.com/
https://es.wikipedia.org/wiki/Ordenamiento_Shell
http://es.slideshare.net/lalo088/metodos-de-ordenamiento-9582841
http://ejerciciosresueltosdecsharp.blogspot.com/2014/04/metodo-de-ordenamiento-shell-sort-
en-c-sharp.html
https://www.google.com.bo/search?q=conclusiones+metodos+de+ordenamiento+de+vectores
+en+java&biw=1024&bih=677&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjbqJONt4TNAh
UBXh4KHetrAkoQ_AUIBygC#imgrc=pB73RFCxdsp0IM%3A
24
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo