Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORMÁTICA
FUNDAMENTO TEORICO.
CONCEPTO DE LOS IDE’s: un entorno de desarrollo integrado, llamado también IDE(sigla en ingles
de integrated development enviroment), es un programa informático compuesto por un conjunto de
herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o
bien a puede utilizarse para varios. Un IDE es un entorno de programación que ha sido empaquetado
como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un
depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o
pueden ser parte de aplicaciones existentes.
Eclipse
*Dispone de un editor de texto con resaltador de sintaxis.
*La compilación es en tiempo real
*Tiene pruebas unitarias con (JUnit).
*Control de versiones con (CVS).
*Integración con (Ant),
*Asistentes (wizards) para creación de proyectos
*Clases, test, etc...
Netbeans
* Soporte JavaScript
* Mejora en el desempeño
* Soporte en estructuras sprint
* Nuevo soporte MySQL en la exploración de bases de datos
* Soporte en Java Beans
* Generador JSF CRUD
* Soporte Ruby/JRuby
* Competición de código JavaDoc
* Soporte para los web APIs más usados
* Soporte RESTFul web servís
* Compartir proyectos (librerías compartidas AKA)
Página 1
* Nuevas extensiones (Plugins)
* Java Moviliti (Aplicaciones como móviles)
* Vista previa de características post-6.1
JCreator
*El editor tiene las características básicas usuales: insertar, borrar y actualizar texto, soporte para copy,
cut y paste, undo ilimitado entre otras.
*Además, tiene las siguientes características: Class wizard: El editor de JCreator le permite agilizar el
proceso de crear clases, ingresar métodos y atributos con este wizard.
*Para acceder a el hay que hacer clic en el menu Project y luego en new class...
*Números de línea: Por defecto JCreator enseña líneas con número mientras se ingresa el código.
*Esto le permite referenciar más fácil el código fuente referenciandolo con estos números de línea.
*Resaltado de sintaxis: JCreator resalta varios elementos de código fuente, como nombres de métodos
y palabras claves como new y class.
BlueJ
*Bluej está desarrollado 100% sobre Java, lo que lo hace multiplataforma y entre sus características
más llamativas está, el utilizar muy pocos recursos de la máquina.
*Su característica mas relevante, es un sistema parecido al UML que nos modela de manera gráfica el
comportamiento y las relaciones que existen entre clases.
*Ambiente completamente integrado.
*Visualización Gráfica de la estructura de las clases.
*Edición grafica y textual. Built-in editor, compilador, máquina virtual, depurador.
*Interfase fácil de usar, ideal para principiantes. Llamadas y creación de objetos interactiva.
JBuilder
*Maximiza la productividad de los desarrolladores.
*Incluye varios diseñadores visuales, incluyendo EJB y diseñadores APP permite a los desarrolladores
para crear un modelo visual, ya que el desarrollo de aplicaciones EJB permitirá la creación de un
proyecto de modelado de Java con el apoyo de la APP
*Un diseñador de Web Services que proporciona una representación visual de dos modos de diseño
para la creación de servicios habilitados para las aplicaciones basadas en Web del Eje.
*Y un diseñador de interfaz de usuario de Swing para la creación rápida y fácil de base Swing-IU.
VENTAJAS
Eclipse
*El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in) para
proporcionar toda su funcionalidad al frente de la Plataforma de Cliente rico, a diferencia de otros
entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no.
*Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente
a permitirle a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python,
permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red
como Telnet y Sistema de gestión de base de datos.
Netbeans
* La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicación.
Página 2
* Reutilización del los módulos.
* Permite el uso de la herramienta.
* Update Center Module.
* Instalación y actualización simple.
* Incluye Templates y Wizards
* Posee soporte para Php.
JCreator
*Enorme cantidad de plantillas para trabajos rápidos.
*Administrador de proyectos guiados.
*Editor de sintaxis incorporado.
*Intefaz de depuración independiente.
*Función de coloreado de comandos.
BlueJ
*Solo no está disponible en versión inglés.
*RESULTA Complicada el correr los Programas,
*Es incomoda para Programadores Expertos.
*Su Entorno no muy amigable.
JBuilder
*Reducir la curva de aprendizaje mediante el uso de la IDE misma para múltiples plataformas.
*La velocidad de desarrollo con soporte para las últimas tecnologías Java.
*Mayor facilidad de uso y función de navegación.
* Fácil mover los proyectos de JBuilder y Eclipse adelante.
*Experiencia sin igual de la productividad y la reutilización de código.
*Crear rápidamente sofisticadas aplicaciones basadas en Swing.
*Analizar, depurar y ajustar las aplicaciones en el IDE.
*Aumentar la productividad individual y de equipo.
*Acelerar la creación de servicios Web.
*Mejorar la productividad y la comprensión del código con el modelado UML y arqueología de código.
*Mejorar la calidad del código con las auditorías y métricas.
DESVENTAJAS
Eclipse
*Su principalmente inconveniente, común a otros IDEs en mayor o menor medida, en el consumo de
recursos del sistema.
*También que carece de mucho soporte para webapps (.war, jsp y servlets) tal y como lo hace
netbeans. (los plugins por lo general no son ni tan potentes ni tan sencillos como el módulo que en
Netbeans viene preinstalado).
Netbeans
*Muy pesado, sobre todo si se tienen varios proyectos.
*Poca existencia de plug-in para esta plataforma.
*Hace falta documentación del Rich Client Plataform (RCP).
*Carece de soportes webapps(.war, jsp y servlets).
Página 3
JCreator
*Está pensado para el desarrollo de software en Java y no soporta otros idiomas.
*No se pueden crear una base de datos.
*No se pude crear el lenguaje UML.
*La herramienta no es lo suficientemente potente para el desarrollo de sistemas grandes y complejos.
BlueJ
*Resulta complicada la corrida de los programas, para programadores expertos.
*Su entorno no es muy amigable.
*No incluye la tecnología de base de datos.
*Solamente admite el lenguaje Java.
JBuilder
*Consume muchos recursos.
*Se torna lento a la hora de compilar los archivos.
Historia de java
Creado por Sun Microsystems Inc. en 1990, como un proyecto para desarrollar un sistema que
controlara electrodomésticos. Se pretendía crear un hardware polivalente, con un Sistema Operativo
eficiente (SunOS) y un lenguaje de desarrollo denominado Oak (roble), el proyecto finalizó en 1992 y
debido a su alto costo en relación a otros proyectos del mismo tipo que ya existían, fue declarado como
un fracaso.
En realidad J2EE es una especificación escrita por Sun Microsystem para el desarrollo de aplicaciones
para empresas. J2EE 1.6 (la última versión, por ahora) nos permite crear aplicaciones con acceso a
Base de Datos (JDBC), utilización de ficheros distribuidos (JNDI), acceso a métodos remostos
(CORBA, RMI), funciones de correo electrónico (JavaMail) y aplicaciones Web (Servlets , JSP y
EJB). De manera que ahora, mediante el J2EE, se puede crear aplicaciones para empresas e
implementar servicios Web de una forma mucho más funcional.
Funcionamiento de Java
Página 4
Sentencias de Control de Flujo en Java
Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro
del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.
La sentencia if-else
int puntuacion;
String nota;
Una sentencia if puede tener cualquier número de sentencias de acompañamiento else if.
La sentencia switch-case
int mes;
. . .
switch (mes) {
case 1: System.out.println("Enero"); break;
case 2: System.out.println("Febrero"); break;
case 3: System.out.println("Marzo"); break;
case 4: System.out.println("Abril"); break;
case 5: System.out.println("May0"); break;
Página 5
case 6: System.out.println("Junio"); break;
case 7: System.out.println("Julio"); break;
case 8: System.out.println("Agosto"); break;
case 9: System.out.println("Septiembre"); break;
case 10: System.out.println("Octubre"); break;
case 11: System.out.println("Noviembre"); break;
case 12: System.out.println("Diciembre"); break;
default: System.out.println("No es un mes válido");break;
}
Sentencias de Bucle
El bucle while
while (expresión)
sentencia;
Sentencia puede ser una sola sentencia o puede ser un bloque de sentencias. Un bloque de sentencias es
un juego de sentencias legales de java contenidas dentro de corchetes(’{'y ‘}’).
El bucle for
inicialización es la sentencia que inicializa el bucle. Se ejecuta una vez al iniciar el bucle.
terminación es una sentencia que determina cuando se termina el bucle. Esta expresión se evalúa al
principio de cada iteración en el bucle. Cuando la expresión se evalúa a false el bucle se termina.
Finalmente, incremento es una expresión que se invoca en cada interacción del bucle. Cualquiera (o
todos) de estos componentes puden ser una sentencia vacía (un punto y coma).
el bucle do-while
do {
sentencias
} while (Expresión Booleana);
Página 6
La sentencia do-while se usa muy poco en la construcción de bucles pero tiene sus usos. Por ejemplo,
es conveniente utilizar la sentencia do-while cuando el bucle debe ejecutarse al menos una vez.
Tipos de datos
Operadores aritméticos:
Operador Formato Descripción
- op1 - op2 -op1 Resta aritmética de dos operandos. Cambio de signo
* op1 * op2 Multiplicación de dos operandos.
% op1 % op2 Resto de la división entera ( o módulo)
++ op1++ ++op1 Incremento unitario
-- op1-- -- op1 Decremento unitario
/ op1 / op2 División entera de dos operandos.
+ op1 + op2 Suma aritmética de dos operandos.
Operadores relacionales:
Operador Formato Descripción
> op1 > op2 Devuelve true (cierto) si op1 es mayor que op2
< op1 < op2 Devuelve true (cierto) si op1 es menor que op2
>= op1 >= op2 Devuelve true (cierto) si op1 es mayor o igual que op2
<= op1<= op2 Devuelve true (cierto) si op1 es menor o igual que op2
== op1 == op2 Devuelve true (cierto) si op1 es igual a op2
!= op1 != op2 Devuelve true (cierto) si op1 es distinto de op2
Operadores lógicos:
Operador Formato Descripción
&& op1 && op2 Y lógico. Devuelve true (cierto) si son ciertos op1 y op2
|| op1 || op2 O lógico. Devuelve true (cierto) si son ciertos op1 o op2
! ! op1 Negación lógica. Devuelve true (cierto) si es false op1.
Recomendación.
Página 7
import java.util.*;
public class PRUEBA {
nextByte
nextDouble
nextFloat
nextInt
nextLine: Devuelve la línea entera como un String. Elimina el final \n del buffer
nextLong
ACTIVIDAD DE CLASE.
El manual de inicio del entorno de desarrollo integrado del JCreator se describe paso a paso en el
siguiente Archivo Adjunto: IDE_Manual_JCreator_LE.pdf
Página 8
Página 9
Qué es un número perfecto?
Un número es perfecto si es igual a la suma de todos sus divisores positivos sin incluir el propio
número.
El 6 tiene como divisores: 1, 2, 3 y 6 pero el 6 no se cuenta como divisor para comprobar si es perfecto.
Si sumamos 1 + 2 + 3 = 6
Los siguientes números perfectos después del 6 son 28, 496, 8128, 33550336, 8589869056.
El programa pide por teclado un número y muestra si es perfecto o no. mediante un bucle for
sumaremos los divisores del número. Al final si esta suma es igual al número mostraremos el mensaje
correspondiente.
Página 10
import java.util.Scanner;
public class NumeroPerfecto {
public static void main(String[] args) {
int i, suma = 0, n;
Scanner sc = new Scanner(System.in);
System.out.println("Introduce un número: ");
n = sc.nextInt();
for (i = 1; i < n; i++) { // i son los divisores. Se divide desde 1 hasta n-1
if (n % i == 0) {
suma = suma + i; // si es divisor se suma
}
}
if (suma == n) { // si el numero es igual a la suma de sus divisores es
perfecto
System.out.println("Perfecto");
} else {
System.out.println("No es perfecto");
}
}
}
1184, 1210
2620, 2924
5020, 5564
6232, 6368
10744, 10856
12285, 14595
17296, 18416
import java.util.*;
Página 11
public class NumerosAmigos {
public static void main(String[] args) {
int i,suma=0, n1, n2;
Scanner sc = new Scanner(System.in);
System.out.print("Introduce primer número: ");
n1 = sc.nextInt();
System.out.print("Introduce segundo número: ");
n2 = sc.nextInt();
for(i=1;i<n1;i++){ // for para sumar todos los divisores propios de n1
if(n1%i==0){
suma=suma+i;
}
}
// si la suma de los divisores de n1 es igual a n2
if(suma==n2){
suma=0;
for(i=1;i<n2;i++){ // sumo los divisores propios de n2
if(n2%i==0){
suma=suma+i;
}
}
// si la suma de los divisores de n2 es igual a n1
if(suma==n1){
System.out.println("Son Amigos");
}else{
System.out.println("No son amigos");
}
}
else{
System.out.println("No son amigos");
}
}
}
Realiza una aplicación que nos calcule una ecuación de segundo grado. Debes pedir las variables a, b y
c por teclado y comprobar antes que el discriminante (operación en la raíz cuadrada). Para la raíz
cuadrada usa el método sqrt de Math. Te recomiendo que uses mensajes de traza.
1 import javax.swing.JOptionPane;
2 public class Ecuacion2GradoApp {
3
4 public static void main(String[] args) {
5
6 String textoA=JOptionPane.showInputDialog("Introduce el valor de a");
7 int a=Integer.parseInt(textoA);
8 String textoB=JOptionPane.showInputDialog("Introduce el valor de b");
9 int b=Integer.parseInt(textoB);
10 String textoC=JOptionPane.showInputDialog("Introduce el valor de c");
11 int c=Integer.parseInt(textoC);
12
13 double discriminante=Math.pow(b, 2)-(4*a*c);
Página 12
14
15 //Mensaje de traza
16 System.out.println(">>"+discriminante);
17
18 if (discriminante>0){
19 //Tambien se puede hacer por parte si lo ves más facil
20 //recuerda que debes tener en cuenta la prioridad de elementos
21 double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a);
22 double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a);
23
24 System.out.println("El valor de x1 es "+x1+" y el valor de x2 es "+x2);
25 }else{
26 System.out.println("El discriminante es negativo");
27 }
28 }
29}
1
import javax.swing.JOptionPane;
2 public class PruebaApp {
3
4 public static void main(String[] args) {
5
6 String nombre=JOptionPane.showInputDialog("Introduce tu nombre");
7
8 JOptionPane.showMessageDialog(null, "Bien, tu nombre es "+nombre);
}
9
10}
11
Página 13
7 int a, b;
8 c1 = JOptionPane.showInputDialog( null, "Dividendo : "); //pedimos el primer numero
9 c2 = JOptionPane.showInputDialog( null, "Divisor : "); //pedimos el segundo numero
10 a = Integer.parseInt(c1);
11 b = Integer.parseInt(c2);
12
13 resul = divRestasSuc(a, b); //asignamos el resultado a una variable para mostrarla
14
15 JOptionPane.showMessageDialog(null, resul); // mostramos el resultado
16 System.exit(0);
17 }
18
19 public static String divRestasSuc(int n1, int n2){//metodo para realizar la resta sucesiva
20
21 int c=0;
22
23 String ax="Dividendo: "+n1+"n"
24 + "Divisor: "+n2;
25
26 c = 0;
27 while( n1 >= n2){ //ciclo para la resta sucesiva
28
29 n1 = n1 - n2;
30 c++; //variable cociente o resultado
31 }
32 ax+="nn Resultado: "+c;
33
34 return ax;
35 }
36
37 }
PROBLEMAS PROPUESTOS.
CUESTIONARIO.
Responder a lo siguiente:
1. ¿Cuál de los IDE’s desarrollados es más ventajoso para programar en java?
La Java Virtual Machine es una máquina hipotética que emula por software a una máquina real.
Contiene: Conjunto de instrucciones máquina, Registros, Pila, Memoria.
byte-short-char-int-long-float-double
7. ¿Qué es Java.io?
Debido a que todas las clases relacionadas con flujos pertenecen al paquete java.io de la
biblioteca estándar de
Java, un programa que utilice flujos de E/S tendrá que importar este paquete.
Página 15