Canal de Juegos y Programas

SUSCRIBETE SI TE GUSTA

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Buscar este blog

Cursor

Dragonball Online Mouse Pointer Blue

viernes, 20 de mayo de 2016

dota 2 Danza kuduro Phantom Lancer the Dancer!

miércoles, 18 de mayo de 2016

Como programar en java de Deitel 9na edición


Java Como Programar 9na Edición Español y Ingles

Este libro les recomiendo que lo lean los chicos que están aprendiendo java ya que esta muy completo a continuación les dejare el Index del libro y el link de descarga. Espero que lo disfruten:
_ (\__/) 
\\ (o ' .' ) Pd: Apoyenme en mi canal de YouTube estaré resolviendo los ejercicios el este fabulo libro 
. \(____)       para saber mas suscribirse  http://adf.ly/1aOFNL

Prefacio
Antes de empezar
1 Introducción a las computadoras y a Java
 1.1 Introducción
 1.2 Computadoras: hardware y software
 1.3 Jerarquía de datos
 1.4 Organización de una computadora
 1.5 Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel
 1.6 Introducción a la tecnología de los objetos
 1.7 Sistemas operativos
 1.8 Lenguajes de programación
 1.9 Java y un típico entorno de desarrollo en Java
 1.10 Prueba de una aplicación en Java
 1.11 Web 2.0: Las redes sociales
 1.12 Tecnologías de software
 1.13 Cómo estar al día con las tecnologías de información
 1.14 Conclusión
2 Introducción a las aplicaciones en Java
 2.1 Introducción
 2.2 Su primer programa en Java: imprimir una línea de texto
 2.3 Modificación de nuestro primer programa en Java
 2.4 Cómo mostrar texto con pri ntf
 2.5 Otra aplicación en Java: suma de enteros
 2.6 Conceptos acerca de la memoria
 2.7 Aritmética
 2.8 Toma de decisiones: operadores de igualdad y relaciónales
 2.9 Conclusión
3 Introducción a las clases, objetos, métodos y cadenas
 3.1 Introducción
 3.2 Declaración de una clase con un método e instanciamiento de un objeto de una clase
 3-3 Declaración de un método con un parámetro
 3.4 Variables de instancia, métodos establecery métodos obtener
 3.5 Comparación entre tipos primitivos y tipos por referencia

 3.6 Inicialización de objetos mediante constructores
 3.7 Los números de punto flotante y el tipo doubl e
 3.8 (Opcional) Caso de estudio de GUI y gráficos: uso de cuadros de diálogo
 3.9 Conclusión
4 Instrucciones de control: Parte I
 4.1 Introducción
 4.2 Algoritmos
 4.3 Seudocódigo
 4.4 Estructuras de control
 4.5 Instrucción i f de selección simple
 4.6 Instrucción i f . .. el se de selección doble
 4.7 Instrucción de repetición whi 1 e
 4.8 Cómo formular algoritmos: repetición controlada por un contador
 4.9 Cómo formular algoritmos: repetición controlada por un centinela
 4.10 Cómo formular algoritmos: instrucciones de control anidadas
 4.11 Operadores de asignación compuestos
 4.12 Operadores de incremento y decremento
 4.13 Tipos primitivos
 4.14 (Opcional) Caso de estudio de GUI y gráficos: creación de dibujos simples
 4.15 Conclusión
5 Instrucciones de control: Parte 2
 5.1 Introducción
 5.2 Fundamentos de la repetición controlada por contador
 5.3 Instrucción de repetición for
 5.4 Ejemplos sobre el uso de la instrucción for
 5.5 Instrucción de repetición do... whi 1 e
 5.6 Instrucción de selección múltiple swi tch
 5.7 Instrucciones break y continué
 5.8 Operadores lógicos
 5.9 Resumen sobre programación estructurada
 5.10 (Opcional) Caso de estudio de GUI y gráficos: dibujo de rectángulos y óvalos
 5.11 Conclusión
