Arreglos y Ejercicios de Algoritmos PDF

Title Arreglos y Ejercicios de Algoritmos
Course Taller de computación e informática básica
Institution Universidad Nacional Pedro Ruiz Gallo
Pages 23
File Size 1.5 MB
File Type PDF
Total Downloads 97
Total Views 198

Summary

Los arreglos son los equivalentes en programación de las matrices y vectores de las matemáticas. Precisamente, una gran motivación para usar arreglos es que hay mucha teoría detrás de ellos que puede ser usada en el diseño de algoritmos para resolver problemas verdaderamente interesantes.
Los ...


Description

Arreglos y Ejercicios de Algoritmos Las estructuras de datos (listas, tuplas, diccionarios, conjuntos) permiten manipular datos de manera muy flexible. Combinándolas y anidándolas, es posible organizar información de manera estructurada para representar sistemas del mundo real. En muchas aplicaciones de Ingeniería, por otra parte, más importante que la organización de los datos es la capacidad de hacer muchas operaciones a la vez sobre grandes conjuntos de datos numéricos de manera eficiente. Algunos ejemplos de problemas que requieren manipular grandes secuencias de números son: la predicción del clima, la construcción de edificios, y el análisis de indicadores financieros entre muchos otros. La estructura de datos que sirve para almacenar estas grandes secuencias de números (generalmente de tipo float) es el arreglo. Los arreglos tienen algunas similitudes con las listas:  

los elementos tienen un orden y se pueden acceder mediante su posición, los elementos se pueden recorrer usando un ciclo for.

Sin embargo, también tienen algunas restricciones:   

todos los elementos del arreglo deben tener el mismo tipo, en general, el tamaño del arreglo es fijo (no van creciendo dinámicamente como las listas), se ocupan principalmente para almacenar datos numéricos.

A la vez, los arreglos tienen muchas ventajas por sobre las listas. Los arreglos son los equivalentes en programación de las matrices y vectores de las matemáticas. Precisamente, una gran motivación para usar arreglos es que hay mucha teoría detrás de ellos que puede ser usada en el diseño de algoritmos para resolver problemas verdaderamente interesantes. Los arreglos (arrays) permiten almacenar vectores y matrices. Los arreglos unidimensionales sirven para manejar vectores y los arreglos bidimensionales para matrices. Sin embargo, las matrices también se pueden almacenar mediante arreglos unidimensionales y por medio de apuntadores a apuntadores. La palabra unidimensional no indica que se trata de vectores en espacios de dimensión uno; indica que su manejo se hace mediante un subíndice. El manejo de los arreglos bidimensionales se hace mediante dos subíndices. Ejemplos:

Partes de un Arreglo

    

Nombre: Todo arreglo tiene que tener un nombre para identificarlo. Tipo de Dato: Los arreglos pueden soportar texto, números, fechas, objetos, al crearlos se tiene que indicar su tipo. Índice: Los elementos de un arreglo están en posiciones, a esto se le llama índice. Contenido: El contenido representa el valor que tiene el arreglo en cierta posición. Longitud: Es el tamaño o cantidad de elementos que puede tener el arreglo.

Propiedades de los arreglos  

 

Los arreglos se utilizan como contenedores para almacenar datos relacionados (en vez de declarar variables por separado para cada uno de los elementos del arreglo). Todos los datos incluidos en el arreglo son del mismo tipo. Se pueden crear arreglos de enteros de tipo int o de reales de tipo float, pero en un mismo arreglo no se pueden mezclar datos de tipo int y datos de tipo float. El tamaño del arreglo se establece cuando se crea el arreglo (con el operador new, igual que cualquier otro objeto). A los elementos del arreglo se accederá a través de la posición que ocupan dentro del conjunto de elementos del arreglo.

Ventajas del uso de arreglos 

   



Posibilita el uso de menor cantidad de nombres de variables, dado que con un solo nombre genérico se almacenan N datos, mientras que con el uso de datos simples necesitaríamos N nombres de variables distintas. Menor tamaño del algoritmo cuando se utiliza gran cantidad de variables al mismo tiempo en memoria. A partir de un archivo desordenado, los arreglos permiten generar los mismos datos con un cierto orden. Se tiene todo el conjunto de datos en memoria sin necesidad de acceder al dispositivo. La facilidad de acceso a la información, ya sea a un elemento en particular o a un grupo con ciertas condiciones; y por otro lado los distintos sentidos para el recorrido del mismo, pueden ser desde el inicio al fin o viceversa. Los arreglos permiten el uso de parámetros en la definición del tamaño, con lo cual se logra mayor flexibilidad en los algoritmos

Crear una Arreglo en Java Al crear un arreglo debes indicar que tipo de datos manejará, cuál será su nombre y también podemos indicar que tamaño tiene, es decir, cuantos elementos tiene. Sintaxis: tipo[] nombre = new tipo[tamaño]; Ejemplos:   

int[ ] edades = new int[5]; double[ ] sueldo = new double[15]; String[ ] nombres = new String[100];

Asignar Valores a un Arreglo en JAVA Podemos poner valores a los arreglos elemento por elemento, este proceso se hace para todos los elementos del arreglo o también para modificar sus valores, vea el siguiente código:      

double[ ] precios = new double[6]; precios[0] = 5.66; precios[1] = 63.11; precios[2] = 59.77; precios[3] = 60.38; precios[4] = 80.72; precios[5] = 49.50;

