Logo Revista Java

startjavaabout

articles
[java]

00. Prólogo
01.a TEMAS INTRODUCTORIOS.
01.b Comandos que Inician la Máquina de Java y la salida de texto
01.c Descripción empírica de la Programación Orientada a Objetos con Java.
01.d Herencia Soportada por Java y Tipos de Datos Básicos.
01.e Operadores, Delimitadores Básicos Y los nombres de función Válidos.
02.a Codificación Inicial y Estructuras de Datos.
02.b Paquetes, y Palabras clave, (Reservadas)
02.c Tipos de Datos, y declaraciones de funciones, Tablas.
02.d Bucles y Tomas de decisión, Excepciones y Control de Errores.
02.e Secuencias de Escape
02.f Concatenación y Conversiones a Texto.
02.g Métodos de Entrada y Salida de datos
02.h Crear Objetos de la biblioteca de Java
02.i Ejercicio: Entrada de Datos y Conversiones (if, try, catch)
02.j Ejercicios, usando excepciones y while, y switch
02.k Práctica complementaria Resuelta sin Arreglos.
02.l Ejercicios de la práctica complementaria
02.m Práctica complementaria resuelta Ej 6 y 7
02.m Práctica complementaria resuelta Ej 8 y 9
03.a Métodos estáticos y mecanismos de programación
03.b Arreglos (Arrays o Vectores)
03.c La clase Math como ayudante para resolver problemas
03.d Usando arreglos para un buffer, colas de espera, pilas y listas.
03.e Implementación del buffer tipo FIFO (Cola de espera, el primero es primero en salir)
03.f Implementación del buffer tipo FIFO (Cola de espera, el primero es primero en salir) 2da parte
03.g Implementación del buffer tipo LIFO (La pila, último en llegar es primero en salir)
03.h Implementación del buffer tipo LIFO (La pila, último en llegar es primero en salir) 2da parte
03.i Implementación de una Lista de datos.
03.j Búsqueda Secuencial dentro de la lista de datos.
03.k Búsqueda Aleatoria dentro de la lista de datos.
03.l Búsqueda binaria dentro de una lista ordenada de datos.
03.m Método para Ordenar - La Burbuja
03.n Método para Ordenar - QuickSort Recursivo
03.o Ejercicios Resueltos, ordenar con Java
04.a Nuestro primer Objeto en Java
04.b Codificación del primer Objeto en Java
Vemos un ejemplo resuelto para ordenar, y aplicando lo que vimos anteriormente usamos un menú en pantalla para que el usuario elija opciones.

03.o Ejercicios Resueltos, ordenar con Java

(19211)
Vemos un ejemplo resuelto para ordenar, y aplicando lo que vimos anteriormente usamos un menú en pantalla para que el usuario elija opciones.
contact
Created,Modified
2009-04-10 08:37:26, 2009-06-14 16:54:46
Author,Nick
Gustavo Guillermo Perez, (madgus) [myblog]

Ejercicios

Los ejercicios del capítulo III son los últimos antes de proceder con objetos, es recomendable que todo aquello que se ha visto hasta el momento quede perfectamente asimilado ya que en el próximo tema los objetos comenzarán a ser la herramienta principal.

Ejercicio 3.1

