1) Un arreglo unidimensional es una colección ordenada de datos del mismo tipo que permite almacenar múltiples elementos bajo un único identificador. 2) Los arreglos permiten realizar operaciones como ordenar, buscar, insertar, eliminar y modificar los datos almacenados. 3) Existen diferentes algoritmos para ordenar arreglos como la selección directa, ordenación por burbuja y ordenación por mezcla.
Copyright:
Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descargue como PDF, TXT o lea en línea desde Scribd
100%(2)100% encontró este documento útil (2 votos)
3K vistas21 páginas
1) Un arreglo unidimensional es una colección ordenada de datos del mismo tipo que permite almacenar múltiples elementos bajo un único identificador. 2) Los arreglos permiten realizar operaciones como ordenar, buscar, insertar, eliminar y modificar los datos almacenados. 3) Existen diferentes algoritmos para ordenar arreglos como la selección directa, ordenación por burbuja y ordenación por mezcla.
1) Un arreglo unidimensional es una colección ordenada de datos del mismo tipo que permite almacenar múltiples elementos bajo un único identificador. 2) Los arreglos permiten realizar operaciones como ordenar, buscar, insertar, eliminar y modificar los datos almacenados. 3) Existen diferentes algoritmos para ordenar arreglos como la selección directa, ordenación por burbuja y ordenación por mezcla.
Copyright:
Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
100%(2)100% encontró este documento útil (2 votos)
1) Un arreglo unidimensional es una colección ordenada de datos del mismo tipo que permite almacenar múltiples elementos bajo un único identificador. 2) Los arreglos permiten realizar operaciones como ordenar, buscar, insertar, eliminar y modificar los datos almacenados. 3) Existen diferentes algoritmos para ordenar arreglos como la selección directa, ordenación por burbuja y ordenación por mezcla.
Copyright:
Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 21
ARREGLOS UNIDIMENSIONALES (VECTORES)
Un arreglo unidimensional es un tipo de datos estructurado que est formado por
una coleccin finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Los datos que se guarden en los arreglos todos deben ser del mismo tipo. El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un ndice para cada elemento del arreglo que nos da su posicin relativa. Para implementar arreglos unidimensionales se debe reservar espacio en memoria. Los arreglos nos permiten hacer un conjunto de operaciones para manipular los datos guardados en ellos, estas operaciones son: ordenar, buscar, insertar, eliminar, modificar entre otras. Declaracin: tipo nombre_arreglo[tamao]; Donde - tipo, declara el tipo base del arreglo, que es el tipo de cada elemento del mismo nombre_arreglo, es el nombre del arreglo. tamao, es el nro. de elementos del arreglo. Ejemplo: int lista[10]; //declara un arreglo lista con 10 elementos de tipo int. Los elementos del arreglo lista del ejemplo serian: lista[0] = 34 primer elemento del arreglo lista[1] = 15 segundo elemento del arreglo .. lista[9] = 18 ltimo elemento del arreglo OPERACIONES CON ARREGLOS Las operaciones en arreglos pueden clasificarse de la siguiente forma: Lectura: este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes Escritura: Consiste en asignarle un valor a cada elemento del arreglo. Asignacin: No es posible asignar directamente un valor a todo el arreglo Actualizacin: Dentro de esta operacin se encuentran las operaciones de eliminar, insertar y modificar datos. Para realizar este tipo de operaciones se debe tomar en cuenta si el arreglo est o no ordenado. Ordenacin. Bsqueda. Insertar. Borrar. Modificar. ORDENACIONES EN ARREGLOS La importancia de mantener nuestros arreglos ordenados radica en que es mucho ms rpido tener acceso a un dato en un arreglo ordenado que en uno desordenado. Existen muchos algoritmos para la ordenacin de elementos en arreglos, algunos de ellos son: Seleccin directa Este mtodo consiste en seleccionar el elemento ms pequeo de nuestra lista para colocarlo al inicio y as excluirlo de la lista. Para ahorrar espacio, siempre que vayamos a colocar un elemento en su posicin correcta lo intercambiaremos por aquel que la est ocupando en ese momento. Ordenacin por burbuja Es el mtodo de ordenacin ms utilizado por su fcil comprensin y programacin, pero es importante sealar que es el ms ineficiente de todos los mtodos. Este mtodo consiste en llevar los elementos menores a la izquierda del arreglo los mayores a la derecha del mismo. La idea bsica del algoritmo es comparar pares de elementos adyacentes e intercambiarlos entre s hasta que todos se encuentren ordenados. Ordenacin por mezcla Este algoritmo consiste en partir el arreglo por la mitad, ordenar la mitad izquierda, ordenar la mitad derecha y mezclar las dos mitades ordenadas en un array ordenado. Este ltimo paso consiste en ir comparando pares sucesivos de elementos (uno de cada mitad) y poniendo el valor ms pequeo en el siguiente hueco. Algoritmos de bsqueda que existen Bsquedas en Arreglos: Una bsqueda es el proceso mediante el cual podemos localizar un elemento con un valor especfico dentro de un conjunto de datos. Terminamos con xito la bsqueda cuando el elemento es encontrado. Bsqueda secuencial: A este mtodo tambin se le conoce como bsqueda lineal y consiste en empezar al inicio del conjunto de elementos, e ir a travs de ellos hasta encontrar el elemento indicado hasta llegar al final de arreglo. Este es el mtodo de bsqueda ms lento, pero si nuestro arreglo se encuentra completamente desordenado es el nico que nos podr ayudar a encontrar el dato que buscamos. Bsqueda binaria: Las condiciones que debe cumplir el arreglo para poder usar bsqueda binaria son que el arreglo este ordenado y que se conozca el numero de elementos. Este mtodo consiste en lo siguiente: comparar el elemento buscado con el elemento situado en la mitad del arreglo, si tenemos suerte y los dos valores coinciden, en ese momento la bsqueda termina. Pero como existe un alto porcentaje de que esto no ocurra, repetiremos los pasos anteriores en la mitad inferior del arreglo si el elemento que buscamos resulto menor que el de la mitad del arreglo, o en la mitad superior si el elemento buscado fue mayor. La bsqueda termina cuando encontramos el elemento o cuando el tamao del arreglo a examinar sea cero. Bsqueda por hash: La idea principal de este mtodo consiste en aplicar una funcin que traduce el valor del elemento buscado en un rango de direcciones relativas. Una desventaja importante de este mtodo es que puede ocasionar colisiones. ARREGLOS UNIMENSIONALES EN J AVA Definicin. Es una coleccin de datos del mismo tipo. Sirve para manejar un nmero n de elementos en comn, ya sea de tipos definidos por el Lenguaje, (int, float, String, etc.) as como aquellos definidos por el programador. Los arreglos en J ava son dinmicos, pero no extensibles, lo cual significa que deben ser creados con el tamao que tendrn hasta el final de su vida. Caractersticas: Son de tipos de datos complejos (en el sentido de que no son atmicos). arreglo. con el tamao que tendrn hasta el final de su vida. o del arreglo - 1. -1]. os arrays se crean con el operador new seguido del tipo y nmero de elementos. Declaracin de un arreglo. La sintaxis de declaracin de arreglos en J ava es: <tipo> [] <nombre> Para declarar, por ejemplo, un arreglo de nmeros enteros utilizaremos la siguiente sentencia: int[] arrInt; El arreglo an no ha sido creado, sino meramente declarado. Para crear el arreglo (reservar su memoria e inicializarlo) deberemos recurrir al operador new: arrInt = new int[10]; El tipo de datos del arreglo (int[] en este caso) es una clase y cada una de sus instancias debe ser creada explcitamente, el tamao puede pensarse como un parmetro al constructor de la clase. A partir de este momento se puedeutilizar arrInt como un arreglo de cualquier otro lenguaje. Una de las caractersticas que hacen de J ava un entorno de programacin seguro, y que se relaciona con el manejo de los arreglos es que el lenguaje no permite la indexacin de arreglos fuera de rango, o sea, una asignacin de este tipo generar una excepcin: ArrInt[25] = 1; O tambin se puede declarar de la siguiente forma: tipo nombre_array[]=new tipo[n]; tipo nombre_array[]={valores}; Tamao de un arreglo. J ava considera cada arreglo como un solo objeto. El nmero de elementos de un arreglo se conoce accediendo al campo length double [] v = new double [15] System.out.printl(v.length); //escribe 15 El campo length est protegido, no se puede modificar. Inicializando el arreglo. 1. Los arrays se pueden inicializar con valores entre llaves {...} separados por comas. 2. Tambin los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves {} 3. Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres, apuntando al mismo y nico objeto. 4. Creacin de una referencia a un array, se puede hacer de dos maneras: double[] x; //preferible double x[]; 5. Creacin del array con el operador new x = new double[100]; 6. Las lneas 4 y 5 se pueden unir en una sola: double[]x = new double[100]; ARREGLOS UNIDIMENSIONALES EN PSEINT Los arreglos son estructura de datos homogneas (todos los datos son del mismo tipo) que permiten almacenar un determinado nmero de datos bajo un mismo identificador, para luego referirse a los mismos utilizando sus posiciones. Los arreglos pueden pensarse como vectores, matrices, etc. Para crear un arreglo en PSeInt se utiliza la palabra clave Dimension, seguido del nombre del arreglo (identificador) y su tamao entre corchetes []. Sintaxis: Dimension identificador [tamao]; En PSeInt los arreglos pueden comenzar desde cero o uno. Depende de cmo se configure el programa. Arreglos en base cero Para empezar a programar nuestros algoritmos con arreglos en base cero, vamos al men configurar y escogemos Opciones del lenguaje, nos saldr un cuadro como este: Seleccionamos el perfil <personalizado> y hacemos clic en el botn Personalizar Saldr el siguiente cuadro: Marcamos la casilla: Utilizar arreglos en base cero y presionamos aceptar. De esta manera ya queda configurado el programa para utilizar arreglos en base cero. Para comprender mejor el concepto de arreglos se realizar una serie de ejemplos. Ejemplo 1: Crear un arreglo llamado num que almacene los siguientes datos: 20, 14, 8, 0, 5, 19 y 24. Salida: Representacin grafica del anterior ejemplo: Al utilizar arreglos en base cero los elementos validos van de 0 a n-1, donde n es el tamao del arreglo. En el ejemplo 1 las posiciones del arreglo num entonces van desde 0 a 7-1, es decir de 0 a 6. Los ciclos, tambin conocidos como bucles o estructuras de control repetitivas, juegan un papel muy importante en los arreglos. En el anterior ejemplo, imprimimos los datos a travs de siete mensajes, una tarea que lleva cierto tiempo y ms cuando la cantidad de datos son demasiados, por eso para facilitar el proceso, utilizamos un ciclo Para y as mostrar todos los datos con un slo mensaje. Ejemplo 2: El ciclo Para nos ahorra la tarea de escribir los siete mensajes que muestran los siete datos pedidos inicialmente. Podemos ver que la salida es la misma: Pero no solo podemos imprimir los datos del arreglo con un ciclo, tambin podemos llenar con datos los arreglos con el ciclo Para. Ejemplo 3: Crear un arreglo de 5 posiciones y llnelo con los nmeros que el usuario desee. Salida: Como se puede apreciar en la salida, los nmeros ingresados por el usuario son: 10, 20, 30, 40, 50. Hemos visto arreglos con datos numricos, pero tambin se le pueden llenar con datos de tipo cadenas de texto. Ejemplo 4: Crear un arreglo de n posiciones y llenarlo con nombres de personas. Salida: En este ejemplo el usuario eligi 3 posiciones, llenando el arreglo con los siguientes nombres: Humberto, Rodrigo y Roberto. Arreglos en base 1 Comienzan desde 1 hasta n, donde n es el tamao del arreglo. Para programar sus algoritmos en base 1 recuerde tener desmarcada la casilla: Ejemplo 5: Crear un arreglo de n posiciones y llenarlo con los nmeros que el usuario desee. En el ciclo Para la variable ya no comienza con cero sino con uno y va hasta n. Salida: Consideraciones: No importa con que base trabajemos en los arreglos: uno o cero, siempre obtendremos los mismos resultados de forma eficiente, pero recomiendo al estudiante trabajar en PSeInt con arreglos en base cero ya que a la hora de aprender un lenguaje de programacin como por ejemplo J ava, los arreglos siempre van a comenzar desde cero. Tambin podemos definir uno o ms arreglos en una misma instruccin separndolos con una coma. Ejemplo 6: Crear dos arreglos uno que almacene 2 nombres y otro que almacene 3 nmeros. Salida: EJERCICIOS RESUELTOS CON ARREGLOS 1. Sumar todos los elementos de un arreglo de tamao n. Para sumar los elementos de un vector debemos usar un acumulador inicializado en cero. Salida: 2. Sumar los elementos de dos vectores y guardar el resultado en otro vector. Salida: 3. Llenar un vector de 10 posiciones con nmeros aleatorios entre 1 y 100. Para los nmeros aleatorios PSeInt utiliza la funcin Azar, sta escoge un entero aleatorio entre 0 y x-1. Salida: De esta manera cada vez que ejecutemos el algoritmo arrojar distintos nmeros. 4. Llenar un vector con nmeros enteros (nmeros positivos negativos). Mostrar la cantidad de nmeros positivos que hay en dicho arreglo. Salida: 5. Almacene en un arreglo de n posiciones nombres de pases. Implementar una opcin que al digitar una