6 Métodos: un análisis más detallado
 6.1 Introducción
 6.2 Módulos de programas en Java
 6.3 Métodos s t a t i c, campos s t a t i c y la clase Math
 6.4 Declaración de métodos con múltiples parámetros
 6.5 Notas acerca de cómo declarar y utilizar los métodos
 6.6 La pila de llamadas a los métodos y los registros de activación
 6.7 Promoción y conversión de argumentos
 6.8 Paquetes de la API de Java
 6.9 Caso de estudio: generación de números aleatorios
 6.9.1 Escalamiento y desplazamiento generalizados de números aleatorios
 6.9.2 Repetitividad de números aleatorios para prueba y depuración
 6.10 Caso de estudio: un juego de probabilidad (introducción a las enumeraciones)
 6.11 Alcance de las declaraciones
 6.12 Sobrecarga de métodos
 6.13 (Opcional) Caso de estudio de GUI y gráficos: colores y figuras rellenas

 6.14 Conclusión
7 Arreglos y objetos ArrayList
 7.1 Introducción
 7.2 Arreglos
 7.3 Declaración y creación de arreglos
 7.4 Ejemplos acerca del uso de los arreglos
 7.5 Caso de estudio: simulación para barajar y repartir cartas
 7.6 Instrucción for mejorada
 7.7 Paso de arreglos a los métodos
 7.8 Caso de estudio: la clase L i broCal i f i c a c i ones que usa un arreglo para almacenar
 las calificaciones
 7.9 Arreglos multidimensionales
 7.10 Caso de estudio: la clase L ib ro C a l if ic a c io n e s que usa un arreglo bidimensional
 7.11 Listas de argumentos de longitud variable
 7.12 Uso de argumentos de línea de comandos
 7.13 La clase Arrays
 7.14 Introducción a las colecciones y la clase A rra y Li st
 7.15 (Opcional) Caso de estudio de GUI y gráficos: dibujo de arcos
 7.16 Conclusión
8 Clases y objetos: un análisis más detallado
 8.1 Introducción
 8.2 Caso de estudio de la clase Ti empo
 8.3 Control del acceso a los miembros
 8.4 Referencias a los miembros del objeto actual mediante th is
 8.5 Caso de estudio de la clase Ti empo: constructores sobrecargados
 8.6 Constructores predeterminados y sin argumentos
 8.7 Observaciones acerca de los métodos Establecer y Obtener
 8.8 Composición
 8.9 Enumeraciones
 8.10 Recolección de basura y el método f i nal i ze
 8.11 Miembros de clase s t a t i c
 8.12 Declaración s ta tic import
 8.13 Variables de instancia f i nal
 8.14 Caso de estudio de la clase T i empo: creación de paquetes
 8.15 Acceso a paquetes
 8.16 (Opcional) Caso de estudio de GUI y gráficos: uso de objetos con gráficos
 8.17 Conclusión
9 Programación orientada a objetos: herencia
 9.1 Introducción
 9.2 Superclases y subclases
 9.3 Miembros protected
 9.4 Relación entre las superclases y las subclases
  9.4.1 Creación y uso de una clase Empl eadoPorComi s i on
  9.4.2 Creación y uso de una clase Empl eadoBaseMasComi s i on
  9.4.3 Creación de una jerarquía de herencia Empl eadoPorComi s i on-
   Empl eadoBaseMasComi sion
  9.4.4 La jerarquía de herencia Empl eadoPorComi s i on-Empl eadoBaseMasComi sion
  mediante el uso de variables de instancia p rotected
  9.4.5 La jerarquía de herencia Empl eadoPorComi s i on-Empl eadoBaseMasComi sion

   mediante el uso de variables de instancia p r i vate
 9.5 Los constructores en las subclases
 9.6 Ingeniería de software mediante la herencia
 9.7 L a clase Obj e c t
 9.8 (Opcional) Caso de estudio de GUI y gráfi eos: mostar texto e imágenes usando etiquetas
 9.9 Conclusión