Realizar un programa cuyo método principal pida 10 valores numéricos y los asigne a un arreglo, posteriormente imprimir en pantalla el resultado ordenado creciente, y decreciente utilizando el método de la burbuja, computar la cantidad de comparaciones realizadas entre elementos del arreglo y mostrarlas al final como estadística.

  1. package com.compunauta.aprendiendojava;

  2. import java.io.*;

  3. /**

  4. * <p>Título: Aprendiendo Java</p>

  5. * <p>Descripción: Ejemplos del Libro Aprendiendo Java de Compunauta</p>

  6. * <p>Copyright: Copyright (c) 2006 www.compunauta.com</p>

  7. * <p>Empresa: COMPUNAUTA</p>

  8. * @author Gustavo Guillermo Pérez

  9. * @version 2007.10.01

  10. */

  11. public class Cap3_ej1 {

  12. public static int comparaciones=0;

  13. public static void main(String[] args) {

  14. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

  15. int[] listado=new int[10];

  16. System.out.println("Ingrese 10 números, de a uno presionando ENTER");

  17. for(int i=0;i<10;i++){

  18. listado[i]=leerInt(br);

  19. }

  20. burbuja_mayormenor(listado);

  21. for(int i=0;i<10;i++){

  22. System.out.println("NRO >:["+i+"] "+listado[i]);

  23. }

  24. System.out.println("Comparaciones:"+comparaciones);

  25. burbuja_menormayor(listado);

  26. for(int i=0;i<10;i++){

  27. System.out.println("NRO <:["+i+"] "+listado[i]);

  28. }

  29. }

  30. public static int leerInt(BufferedReader buff){

  31. int lee=0;

  32. boolean error;

  33. do {

  34. error=false;

  35. try {lee = Integer.parseInt(buff.readLine());}

  36. catch (NumberFormatException ex) {

  37. System.out.println("Entrada erronea, repetir:?");

  38. error=true;}

  39. catch (Exception ex){ex.printStackTrace(System.err);}

  40. } while (error);

  41. return lee;

  42. }//final de la función leer

  43. public static void ordenar_burbuja_mayormenor(int[] listado){

  44. int temporal;

  45. for (int j = listado.length - 1; j > 0; j--) {

  46. for (int i = 0; i < j; i++) {

  47. comparaciones++;

  48. if (listado[i] < listado[i + 1]) {

  49. temporal = listado[i + 1];

  50. listado[i + 1] = listado[i];

  51. listado[i] = temporal;

  52. }

  53. }

  54. }

  55. }//final método ordenar burbuja mayor menor

  56. public static void burbuja_mayormenor(int[] listado){

  57. int temporal;

  58. for (int j = 0; j < listado.length - 1; j++) {

  59. for (int i = 0; i < listado.length - 1; i++) {

  60. comparaciones++;

  61. if (listado[i] < listado[i + 1]) {

  62. temporal = listado[i + 1];

  63. listado[i + 1] = listado[i];

  64. listado[i] = temporal;

  65. }

  66. }

  67. }

  68. } //final método ordenar burbuja mayor menor

  69. public static void ordenar_burbuja_menormayor(int[] listado){

  70. int temporal;

  71. for (int j = 0; j < listado.length - 1; j++) {

  72. for (int i = listado.length - 1; i > j; i--) {

  73. comparaciones++;

  74. if (listado[i] < listado[i - 1]) {

  75. temporal = listado[i - 1];

  76. listado[i - 1] = listado[i];

  77. listado[i] = temporal;

  78. }

  79. }

  80. }

  81. }//final método ordenar burbuja menor mayor

  82. public static void burbuja_menormayor(int[] listado){

  83. int temporal;

  84. for (int j = 0; j < listado.length - 1; j++) {

  85. for (int i = listado.length - 1; i > 0; i--) {

  86. comparaciones++;

  87. if (listado[i] < listado[i - 1]) {

  88. temporal = listado[i - 1];

  89. listado[i - 1] = listado[i];

  90. listado[i] = temporal;

  91. }

  92. }

  93. }

  94. } //final método ordenar burbuja menor mayor

  95. }


Línea 1, declaración del paquete, línea 2 importamos java.io para usar los métodos de lectura del teclado, Línea 12 declaración de la clase, línea 13 declaramos la variable estática a la clase comparaciones que es la que usaremos para computar la cantidad de comparaciones para ordenar el arreglo.

El programa en sí comienza en el método principal línea 14, línea 15 se construye un objeto BufferedReader para lectura por teclado, línea 16 se inicializa un arreglo de 10 elementos que será el tamaño del arreglo a trabajar.

Líneas 17 a 20 es la entrada por teclado de los números del arreglo utilizando la función leerInt(BufferedReader) utilizada en ejercicios anteriores.

Línea 22 se invoca a la función que ordena sobre el arreglo listado de números enteros, y en las líneas 23 a 26 se imprime en pantalla la información correspondiente y la estadística de las comparaciones. Línea 33 a 45 Función leer.

Línea 47 – 59 la función ordenar de mayor a menor con la optimización de acotación de índices, y las demás variantes con y sin optimización.

Ejercicio 3.2

Realizar un programa cuyo fin sea el del ejercicio 3.1 pero utilizando el procedimiento quicksort.

Ejercicio 3.3

Integrar con un pequeño menú en pantalla la selección del método que se utilizará para ordenar el arreglo reutilizando el código de los ejercicios anteriores 3.1 y 3.2, pero añadir al cómputo las comparaciones en total incluyendo las de los índices en bucles.


leavecomment

comentby (kiaralaloca) 2010-10-28 09:46:37

Holaa necesito que me ayuden con una tarea dice asi :

1.Crear un programa que me permita ingresar numeros en un arreglo de enteros y que imprima el numero de ceros que se encuentra dentro del arreglo

2.Crear un programa que me permita insertar en un arreglo de enteros e imprimir el resultado de sumar solo los numeros pares

3.escribe el codigo de java del procedimiento invierte , que recibe un arreglo de enteros .el programadebera invertir la secuencia de valores del arreglo

4.Crear 2 vectores de 15 posiciones c/u y en 3 vector Acumular la suma de los 2 primeros vectores.

5.1. Crear un algoritmo que me permita ingresar 5 nombres y ordenarlos alfabeticamente


*Hasta que esta leyenda no desaparezca el libro no ha sido terminado, descarge en pdf:

http://compunauta.com/forums/linux/programacion/java/ebook.html




Aprendiendo Java - Ejemplos resueltos, Ejercicios, prácicas y técnicas de programación con Java #1 - ezine - ©Compunauta - myblog - Asesoría Mayantec Anuncios - 33484