Logo Revista Java

startjavaabout

articles

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

(2472)
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-08-07 19:08:14

 

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 programa
debera 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 - Anuncios - 1072