Podemos hacer este proceso también con un bucle, ya que puedes imaginarte el problema que se daría si son 200 elementos.

Obtener Valores de un Arreglo en JAVA Se puede obtener los valores uno a uno, refiriéndonos al nombre e índice, por ejemplo:  

precios[29] /*Hace referencia al elemento que tiene el índice 29 del arreglo.*/ nombre[99] /*Se refiere al elemento de índice 99 que está en el arreglo.*/

Clasificación de Arreglos

Arreglos unidimensionales La sintaxis para declarar e inicializar un array será:

También podemos alternativamente usar esta declaración:

El tipo de variable puede ser cualquiera de los admitidos por Java y que ya hemos explicado. Ejemplos de declaración e inicialización de valores por defecto de arrays usando todos los tipos de variables Java, serían:

Aclarar que los valores por defecto son los siguientes: a) Para números el valor cero “0”. b) Para cadenas y letras el valor vacío. c) Para booleanos el valor false. En caso de que queramos inicializarlos con valores propios, haremos esto: 

Para números enteros

int[ ] edad = {45, 23, 11, 9}; //Array de 4 elementos De la misma forma procederíamos para los otros tipos de enteros: byte, short, long. 

Para números reales

double[ ] estatura = {1.73, 1.67, 1.56}; //Array de 3 elementos De la misma forma procederíamos para el tipo float, pero teniendo en cuenta que los números deberán llevar al final la letra “f”. Por ejemplo 1.73f o 1.73F. 

Para cadenas

String[ ] nombre = {"María", "Gerson"}; //Array de 2 elementos 

Para caracteres

char[ ] sexo = {'m', 'f'}; //Array de 2 elementos 

Para booleanos

boolean[ ] = {true,false}; //Array de 2 elementos Cuando creamos un array de nombre “a” y de dimensión “n” (int[ ] a = new int[n]) estamos creando n variables que son a[0],..., a[n-1]. Los arrays se numeran desde el elemento cero, que sería el primer elemento, hasta el n-1 que sería el último elemento es decir, si tenemos un array de 5 elementos, el primer elemento sería el cero y el último elemento sería el 4. Esto conviene cuenta porque puede dar lugar a alguna confusión. Disponer de un valor con índice cero puede ser de utilidad en situación considerar cada variable asociada a una hora del día, empezando a contar desde la hora cero hasta la 23 (total de 24 horas), con lo habitual en algunos países. En lugar de 1, 2, 3, ..., 24 estaríamos usando 0, 1, 2, ..., 23. 

Declaración de vectores en JAVA Los arreglos ocupan espacio en la memoria. El programador especifica el tipo de los elementos y usa el operador new para asignar espacio de almacenamiento al número de elementos requerido para el arreglo. Entonces para declarar al vector vec de los ejemplos anteriores sería:

Ejemplos: 1. Insertar los primeros 10 números naturales en un vector y posteriormente visualizar los datos del vector

2. Programa para insertar por teclado 10 datos en un vector y posteriormente visualizar los datos.

3. Programa para insertar las notas de 5 alumnos en un vector notas y posteriormente calcula el promedio

Arreglos bidimensionales Los arrays bidimensionales de Java se crean de un modo muy similar al de C++ (con reserva dinámica de memoria). En Java una matriz es un vector de vectores fila, o más en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podría tener un número de elementos diferente. Una matriz se puede crear directamente en la forma: int [][] mat = new int[3][4]; o bien se puede crear de modo dinámico dando los siguientes pasos: Crear la referencia indicando con un doble corchete que es una referencia a matriz, int[][] mat; Crear el vector de referencias a las filas, mat = new int[nfilas][]; Reservar memoria para los vectores correspondientes a las filas, for (int i=0; iB

4. Mostrar los números de 3 dígitos que son múltiplos de N

5. Mostrar los números de 2 dígitos cuya suma de sus dígitos es igual a N

6. Determinar la cantidad de dígitos que tiene un número entero y además mostrar la suma de los dígitos pares e impares. Considerar al cero (0) como dígito par

7. Un numero se considera perfecto cuando la suma de sus divisores es igual al numero Ejemplo: 28 = 1 + 2 + 4 + 7 + 14

8. Los números Amstrong o cubos perfectos son aquellos que sumados los cubos de sus dígitos nos dan el mismo numero Ejemplo: 3°7°0° = 370 4°0°7° = 407

Ejercicios Taller N°14 1. Construya la tabla de sumar del 1 al 20

2. Ingresar 12 números y calcular su promedio

3. Ingresar N notas y calcular el número de alumnos aprobados

4. Ingresar N números y calcular el promedio de los pares y el promedio de los impares

5. Ingresar 5 notas y determinar el promedio, la máxima y mínima nota

6. A una fiesta asistieron N personas de diferentes edades y sexos. Construir un algoritmo que dadas las edades y sexos de las personas, calcule:  Cuantos hombres y cuantas mujeres asistieron  Promedio de edades por sexo  La edad de la persona más joven que asistió Considere que no se permiten menores de edad en la fiesta

7. Calcular la suma, suma de cuadrados y la suma de cubos de los N primeros números naturales

8. Mostrar los N primeros términos de la serie: 1, 6, 11, 16, 21, 26,...

9. Mostrar los N primeros términos de la serie: 4, -5, 6, -7, 8, -9,…

10. Mostrar los N primeros términos de la serie: 5, 10, 12, 17, 19, 24, 26,…...


Similar Free PDFs