10 Programación orientada a objetos: polimorfismo
 10.1 Introducción
 10.2 Ejemplos del polimorfismo
 10.3 Demostración del comportamiento polimórfico
 10.4 Clases y métodos abstractos
 10.5 Caso de estudio: sistema de nómina utilizando polimorfismo
  10.5.1 La superclase abstracta Empl eado
  10.5.2 La subclase concreta Empl eadoAsal ari ado
  10.5.3 La subclase concreta Empl eadoPorHoras
  10.5.4 La subclase concreta Empl eadoPo rComi s i on
  10.5.5 La subclase concreta indirecta Empl eadoBaseMasComi sion
  10.5.6 El procesamiento polimórfico, el operador i nstanceof y la conversión
  descendente
  10.5.7 Resumen de las asignaciones permitidas entre variables de la superclase
   y de la subclase
 10.6 Métodos y clases f i n al
 10.7 Caso de estudio: creación y uso de interfaces
  10.7.1 Desarrollo de una jerarquía PorPagar
  10.7.2 La interfaz PorPagar
  10.7.3 La clase Factu ra
  10.7.4 Modificación de la clase Empl eado para implementar la interfaz PorPagar
  10.7.5 Modificación de laclase Empl eadoAsal a ri ado para usarla en la
    jerarquía PorPagar
  10.7.6 Uso de la ¡nterfaz PorPagar para procesar objetos Factura y Empleado
    mediante el polimorfismo
  10.7.7 Interfaces comunes de la API de Java
 10.8 (Opcional) Caso de estudio de GUI y gráficos: realizar dibujos usando polimorfismo
 10.9 Conclusión
I I Manejo de excepciones: un análisis más profundo
 11.1 Introducción
 11.2 Ejemplo: división entre cero sin manejo de excepciones
 11.3 Ejemplo: manejo de excepciones tipo A ritm e ticExce p tio n elnputM ism atchException
 11.4 Cuándo utilizar el manejo de excepciones
 11.5 Jerarquía de excepciones en Java
 11.6 Bloque fin ally
 11.7 Limpieza de la pila y obtención de información de un objeto excepción
 11.8 Excepciones encadenadas
 11.9 Declaración de nuevos tipos de excepciones
 11.10 Precondiciones y poscondiciones
 11.11 Aserciones
 11.12 (Nuevo en Java SE 7): Cláusula catch múltiple: atrapar varias excepciones en un catch
 11.13 (Nuevo en Java SE 7): Cláusula t ry con recursos (t ry-with-reso urces): desasignación
  automática de recursos

 11.14 Conclusión
...... y mas cosas



          ESPAÑOL                    INGLES
















Clase de Java Recursividad

RECURSIVIDAD

Un método es recursivo cuando se llama a si mismo ya sea directamente o indirectamente.
Si un método recursivo se invoca con un caso base, simplemente devuelve un resultado. Si el método se invoca con un problema más complejo, divide el problema en dos o más partes conceptuales: una parte del método sabe como resolver y una versión un poco más pequeña del problema original. Dado que este nuevo problema se asemeja al problema original, el método emite una llamada recursiva para trabajar con el problema reducido.
Para que la recursividad termine, cada vez que el método recursivo se llama a si mismo con una versión un poco más sencilla del problema original, la secuencia de problemas cada vez menores debe converger hacia el caso base. Cuando el método reconoce el caso base, devuelve el resultado a la llamada de método previa, y se inicia una secuencia de devoluciones que termina cuando la llamada del método original devuelve el resultado final.
RECURSIVIDAD VS ITERACION
Tanto la iteración como la recursión se basan en una estructura de control.: La iteración usa una estructura de repetición; la recursión una estructura de selección.
Tanto la iteración como la recursión implican repetición: la iteración emplea explícitamente una estructura de repetición; la recursión logra la repetición mediante llamadas de métodos repetidas
Tanto la iteración como la recursión incluyen una prueba de terminación; la iteración termina cuando deja de cumplirse la condición para continuar el ciclo; la recursión termina cuando se reconoce el caso base.

EJERCICIOS RESUELTOS


1) Hacer un programa para calcular el factorial de un número.


