lunes, 1 de agosto de 2016

Tipos de Arreglos

Arreglo unidimensional


Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo.Es la estructura natural para modelar listas de elementos iguales.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 posición relativa.Para implementar arreglos unidimensionales se debe reservar espacio en memoria, y se debe proporcionar la dirección base del arreglo, la cota superior y la inferior.

Arreglos bidimensionales


Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada elemento se puede trabajar individualmente y se puede hacer referencia con un mismo nombre. Se usan para representar datos que pueden verse como una tabla con filas y columnas.

Ejercicios Prácticos


a)    Programa 1.
Declara un array tipo int (entero) denominado numerodecoches que contenga 24 variables. Declara una variable tipo int (entero) que se llame r. Establece el valor de r en 2 y el valor de numerodecoches para un localizador de valor r en 23. Procede a mostrar en pantalla un mensaje que indique cuál es la hora r y el número de coches para la hora r. Finalmente, modifica únicamente la asignación de valor a r de modo que en vez de 2 sea 21 y ejecuta de nuevo el programa.

b)   Programa 2.
Sobre el programa anterior mantén el número de elementos de numerodecoches en 24. Declara dos variables a y b de tipo int(entero). Establece a con valor 8, b con valor 4 y r con valor a dividido entre b. Ejecuta el programa.

SOLUCIÓN
El programa 1 será el siguiente. Si lo ejecutamos obtendremos "El número de coches en la hora 2 fue 23". Si cambiamos r = 2 por r = 21 obtendremos "El número de coches en la hora 21 fue 23".
Un array en Java es una estructura de datos que nos permite almacenar un conjunto de datos de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar luego durante la ejecución del programa, como sí puede hacerse en otros lenguajes. Veremos ahora cómo declarar arrays estáticos de una dimensión.

  /* Ejercicio Programa 1 
   public class Programa1 {
         public static void main(String arg[ ]) {
int[ ] numerodecoches = new int[24];
 int r;
 r = 2;
 numerodecoches[r] = 23;
System.out.print("El número de coches en la hora "+r+" fue "+ numerodecoches[r]);
         }
   }


Nota: Recordar que cuando declaramos un array de 24 elementos comoint[ ] numerodecoches = new int[24];, los elementos del array que se crean son numerodecoches[0], numerodecoches[1] … hasta numerodecoches[23]. Tenemos por tanto 24 elementos (del 0 al 23) pero no existe la variable numerodecoches[24] como puede ocurrir en otros lenguajes.

Nota: El símbolo “+” significa concatenación y se usa para concatenar en este caso valores cadena con variables que tienen un valor numérico. De este modo obtenemos una sola cadena que se imprime en la pantalla DOS. También recordar que numerodecoches[r] = 23 significa que estamos asignando el número 23 a la posición indicada por el valor que tenga r en su momento, siendo el valor máximo que podría tener r el valor 23 y el valor mínimo 0. El uso de otros valores de r daría lugar a un error.

El programa 2 será el siguiente. Ten en cuenta que el array numerodecoches tiene 24 elementos siendo el primero el de localizador cero. El resultado va a ser igual que el del anterior programa, ya que r = 2 dado que 8/4 = 2. Por lo tanto se mostrará en pantalla "El número de coches en la hora 2 fue 23".
    /* Ejercicio Programa 2 – aprenderaprogramar.com */
   public class Programa2 {
               
       public static void main(String arg[ ]) {
  
int[ ] numerodecoches = new int[24];
int a, b;
int r;
a = 8;
b = 4;
r = a / b;
numerodecoches[r] = 23;
System.out.print("El número de coches en la hora "+r+" fue "+ numerodecoches[r]);
       }  
   }


EJERCICIO

En España cada persona está identificada con un Documento Nacional de Identidad (DNI) en el que figura un número y una letra, por ejemplo 56999545W
La letra que sigue al número se calcula siguiendo la metodología que vamos a indicar. Crea un programa que calcule la letra de un DNI a partir del número de DNI que introduzca el usuario. Es decir, se debe pedir el DNI sin la letra por teclado y el programa nos devolverá el DNI completo (con la letra).
Para calcular la letra, se debe tomar el resto de dividir nuestro número de DNI entre 23. El resultado debe estar por tanto entre 0 y 22.
Crea un método obtenerLetra(int numeroDNI) donde según el resultado de la anterior fórmula busque en un array de caracteres la posición que corresponda a la letra. Esta es la tabla de caracteres:
Posición     0   1   2   3  4   5   6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22
Letra            T   R  W A  G  M  Y  F  P  D  X    B   N    J    Z    S   Q    V   H    L   C   K   E
Por ejemplo, si introducimos el  DNI 20267079, el resto de dividirlo por 23 sería 8, luego la letra sería la P, que es la que ocupa esa posicion  en la matriz de caracteres.

No hay comentarios.:

Publicar un comentario