El documento introduce los conceptos de arreglos en Java. Explica que un arreglo es un grupo de ubicaciones de memoria contiguas con el mismo nombre y tipo. Se puede acceder a cada elemento a través de su posición en el arreglo. Luego, cubre cómo declarar e inicializar arreglos, incluidos ejemplos de código. Finalmente, discute ordenar arreglos usando el método de burbuja y realizar búsquedas lineales en arreglos.
Objetivos
Una vez que se haya leído y estudiado este capítulo, usted podrá:
• Conocer los algoritmos basados en el intercambio de elementos.
• Conocer el algoritmo de ordenación por inserción.
• Conocer el algoritmo de selección.
• Distinguir entre los algoritmos de ordenación basados en el intercambio
y en la inserción.
• Saber la eficiencia de los métodos básicos de ordenación.
• Conocer los métodos más eficientes de ordenación.
• Aplicar métodos mas eficientes de ordenación de arrays.
• Ordenar vectores de objetos.
• Diferenciar entre búsqueda secuencial y búsqueda binaria.
Introducción
Muchas actividades humanas requieren que diferentes colecciones de elementos utilizados se pongan en un orden específico. Las oficinas de correo y las empresas de mensajería ordenan el correo y los paquetes por códigos postales con el objeto de conseguir una entrega eficiente; las facturas telefónicas se ordenan por la fecha de las llamadas; los anuarios o listines telefónicos se ordenan por orden alfabético de apellidos con el fin último de encontrar fácilmente el número de teléfono deseado; los estudiantes de una clase en la universidad se ordenan por sus apellidos o por los números de expediente.
Por estas circunstancias una de las tareas que realizan más frecuentemente las computadoras en el procesamiento de datos es la ordenación.
El estudio de diferentes métodos de ordenación es una tarea intrínsecamente interesante desde un punto de vista teórico y, naturalmente, práctico. Este capítulo estudia los algoritmos y las técnicas de ordenación más usuales y su implementación en Java; también la manera de ordenar objetos con la funcionalidad que proporcionan las clases en Java. De igual modo, se estudiará el análisis de los diferentes métodos de ordenación con el objetivo de conseguir la máxima eficiencia en su uso real.
En el capítulo se analizarán los métodos básicos y los más avanzados empleados en programas profesionales.
Objetivos
Una vez que se haya leído y estudiado este capítulo, usted podrá:
• Conocer los algoritmos basados en el intercambio de elementos.
• Conocer el algoritmo de ordenación por inserción.
• Conocer el algoritmo de selección.
• Distinguir entre los algoritmos de ordenación basados en el intercambio
y en la inserción.
• Saber la eficiencia de los métodos básicos de ordenación.
• Conocer los métodos más eficientes de ordenación.
• Aplicar métodos mas eficientes de ordenación de arrays.
• Ordenar vectores de objetos.
• Diferenciar entre búsqueda secuencial y búsqueda binaria.
Introducción
Muchas actividades humanas requieren que diferentes colecciones de elementos utilizados se pongan en un orden específico. Las oficinas de correo y las empresas de mensajería ordenan el correo y los paquetes por códigos postales con el objeto de conseguir una entrega eficiente; las facturas telefónicas se ordenan por la fecha de las llamadas; los anuarios o listines telefónicos se ordenan por orden alfabético de apellidos con el fin último de encontrar fácilmente el número de teléfono deseado; los estudiantes de una clase en la universidad se ordenan por sus apellidos o por los números de expediente.
Por estas circunstancias una de las tareas que realizan más frecuentemente las computadoras en el procesamiento de datos es la ordenación.
El estudio de diferentes métodos de ordenación es una tarea intrínsecamente interesante desde un punto de vista teórico y, naturalmente, práctico. Este capítulo estudia los algoritmos y las técnicas de ordenación más usuales y su implementación en Java; también la manera de ordenar objetos con la funcionalidad que proporcionan las clases en Java. De igual modo, se estudiará el análisis de los diferentes métodos de ordenación con el objetivo de conseguir la máxima eficiencia en su uso real.
En el capítulo se analizarán los métodos básicos y los más avanzados empleados en programas profesionales.
Codificar un programa para dar entrada y posterior visualización de un ARRAY de dos dimensiones. El método leer() da entrada a los elementos de la matriz que se pasan como argumento, y el método visualizar() muestra la tabla en la pantalla.
La refactorización (del inglés refactoring) es una técnica de la ingeniería de software para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externo.
Codificar un programa para dar entrada y posterior visualización de un ARRAY de dos dimensiones. El método leer() da entrada a los elementos de la matriz que se pasan como argumento, y el método visualizar() muestra la tabla en la pantalla.
La refactorización (del inglés refactoring) es una técnica de la ingeniería de software para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externo.
Presentación de la conferencia sobre la basílica de San Pedro en el Vaticano realizada en el Ateneo Cultural y Mercantil de Onda el jueves 2 de mayo de 2024.
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁClaude LaCombe
Recuerdo perfectamente la primera vez que oí hablar de las imágenes subliminales de los Testigos de Jehová. Fue en los primeros años del foro de religión “Yahoo respuestas” (que, por cierto, desapareció definitivamente el 30 de junio de 2021). El tema del debate era el “arte religioso”. Todos compartíamos nuestros puntos de vista sobre cuadros como “La Mona Lisa” o el arte apocalíptico de los adventistas, cuando repentinamente uno de los participantes dijo que en las publicaciones de los Testigos de Jehová se ocultaban imágenes subliminales demoniacas.
Lo que pasó después se halla plasmado en la presente obra.
2. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Objetivos
Introducir al alumno en el manejo de
arreglos
Comprender como declarar un arreglo,
inicializarlo y referirse a cada elemento
en forma individual
2
3. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Arreglos
Un arreglo es un grupo de ubicaciones
contiguas de memoria que poseen el
mismo nombre y el mismo tipo
Para referirnos a una ubicación
específica, debemos especificar el
nombre del arreglo y la posición del
elemento
3
4. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Arreglos
4
-45
6
0
72
1543
-89
0
62
c[0]
c[1]
c[2]
c[3]
c[4]
c[5]
c[6]
c[7]
Nombre
del array
Posición del elemento
5. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Declarando Arreglos
int c[ ] = new int[ 12 ];
Arreglos son considerados Objetos. Deben
ser creados con „new“
También puede declararse de la siguiente
manera:
int c[ ]; //declaramos el arreglo
c = new int[ 12 ]; //definimos el número de
elementos del arreglo
5
6. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Declarando Arreglos
Cuando un arreglo es definido, sus
elementos son automáticamente inicializados
en 0 (numéricos), FALSE (booleanos) y
NULL (referencias no primitivas)
6
7. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Ejemplos
7
// Programa: InitArray.java
// initializing an array
public class InitArray {
public static void main ( String args[] )
{
int n[];
n = new int [ 10 ];
for ( int i = 0; i < n.length; i++ ) {
System.out.println( „Elemento No. „ + i + „ = „ + n [ i ] );
}
}
}
8. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Más de arreglos
Arreglos también pueden ser
inicializados por el programador
int n[ ] = { 10, 20, 30, 40, 50 }
8
9. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Ejercicio
9
//Programa: InitArray2.java
// Inicializar un arreglo con enteros que vayan desde 2 hasta 20
public class InitArray2 {
public static void main ( String args[] )
{
int n[];
n = new int [ 10 ];
for ( int i = 0; i < n.length; i++ ) {
n [ i ] = 2 + 2 * i;
}
for ( int i = 0; i < n.length; i++ ) {
System.out.println( „Elemento No. „ + i + „ = „ + n [ i ] );
}
}
}
10. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Pasando Paramétros a Métodos
Dos maneras de pasar argumentos a
métodos:
Por valor : Una copia del valor del
argumento es pasada
Por referencia : El argumento es pasado
directamente pudiendo ser modificado
10
11. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Pasando Paramétros a Métodos -
Java
Java no permite elegir la forma en la
cual se pueden pasar paramétros:
Tipos primitivos siempre son pasados por
valor
Objetos son pasados por referencia
pueden ser modificados por el método que
recibe el objeto
11
12. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Ejemplo – Paso por valor
12
//Programa: Param.java
//Paso de parametros por valor
public class Param {
public int modify(int a) {
a = 10;
return a;
}
public static void main ( String args[] ) {
int a = 5;
int b;
Param obj = new Param();
b = obj.modify(a);
System.out.println("Modified : " + b);
System.out.println("Original Value of a : " + a);
}
}
13. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Ejemplo – Paso por referencia
13
Programa Param2.java
14. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Ordenando Arreglos
Ordenación por burbuja
Se comparan los elementos consecutivos
en cada paso a lo largo del vector
Cada vez que se realiza una comparación,
los elementos se intercambian entre sí en
caso de no estar en orden
14
19. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
En java
19
Programa Ordenacion.java
20. Tecnologías Software para Internet, Erick Arauco, Udep Ets - 2004
Búsquedas
Más común: Búsqueda Lineal
Examina todos los elementos del Array uno por
uno, comenzando con el primer elemento y
comparando con el elemento buscado
Si la lista contiene el elemento buscado termina el
proceso y envia un mensaje de encontrado
Atención: El proceso termina si el elemento
buscado es único
20