import java.util.Scanner;
 class Recursividad01{
   public static int factorial(int n)
   {
         if(n==0) return 1;
         else return n*factorial(n-1);
    }
   public static void main(String args[])
   {
        Scanner in =new Scanner(System.in);
        int num;
         do{
         System.out.print("Ingrese numero :");
         num=in.nextInt();
             }while(num<=0);
           System.out.println("El factorial es : "+factorial(num));

2) Calcular la potencia de x elevado a la n en forma recursiva. x real y n entero positivo


import java.util.Scanner;
 class Recursividad02{
  public static double potencia(double x, double n)
  {
     if(n==0) return 1;
     else return x*potencia(x,n-1);
   }
  public static void main(String args[])
  {
   Scanner in = new Scanner(System.in);
   int n;
   double x;
   System.out.print("Valor de x :");
   x= in.nextDouble();
   do{
   System.out.print("valor de n : ");
    n=in.nextInt();
   }while(n<=0);
   System.out.println(x+" elevado a la "+n+" es igual a "+potencia(x,n));
  }
}


3) Hacer un programa para que reporte los n términos de la serie de Fibonacci


import java.util.Scanner;
class Recursividad03{
public static int fibonacci(int n)
{
if(n==1) return 1;
else
if(n==2)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int n,i ;
do{
System.out.print("Número de terminos de la serie : ");
n=in.nextInt();
}while(n<=0);
for(i=1;i<=n;i++
System.out.print(fibonacci(i) + " ");
System.out.println();
}
}


4) Programa para calcular el máximo común divisor de dos números.


import java.util.Scanner;
class Recursividad04{
public static int mcd(int a,int b)
{
if(a%b==0) return b;
else return mcd(b,a%b);
}
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int x,y;
do{
System.out.print("Ingrese primer numero :");
x=in.nextInt();
}while(x<=0);
do{
System.out.print("Ingrese segundo numero :");
y=in.nextInt();
}while(y<=0);
System.out.println("El mcd de "+x+" y "+y+" es : "+mcd(x,y));
}
}


5) Programa para reportar un numero al reves


import java.util.Scanner;
class recursividad05{
public static void reves(int n)
{
System.out.print(n % 10);
if( n/10 !=0 ) reves(n/10);
}
public static void main(String args[]) throws IOException
{
Scanner in = new Scanner(System.in);
int num;
do{
System.out.print("Ingrese numero :");
num=in.nextInt();
}while(num<=0);
System.out.print("Numero al reves :");
reves(num);
System.out.println();
}
}


6) Programa para convertir un numero de base 10 a base b (entre 2 y 9)

import java.util.*;
class recursividad06{
public static void conversionBase(int n, int b)
{
if(n<b)
System.out.print(n);
else
{
conversionBase(n/b,b);
System.out.print(n%b);
}
}
public static void main(String args[]) throws IOException
{
Scanner in = new Scanner(System.in);
int num,b;
do{
System.out.print("Ingrese numero :");
num=Integer.parseInt(br.readLine());
}while(num<=0);
do{
System.out.print("Base a la que quiere convertir : ");
b=Integer.parseInt(br.readLine());
}while(b<2 || b>9);
System.out.print("El numero "+num+" en base "+b+" es : ");
conversionBase(num,b);
System.out.println();
}
}



EJERCICIOS PROPUESTOS

Usando métodos recursivos resolver los siguientes ejercicios
1) Calcular la suma de los n primeros números pares.
2) Calcular la suma de los n primeros números impares.
3) Calcular el producto de los dígitos de un numero
4) Verificar si todos los dígitos de un numero son iguales
5) Verificar si los dígitos de un numero están en escalera ascendentemente
6) Calcular el m.c.d. de dos números usando el algoritmo de Euclides.
7) Factorice por medio de la recursión. Por ejemplo si el numero es 8 sus factores serán 2x2x2
8) En un cuadrado cuyo lado es a, se unen los puntos medios de sus 4 lados, formándose otro cuadrado cuyos puntos medios se unen también formando otro cuadrado, y así sucesivamente. Calcular la suma de los perímetros de los n primeros cuadrados asi formados.
9) Calcule el m.c.,m de dos números.
10) En un vector de n elementos calcular el mayor de los elementos del Vector.
11) En un vector de n elementos calcular el producto de todos sus elementos.
12) Calcular la suma de los dígitos de un número.
13) Buscar un elemento en un vector de n elementos. Usando búsqueda secuencial.
14) Buscar un elemento en un vector de n elementos. Usando búsqueda binaria.
15) Calcular la longitud de una cadena.
16) Calcule el número de veces que aparece una letra en una cadena.
17) Contar el número de vocales que existe en una cadena