SlideShare una empresa de Scribd logo
1 de 23
Proyecto Final de Programación I
UNIVERSIDAD TÉCNICA DE MACHALA
FACULTAD DE INGENIERÍA CIVIL
ESCUELA DE INFORMÁTICA
PRIMER QUIMESTRE
PARALELO A
UTILITARIOS 1
“Juego de Matematicas”
Proyecto Final de Utilitarios 1
Autores:
Jonathan Alexander Vicuña Guanuche
Erik Leonardo Medina Arias
Docente:
Ing. Fausto Redrován Castillo, Mg.
MACHALA - ECUADOR
SEPTIEMBRE, 2013
“Medina Arias” - “Vicuña Guanuche” 1
Proyecto Final de Programación I
Ing. Fausto Redrován, Mg.
AUTORÍA:
Nosotros, Medina Arias Erik Leonardo y Jonathan Alexander Vicuña Guanuche,
como autores del presente trabajo de investigación, somos responsables de las
ideas, conceptos, procedimientos y resultados vertidos en la misma.
f………………………………. f……………………………….
Medina Arias Erik Leonardo Jonathan Alexander Vicuña Guanuche
C.I.: 0704393263 C.I.:0706536653
“Medina Arias” - “Vicuña Guanuche” 2
Proyecto Final de Programación I
Índice de contenido
JUSTIFICACIÓN.......................................................................................................................5
OBJETIVOS...............................................................................................................................5
Objetivo General................................................................................................................5
Objetivos Específicos........................................................................................................5
ANTECEDENTES......................................................................................................................5
MARCO TEÓRICO....................................................................................................................6
Ventajas en la utilización de Eclipse ...................................................................................12
MARCO METODOLÓGICO...................................................................................................14
Análisis de resultados......................................................................................................15
Solución...........................................................................................................................19
CONCLUSIONES....................................................................................................................19
RECOMENDACIONES..........................................................................................................20
REFERENCIAS BIBLIOGRÁFICAS.....................................................................................20
ANEXOS..................................................................................................................................21
Código fuente del programa...........................................................................................21
-Documentación fotográfica............................................................................................22
“Medina Arias” - “Vicuña Guanuche” 3
Proyecto Final de Programación I
Índice de tablas
Tabla 1: Diagrama de flujo 1.....................................................................................................17
Tabla 2: Diagrama de Flujo 2....................................................................................................19
Índice de ilustraciones
Ilustración 1...............................................................................................................................21
Ilustración 2...............................................................................................................................22
: Ilustración 3............................................................................................................................22
Ilustración 4: ............................................................................................................................23
Ilustración 5: ............................................................................................................................23
“Medina Arias” - “Vicuña Guanuche” 4
Proyecto Final de Programación I
1 JUSTIFICACIÓN
Este proyecto se realizo con la principal finalidad de que el alumno, mediante
de una manera creativa y dinamica aprenda a resolver operaciones basicas
de matematicas.
La elaboración del proyecto fue de carácter educativo ya que se lo realizo
para una escuela ya que con esto no solo se busca nuestra mejora sino que
de cierto modo ayudar con la educación del país.
Esto quiere decir que ganamos experiencia no solo como estudiantes sino
también como profesionales ya que este proyecto nos puso en condiciones no
de estudiantes sino de profesionales porque lo creamos con un fin como
también el de promocionarlo.
2 OBJETIVOS
2.1 Objetivo General
Crear un espacio en el que los niños, por medio de un juego interactivo
educativo, muestren sus conociemientos y habilidades con respecto a las
matematicas
2.2 Objetivos Específicos
• Ayudar al aprendizaje de los estudiantes mediante un juego
• Innovar nuevas formas de aprendizaje mediante la tecnología.
• Diseñar juegos adaptados al programa de estudio que permitan al estudiante
mejorar el rendimiento académico.
3 ANTECEDENTES
La Escuela “SANTISIMOS CORAZONES”, a través de la distinguida autoridad
nominadora la Hna. Leopoldina Angamarca, en su calidad de Directora nos
permitió realizar el proyecto para la escuela que ella dirige la cual se mostró
muy complacida porque tomamos en cuenta su escuela para la realización del
proyecto.
“Medina Arias” - “Vicuña Guanuche” 5
Proyecto Final de Programación I
Herramientas a utilizar
• Para crear el juego
• Eclipse desktop java
• Java JDK
Confección de caja
• Papel vinil
• Cartón
• Papel adhesivo
• Ιmpresiones
Exposición
• proyector
• laptop
• caja(diseñada)
4 MARCO TEÓRICO
Razonamiento
En sentido amplio, se entiende por razonamiento la facultad humana
que permite resolver problemas, extraer conclusiones de los hechos y
aprender de manera consciente de los hechos estableciendo
conexiones casuales y lógicas necesarias entre ellos. En sentido más
restringido se puede hablar de diferentes tipos de razonamiento:
El razonamiento lógico o causal es una operación lógica mediante la cual,
partiendo de uno o más juicios, se deriva la validez, la posibilidad o la
falsedad de otro juicio distinto. El estudio de los argumentos corresponde a
la lógica, de modo que a ella también le corresponde indirectamente el estudio
del razonamiento. Por lo general, los juicios en que se basa un razonamiento
“Medina Arias” - “Vicuña Guanuche” 6
Proyecto Final de Programación I
expresan conocimientos ya adquiridos o, por lo menos, postulados como
hipótesis. Es posible distinguir entre varios tipos de razonamiento lógico.
Por ejemplo el razonamiento deductivo(estrictamente lógico), el
razonamiento inductivo (donde interviene la probabilidad y la formulación de
conjeturas) y razonamiento abdicativo, entre otros. Razonamiento lógico En un
sentido restringido, se llama razonamiento lógico al proceso mental de realizar
una inferencia de una conclusión a partir de un conjunto de premisas. La
conclusión puede no ser una consecuencia lógica de las premisas y aun así
dar lugar a un razonamiento, ya que un mal razonamiento aún es un
razonamiento (en sentido amplio, no en el sentido de la lógica). Los
razonamientos pueden ser válidos (correctos) o no válidos (incorrectos). En
general, se considera válido un razonamiento cuando sus premisas ofrecen
soporte suficiente a su conclusión. Puede discutirse el significado de" soporte
suficiente", aunque cuando se trata de un razonamiento no deductivo, el
razonamiento es válido si la verdad de las premisas hace probable la verdad
de la conclusión. En el caso del razonamiento deductivo, el razonamiento es
válido cuando la verdad de las premisas implica necesariamente la verdad de
la conclusión.
REQUISITOS PARA PROGRAMAR APLICACIONES GRÁFICAS CON JAVA
EN SWING
En la aplicación sólo debe haber un único JFrame correspondiente a la
aplicación principal. Todas las ventanas secundarias deben ser JDialog. Todas
las ventanas secundarias deben tener una ventana padre, que es a partir de la
cual se despliega. Es decir, todos los JDialog secundarios deben tener como
padre al JFrame principal. Si desde un JDialog se va a visualizar otro, este
segundo debe tener como padre al primero, y así sucesivamente.
Evita en lo posible los JDialog modales, o ten muy en cuenta su jerarquía de
padres. El primer JDialog modal no tiene problemas si le pones su padre
adecuadamente. Si tienes un JDialog modal visible, no muestres otro JDialog
secundario, salvo que también sea modal y sea hijo del anterior. Si pones
“Medina Arias” - “Vicuña Guanuche” 7
Proyecto Final de Programación I
visibles a la vez dos JDialog modales y no son el uno hijo del otro, tendrás
problemas al intentar escribir en ellos o cerrarlos.
Nunca heredes de JFrame o JDialog o JApplet para hacer tus ventanas. Hazlo
siempre de un componente que no sea ventana y que no te limite. Si tus
ventanas heredan de JPanel, podrás ponerlas siempre que quieras dentro de
un JFrame, un JDialog, un JInternalFrame, un JApplet o incluso incrustarlas en
otro JPanel. Si tu ventana hereda de JFrame, está condenada a ser un
JFrame toda su vida.
Reaprovecha las ventanas, no se las dejes al recolector de basura. Si un
botón, al apretarlo, visualiza un JDialog, no hagas un new de JDialog cada vez
que pulsas el botón. Es mejor hacer sólo un new la primera vez y guardárselo.
En las siguientes veces bastará con hacer setVisible (true) y setVisible (false).
Para que el recolector de basura libere una ventana, además de lo habitual,
hay como mínimo que llamar al método dispose () de dicha ventana -cosa que
mucha gente no sabe- , para que el sistema de eventos de teclado y ratón
eliminen todas las referencias que tienen a ella. De todas formas, incluso así
no tengo muy claro que los JDialog se liberen siempre y, desde luego, en
versiones anteriores de Java, los JFrame NUNCA se liberaban. La excusa de
SUN es que como sólo debía haber un JFrame principal, no tenía sentido
liberarlo.
Los layouts para situar componentes no son tan complicados, sólo hay que
ponerse a ello. No uses el layouts null, ya que tu ventana no será
redimensionadle y puedes tener problemas si cambia la fuente de letra, si tu
programa se ejecuta en otro sistema operativo, se cambia el look & feel, etc.
Una vez que sepas los layouts simples, tenderás a hacer ventanas grandes a
base de anidar muchos JPanel que a su vez tienen dentro JPanel que su vez
tienen dentro JPanel, todos ellos con un layouts simple. Eso hace ventanas
muy pesadas y que consumen mucho. Aprende a usar el GridBagLayout para
hacer un solo panel con todo. La excepción a esto es que tengas pequeños
JPanel reutilizables, como un editor de coordenadas geográficas que pida
“Medina Arias” - “Vicuña Guanuche” 8
Proyecto Final de Programación I
latitud, norte/sur, longitud, este/oeste, un panel que pida usuario y password,
etc.
Todos los eventos de ratón y teclado se ejecutan en el mismo hilo que repinta
las ventanas . Si en un actionPerformed (), keyPressed (),… tu código tarda
mucho o pretendes que se pinte algo en una ventana, simplemente no lo hará
hasta que tu código termine. Si tu código en un actionPerformed () va a tardar
mucho o tiene que pintar cosas en la ventana, lanza un hilo aparte para hacer
esa tarea y termina el actionPerformed () lo antes posible.(PrograMundo)
LIBRERIAS DE JAVA
Java es un lenguaje de programación desarrollado para una multitud de
plataformas y procesadores.
Aplicaciones o programas gráficos deberán tomar en cuenta estos aspectos,
para propósitos de este libro, consideramos los dos tipos de aplicaciones
graficas más comunes.
Modelos de Frames y Applets, se pueden construir usando cualquiera de las
dos galerías de componentes visuales que proporciona java, estas librerías
visuales, son:
1.- JAVA AWT es la librería visual más antigua de java usando esta librería, se
podrán construir los tres tipos de programas más comunes como son FRAME,
WINDOW y APPLET.
2.- JAVA SWING es la librería de componentes visuales mas nueva que
proporciona java, usando esta librería se podrán construir los tres tipos de
programas o aplicaciones que son JFRAME, JWINDOW y JAPPLET.
PARA PROPOSITOS DE ESTE CURSO NOS CONCENTRAMOS EN JAVA
FRAME Y JAVA APPLET derivados de JAVA AWT (la librería visual antigua),
por la triste razón de que el modelo de ejecución de estos programas, está
muy asociado al compilador de java que traen los browsers.
Otra vez, un Applets es un programa un java que se manda a una maquina o
PC remota para que lo ejecute o lo corra, cuando este Applets le llega a la
“Medina Arias” - “Vicuña Guanuche” 9
Proyecto Final de Programación I
maquina remota vía un browser, dicho browser es quien activa la maquina
virtual de java que está en la PC remota y esta máquina virtual ya da la orden
de compilación y ejecución, es decir java programa.applet.
Entonces es importante que la maquine virtual de java, que se encuentra en la
PC remota, tenga capacidad de incluir todas las librerías de java, como la de
match, la de awt, la de lang, etc.(Yosh)
MANEJO DE EVENTOS
Eventos En evento es una acción iniciada por el usuario. Ejemplo de eventos
son: presionar un botón, cambiar un texto, etc. Cada vez que se produce un
evento, se crea un objeto. La clase padre de los eventos es: java.awt.Event
Tipos de Eventos ComponentEvent: Se producirá este tipo de evento cuando
el usuario mueva o redimensione un componente. FocusEvent: Se producirá
este tipo de evento cuando se cambie el foco de un componente. KeyEvent: se
producirá cuando el usuario pulse una tecla. MouseEvent: Se producirá
cuando el usuario efectúe un movimiento con el ratón o haga un click.
Tipos de Eventos ContainerEvent: se producirá cuando se añadan o eliminen
componentes en el contenedor. WindowEvent: se producirá cuando se realice
algún tipo de operación con la ventana como abrirla y cerrarla. ActionEvent: Se
producirá cuando se efectúe alguna acción sobre un componente, como por
ejemplo: la pulsación de un botón.
Tipos de Eventos AdjustmentEvent: Se ajusta algún valor de un componente.
ItemEvent: Se ha modificado el estado de algún elemento que pertenece al
componente. TextEvent: El contenido de texto de algún componente ha
cambiado.
Métodos asociados a la clase MouseEvent getClickCount (): Devuelve el
número de clicks asociados con el evento. GetX (): Devuelve la posición x del
mouse cuando se genera un evento. GetY (): Devuelve la posición y del
“Medina Arias” - “Vicuña Guanuche” 10
Proyecto Final de Programación I
mouse cuando se genera un evento.
Métodos de la clase KeyEvent getKeyChar (): Devuelve el carácter asociado
con la tecla que produjo el evento. GetKeyCode (): Devuelve el código de la
tecla que produjo el evento. GetKeyModifiersText (int): Devuelve una cadena
que indica el modificador de la tecla, por ejemplo “Shift”. GetKeyText (int):
Devuelve una cadena que indica el tipo de tecla pulsada. Ejemplo: F1,
indicando que es una tecla de función.
Las Interfaces de escucha (Event Listeners) Para poder capturar todos los
eventos, Java proporciona las interfaces de escucha (listeners). Para cada tipo
de evento existe una interface de escucha. Ejemplo: Para los eventos de tipo
ActionEvent existe la interface escucha ActionListener. Para los eventos de
tipo MouseEvent existe la interface escucha MouseListener.
Métodos de la Interface MouseListener mouseClicked (MouseEvent e): cuando
se hace un click de ratón mouseEntered (MouseEvent e): cuando el ratón
entra en la aplicación. MouseExited (MouseEvent e): cuando el ratón sale de
la aplicación. MousePressed (MouseEvent e): se ha pulsado un botón del
ratón. MouseReleased (MouseEvent e): se ha soltado un botón del ratón.
Métodos de la Interface WindowListener windowActivated (WindowEvent e):
Es invocado cuando una ventana es sentenciada como la ventana activa.
WindowClosed (WindowEvent e): Es invocado cuando una ventana ha sido
cerrada. WindowClosing (WindowEvent e): Es invocado cuando el usuario
intenta cerrar la ventana. WindowDeactivated (WindowEvent e):Es invocado
cuando la ventana deja de ser la ventana activa. WindowDeiconified
(WindowEvent e):Es invocado cuando una ventana pasa de estado
minimizado a normal windowIconified (WindowEvent e): Es invocado cuando
una ventana va estado normal a minimizada. WindowOpened (WindowEvent
e):Es invocado la primera vez que la ventana se hace visible.
Método de la Interface ActionListener actionPerformed (ActionEvent e): Es
invocado cuando una acción ocurre, como presionar un botón. Ver
ConvertMiles.java y HideAndSeek.java
“Medina Arias” - “Vicuña Guanuche” 11
Proyecto Final de Programación I
Adaptadores Cuando se desea escuchar algún tipo de evento se deben
implementar todos los métodos de la Interface de escucha (listener interface),
para que nuestra clase no tenga que ser definida como abstracta. Para
resolver este problema se hicieron los adaptadores.
Los adaptadores Son clases que implementan un listener, pero no realizan
ningún tipo de operación. Por ejemplo, el adaptador de la clase escucha
MouseListener es MouseAdapter y la implementación de este adaptador es la
siguiente:
Public abstract class MouseAdapter implements MouseListener {public void
mouseClicked (MouseEvent e) {} public void mousePressed (MouseEvent e) {}
public void mouseReleased (MouseEvent e) {} public void mouseEntered
(MouseEvent e) {} public void mouseExited (MouseEvent e) {}}
De esta forma cuando creemos una clase que hereda de MouseAdapter sólo
implementaremos los métodos necesarios y que más nos interesen para
gestionar los eventos.
ECLYPSE
Eclipse: es un entorno de desarrollo integrado, de Código abierto y
Multiplataforma. Mayoritariamente se utilliza para desarrollar lo que se conoce
como "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones
"Cliente-liviano" basadas en navegadores. Es una potente y completa
plataforma de Programación, desarrollo y compilación de elementos tan
variados como sitios web, programas en C++ o aplicaciones Java. No es más
que un entorno de desarrollo integrado (IDE) en el que encontrarás todas las
herramientas y funciones necesarias para tu trabajo, recogidas además en una
atractiva interfaz que lo hace fácil y agradable de usar.
Ventajas en la utilización de Eclipse
1- 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
“Medina Arias” - “Vicuña Guanuche” 12
Proyecto Final de Programación I
funcionalidades están todas incluidas, las necesite el usuario o no.
2- 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.
3-La arquitectura plug-in permite escribir cualquier extensión deseada en el
ambiente, como sería Gestión de la configuración. Se provee soporte para Java
y CVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamente para
soportar otros Lenguajes de programación.
4- La definición que da el proyecto Eclipse acerca de su Software es: "una
especie de herramienta universal - un IDE abierto y extensible para todo y nada
en particular".
En cuanto a la utilización de eclipse para la creación de aplicaciones clientes se
puede decir que:
1- Eclipse provee al programador con Frameworks muy ricos para el desarrollo
de aplicaciones gráficas, definición y manipulación de modelos de Software,
Aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework -
Framework para la edición gráfica) es un plug-in de Eclipse para el desarrollo
de editores visuales que pueden ir desde procesadores de texto wysiwyg hasta
editores de diagramas UML, interfaces gráficas para el usuario (GUI), etc. Dado
que los editores realizados con GEF "viven" dentro de Eclipse, además de
poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz
gráfica personalizable y profesional.
2- El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo
un IDE con un compilador de Java interno y un modelo completo de los
archivos fuente de Java. Esto permite técnicas avanzadas de refactorización y
análisis de código.
3- El IDE también hace uso de un espacio de trabajo, en este caso un grupo de
“Medina Arias” - “Vicuña Guanuche” 13
Proyecto Final de Programación I
metadata en un espacio para archivos plano, permitiendo modificaciones
externas a los archivos en tanto se refresque el espacio de trabajo
correspondiente.
5 MARCO METODOLÓGICO
Se procedio al analisis y selecion del tema del programa a desarrollar en
beneficio a educacion basica, estableciendo asi nuestro objetivos para alcanzar
la solucion deseada.Para asi poder aplicar algoritmos en eclipse utilizando el
estandar de programacion, haciendo un importante uso de las estructuras de
control, la generacion de numeros aleatorios para el uso de operaciones
matematicas basicas del programa.
“Medina Arias” - “Vicuña Guanuche” 14
Proyecto Final de Programación I
5.1 Análisis de resultados
“Medina Arias” - “Vicuña Guanuche” 15
Proyecto Final de Programación I
Codigo Diagrama de Flujo
if(args.getSource().equals(btnAsigna
r_M)){
txt_M =
textField_M.getText();
n_M =
Integer.parseInt(txt_M);
if(n_M==1 ||
n_M==2 || n_M==3){
switch(n_M){
case 1:
n1_M=(double)
(Math.random()*10);
n2_M=(double)
(Math.random()*10);
df = new
DecimalFormat("0.00");
String
convert1 =df.format(n1_M);
String
convert2 =df.format(n2_M);
label_M.setText(convert1);
label_1_M.setText(convert2);
result_M = n1_M*n2_M;
respuesta_M=df.format(result_M);
r1_M=(double)
(Math.random()*100);
r2_M=(double)
(Math.random()*100);
r3_M=(double)
(Math.random()*100);
r4_M=(double)
(Math.random()*100);
res1_M=df.format(r1_M);
res2_M=df.format(r2_M);
res3_M=df.format(r3_M);
res4_M=df.format(r4_M);
“Medina Arias” - “Vicuña Guanuche” 16
Proyecto Final de Programación I
Codigo Diagrama de Flujo
resp1_M.setText(res1_M);
resp2_M.setText(res2_M);
resp3_M.setText(res3_M);
resp4_M.setText(res4_M);
do{
asignaR_M=(int)
(Math.random()*5);
}while
(asignaR_M==0);
if(asignaR_M==1){
resp1_M.setText(respuesta_M);
}else
if(asignaR_M==2){
resp2_M.setText(respuesta_M);
}else
if(asignaR_M==3){
resp3_M.setText(respuesta_M);
}else
if(asignaR_M==4){
resp4_M.setText(respuesta_M);
};brea
k;
Tabla 1: Diagrama de flujo 1
“Medina Arias” - “Vicuña Guanuche” 17
Proyecto Final de Programación I
Codigo Diagrama de Flujo
if(args.getSource().equals(btnVerifi
car_M)){
String txt2
=textField_1_M.getText();
if(asignaR_M==1){
if(txt2.equals("A")||
txt2.equals("a")){
JOptionPane.showMessageDialog(null,
"Respondiste Correctamente");
}else{
JOptionPane.showMessageDialog(null,
"Incorrecto!!");
}
}else
if(asignaR_M==2){
if(txt2.equals("B")||
txt2.equals("b")){
JOptionPane.showMessageDialog(null,
"Respondiste Correctamente");
}else{
JOptionPane.showMessageDialog(null,
"Incorrecto!!");
}
}else
if(asignaR_M==3){
if(txt2.equals("C")||
txt2.equals("c")){
JOptionPane.showMessageDialog(null,
"Respondiste Correctamente");
}else{
JOptionPane.showMessageDialog(null,
"Incorrecto!!");
}
}else
if(asignaR_M==4){
if(txt2.equals("D")||
“Medina Arias” - “Vicuña Guanuche” 18
Proyecto Final de Programación I
Codigo Diagrama de Flujo
txt2.equals("d")){
JOptionPane.showMessageDialog(null,
"Respondiste Correctamente");
}else{
JOptionPane.showMessageDialog(null,
"Incorrecto!!");
}
}else{
JOptionPane.showMessageDialog(null,
"Incorrecto!!");
}
}
Tabla 2: Diagrama de Flujo 2
5.2 Solución
Con la finalidad del presente proyecto se prentende ayudar agilizar los procesos
de aprendizaje
Para que a su vez ayude a los profesores en sus metedos de enseñanza hacia
el alumno de una manera mas eficiente.
6 CONCLUSIONES
• Hemos realizado este proyecto mediante investigaciones en las cuales hemos
puesto nuestros conociemientos y habilidades en la creacion de este juego
educativo para que asi puedan aprender las nuevas generaciones como
ayuda en su aprendizaje.
• Este juego educativo se desarrolla para el aprendizaje de los estudiantes de
una forma instructiva.
• En la actualidad la tecnologia influye mucho en la educacion,por eso como
estudiantes de ingenieria de sistemas hemos desarrollado este programa con
“Medina Arias” - “Vicuña Guanuche” 19
Proyecto Final de Programación I
sus respestivos manuales para asi facilitar con su aprendizaje .
7 RECOMENDACIONES
• Como protaginostas sobre este proyecto recomendamos a los estudiantes de
educacion basica tener conocimientos sobre operaciones de matematicas
basicas.
• Recomendamos alos estudiantes seguir los instructivos del programa para
que asi no tengan inconvendientes al entender el juego educativo.
• Surgerismo a los profesionales del ambito de educacion basica, poner en
practica medios tecnologicos,para que asi el estudiante sepa como utilizar un
software en este caso un juego educativo.
8 REFERENCIAS BIBLIOGRÁFICAS
PrograMundo. (s.f.). programundo.com. Obtenido de programundo.com:
http://www.programundo.com/consejos-para-programar-aplicaciones-graficas-con-
java-en-swing
Yosh. (s.f.). yosh35.tripod.com. Obtenido de http://yosh35.tripod.com/id5.html:
http://yosh35.tripod.com/id5.html
“Medina Arias” - “Vicuña Guanuche” 20
Proyecto Final de Programación I
9 ANEXOS.
9.1 Código fuente del programa
“Medina Arias” - “Vicuña Guanuche” 21
FIGURA 1: Diagrama Flujo 1
Ilustración 1
Proyecto Final de Programación I
9.2-Documentación fotográfica
“Medina Arias” - “Vicuña Guanuche” 22
FIGURA 2: Diagrama Flujo 2
Ilustración 2
FIGURA 3: Ventana Principal
: Ilustración 3
Proyecto Final de Programación I
“Medina Arias” - “Vicuña Guanuche” 23
Il
FIGURA 4: Ventana Multiplicacion
FIGURA 5: Ventana Division
Ilustración 5:
Ilustración 4:

Más contenido relacionado

Destacado

Guía observación quinto_semestre
Guía observación quinto_semestreGuía observación quinto_semestre
Guía observación quinto_semestreManuel Lomelí
 
Punto 5 norma ISO 9000
Punto 5 norma ISO 9000Punto 5 norma ISO 9000
Punto 5 norma ISO 9000Franko08san
 
Revista digital
Revista digitalRevista digital
Revista digitalDMARDYKAT
 
Presentación de la charla "Community Manager"
Presentación de la charla "Community Manager"Presentación de la charla "Community Manager"
Presentación de la charla "Community Manager"Lima Innova
 
Phpwebquestcastellano
PhpwebquestcastellanoPhpwebquestcastellano
Phpwebquestcastellanojeanny8000
 
Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906Vision Tecnologica
 
¿Por qué se creo el internet?
¿Por qué se creo el internet?¿Por qué se creo el internet?
¿Por qué se creo el internet?Irvin Ruiz Rojas
 
tipod de formato format factory
tipod de formato format factorytipod de formato format factory
tipod de formato format factoryomar quiroz felix
 
Evaluación métodos de estudio CLAUDIA S.T.G
Evaluación métodos de estudio CLAUDIA S.T.G Evaluación métodos de estudio CLAUDIA S.T.G
Evaluación métodos de estudio CLAUDIA S.T.G Claudia Tipantuña
 
Software libre
Software libreSoftware libre
Software librenanda1216
 

Destacado (20)

GBI UNIMINUTO
GBI UNIMINUTOGBI UNIMINUTO
GBI UNIMINUTO
 
Secuencia 1
Secuencia 1Secuencia 1
Secuencia 1
 
Guía observación quinto_semestre
Guía observación quinto_semestreGuía observación quinto_semestre
Guía observación quinto_semestre
 
Punto 5 norma ISO 9000
Punto 5 norma ISO 9000Punto 5 norma ISO 9000
Punto 5 norma ISO 9000
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Presentación de la charla "Community Manager"
Presentación de la charla "Community Manager"Presentación de la charla "Community Manager"
Presentación de la charla "Community Manager"
 
Diabetes Mellitus 1
Diabetes Mellitus 1Diabetes Mellitus 1
Diabetes Mellitus 1
 
Phpwebquestcastellano
PhpwebquestcastellanoPhpwebquestcastellano
Phpwebquestcastellano
 
Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906
 
Cambio de polaridad en la tierra
Cambio de polaridad en la tierraCambio de polaridad en la tierra
Cambio de polaridad en la tierra
 
¿Por qué se creo el internet?
¿Por qué se creo el internet?¿Por qué se creo el internet?
¿Por qué se creo el internet?
 
tipod de formato format factory
tipod de formato format factorytipod de formato format factory
tipod de formato format factory
 
Programacion web
Programacion webProgramacion web
Programacion web
 
BRAM STOKER DRACULA
BRAM STOKER DRACULABRAM STOKER DRACULA
BRAM STOKER DRACULA
 
Evaluación métodos de estudio CLAUDIA S.T.G
Evaluación métodos de estudio CLAUDIA S.T.G Evaluación métodos de estudio CLAUDIA S.T.G
Evaluación métodos de estudio CLAUDIA S.T.G
 
Enfoque familiar del paciente dismovilizado
Enfoque familiar del paciente dismovilizadoEnfoque familiar del paciente dismovilizado
Enfoque familiar del paciente dismovilizado
 
Déficit Atencional: más allá de las pastillas
Déficit Atencional: más allá de las pastillasDéficit Atencional: más allá de las pastillas
Déficit Atencional: más allá de las pastillas
 
Sistema ACG: información para la gestión en APS
Sistema ACG: información para la gestión en APSSistema ACG: información para la gestión en APS
Sistema ACG: información para la gestión en APS
 
Software libre
Software libreSoftware libre
Software libre
 
Trabajo jose
Trabajo joseTrabajo jose
Trabajo jose
 

Similar a Informe de Proyecto de Utilitarios 1

SISTEMA APLICACION INFANTIL
SISTEMA APLICACION INFANTILSISTEMA APLICACION INFANTIL
SISTEMA APLICACION INFANTILangeles-lupita
 
E portafolio kelly
E portafolio kellyE portafolio kelly
E portafolio kellyKPINTOR
 
Introduccion pensamiento-computacional
Introduccion pensamiento-computacionalIntroduccion pensamiento-computacional
Introduccion pensamiento-computacionalssuser957347
 
Pensamiento Numérico y Algebraico
Pensamiento Numérico y AlgebraicoPensamiento Numérico y Algebraico
Pensamiento Numérico y AlgebraicoNaciris
 
Entonos plataformaequipo2 g2doc_toluca
Entonos plataformaequipo2 g2doc_tolucaEntonos plataformaequipo2 g2doc_toluca
Entonos plataformaequipo2 g2doc_tolucaPaloma Paloma
 
La importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICas
La importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICasLa importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICas
La importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICasLuis Miguel Iglesias Albarrán
 
Proyecto de investigación.
Proyecto de investigación.Proyecto de investigación.
Proyecto de investigación.David Amaya
 
Ejemplo plan formacion_tic_ud1_guia
Ejemplo plan formacion_tic_ud1_guiaEjemplo plan formacion_tic_ud1_guia
Ejemplo plan formacion_tic_ud1_guia25nsm25
 
Robots, videojuegos y fractales
Robots, videojuegos y fractalesRobots, videojuegos y fractales
Robots, videojuegos y fractalesStephani Rodriguez
 
Pensamiento computacional: Una nueva alfabetización digital Computational Thi...
Pensamiento computacional: Una nueva alfabetización digitalComputational Thi...Pensamiento computacional: Una nueva alfabetización digitalComputational Thi...
Pensamiento computacional: Una nueva alfabetización digital Computational Thi...Miguel Zapata-Ros
 
Manual 1° Secundaria (Videojuegos).pdf
Manual 1° Secundaria (Videojuegos).pdfManual 1° Secundaria (Videojuegos).pdf
Manual 1° Secundaria (Videojuegos).pdfCeciliaGuadalupeEsqu
 

Similar a Informe de Proyecto de Utilitarios 1 (20)

SISTEMA APLICACION INFANTIL
SISTEMA APLICACION INFANTILSISTEMA APLICACION INFANTIL
SISTEMA APLICACION INFANTIL
 
E portafolio kelly
E portafolio kellyE portafolio kelly
E portafolio kelly
 
Introduccion pensamiento-computacional
Introduccion pensamiento-computacionalIntroduccion pensamiento-computacional
Introduccion pensamiento-computacional
 
Herramientas interactivas
Herramientas interactivasHerramientas interactivas
Herramientas interactivas
 
Proyecto tecnologico liz
Proyecto tecnologico lizProyecto tecnologico liz
Proyecto tecnologico liz
 
Pensamiento Numérico y Algebraico
Pensamiento Numérico y AlgebraicoPensamiento Numérico y Algebraico
Pensamiento Numérico y Algebraico
 
Entonos plataformaequipo2 g2doc_toluca
Entonos plataformaequipo2 g2doc_tolucaEntonos plataformaequipo2 g2doc_toluca
Entonos plataformaequipo2 g2doc_toluca
 
La importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICas
La importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICasLa importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICas
La importancia del Lenguaje y la 'C'omunicación en MatemáTICas #LingMáTICas
 
Quince paginas utiles para la pe
Quince paginas utiles para la peQuince paginas utiles para la pe
Quince paginas utiles para la pe
 
Proyecto de investigación.
Proyecto de investigación.Proyecto de investigación.
Proyecto de investigación.
 
Ejemplo plan formacion_tic_ud1_guia
Ejemplo plan formacion_tic_ud1_guiaEjemplo plan formacion_tic_ud1_guia
Ejemplo plan formacion_tic_ud1_guia
 
Robótica
RobóticaRobótica
Robótica
 
Robots, videojuegos y fractales
Robots, videojuegos y fractalesRobots, videojuegos y fractales
Robots, videojuegos y fractales
 
Tarea 3.5 r
Tarea 3.5 rTarea 3.5 r
Tarea 3.5 r
 
Tarea 3.5 r
Tarea 3.5 rTarea 3.5 r
Tarea 3.5 r
 
Curso propedeutico eje2
Curso propedeutico eje2Curso propedeutico eje2
Curso propedeutico eje2
 
Proyecto scratch I.E 0034
Proyecto scratch I.E 0034Proyecto scratch I.E 0034
Proyecto scratch I.E 0034
 
Pensamiento computacional: Una nueva alfabetización digital Computational Thi...
Pensamiento computacional: Una nueva alfabetización digitalComputational Thi...Pensamiento computacional: Una nueva alfabetización digitalComputational Thi...
Pensamiento computacional: Una nueva alfabetización digital Computational Thi...
 
Manual 1° Secundaria (Videojuegos).pdf
Manual 1° Secundaria (Videojuegos).pdfManual 1° Secundaria (Videojuegos).pdf
Manual 1° Secundaria (Videojuegos).pdf
 
Jclic presentacion
Jclic presentacionJclic presentacion
Jclic presentacion
 

Informe de Proyecto de Utilitarios 1

  • 1. Proyecto Final de Programación I UNIVERSIDAD TÉCNICA DE MACHALA FACULTAD DE INGENIERÍA CIVIL ESCUELA DE INFORMÁTICA PRIMER QUIMESTRE PARALELO A UTILITARIOS 1 “Juego de Matematicas” Proyecto Final de Utilitarios 1 Autores: Jonathan Alexander Vicuña Guanuche Erik Leonardo Medina Arias Docente: Ing. Fausto Redrován Castillo, Mg. MACHALA - ECUADOR SEPTIEMBRE, 2013 “Medina Arias” - “Vicuña Guanuche” 1
  • 2. Proyecto Final de Programación I Ing. Fausto Redrován, Mg. AUTORÍA: Nosotros, Medina Arias Erik Leonardo y Jonathan Alexander Vicuña Guanuche, como autores del presente trabajo de investigación, somos responsables de las ideas, conceptos, procedimientos y resultados vertidos en la misma. f………………………………. f………………………………. Medina Arias Erik Leonardo Jonathan Alexander Vicuña Guanuche C.I.: 0704393263 C.I.:0706536653 “Medina Arias” - “Vicuña Guanuche” 2
  • 3. Proyecto Final de Programación I Índice de contenido JUSTIFICACIÓN.......................................................................................................................5 OBJETIVOS...............................................................................................................................5 Objetivo General................................................................................................................5 Objetivos Específicos........................................................................................................5 ANTECEDENTES......................................................................................................................5 MARCO TEÓRICO....................................................................................................................6 Ventajas en la utilización de Eclipse ...................................................................................12 MARCO METODOLÓGICO...................................................................................................14 Análisis de resultados......................................................................................................15 Solución...........................................................................................................................19 CONCLUSIONES....................................................................................................................19 RECOMENDACIONES..........................................................................................................20 REFERENCIAS BIBLIOGRÁFICAS.....................................................................................20 ANEXOS..................................................................................................................................21 Código fuente del programa...........................................................................................21 -Documentación fotográfica............................................................................................22 “Medina Arias” - “Vicuña Guanuche” 3
  • 4. Proyecto Final de Programación I Índice de tablas Tabla 1: Diagrama de flujo 1.....................................................................................................17 Tabla 2: Diagrama de Flujo 2....................................................................................................19 Índice de ilustraciones Ilustración 1...............................................................................................................................21 Ilustración 2...............................................................................................................................22 : Ilustración 3............................................................................................................................22 Ilustración 4: ............................................................................................................................23 Ilustración 5: ............................................................................................................................23 “Medina Arias” - “Vicuña Guanuche” 4
  • 5. Proyecto Final de Programación I 1 JUSTIFICACIÓN Este proyecto se realizo con la principal finalidad de que el alumno, mediante de una manera creativa y dinamica aprenda a resolver operaciones basicas de matematicas. La elaboración del proyecto fue de carácter educativo ya que se lo realizo para una escuela ya que con esto no solo se busca nuestra mejora sino que de cierto modo ayudar con la educación del país. Esto quiere decir que ganamos experiencia no solo como estudiantes sino también como profesionales ya que este proyecto nos puso en condiciones no de estudiantes sino de profesionales porque lo creamos con un fin como también el de promocionarlo. 2 OBJETIVOS 2.1 Objetivo General Crear un espacio en el que los niños, por medio de un juego interactivo educativo, muestren sus conociemientos y habilidades con respecto a las matematicas 2.2 Objetivos Específicos • Ayudar al aprendizaje de los estudiantes mediante un juego • Innovar nuevas formas de aprendizaje mediante la tecnología. • Diseñar juegos adaptados al programa de estudio que permitan al estudiante mejorar el rendimiento académico. 3 ANTECEDENTES La Escuela “SANTISIMOS CORAZONES”, a través de la distinguida autoridad nominadora la Hna. Leopoldina Angamarca, en su calidad de Directora nos permitió realizar el proyecto para la escuela que ella dirige la cual se mostró muy complacida porque tomamos en cuenta su escuela para la realización del proyecto. “Medina Arias” - “Vicuña Guanuche” 5
  • 6. Proyecto Final de Programación I Herramientas a utilizar • Para crear el juego • Eclipse desktop java • Java JDK Confección de caja • Papel vinil • Cartón • Papel adhesivo • Ιmpresiones Exposición • proyector • laptop • caja(diseñada) 4 MARCO TEÓRICO Razonamiento En sentido amplio, se entiende por razonamiento la facultad humana que permite resolver problemas, extraer conclusiones de los hechos y aprender de manera consciente de los hechos estableciendo conexiones casuales y lógicas necesarias entre ellos. En sentido más restringido se puede hablar de diferentes tipos de razonamiento: El razonamiento lógico o causal es una operación lógica mediante la cual, partiendo de uno o más juicios, se deriva la validez, la posibilidad o la falsedad de otro juicio distinto. El estudio de los argumentos corresponde a la lógica, de modo que a ella también le corresponde indirectamente el estudio del razonamiento. Por lo general, los juicios en que se basa un razonamiento “Medina Arias” - “Vicuña Guanuche” 6
  • 7. Proyecto Final de Programación I expresan conocimientos ya adquiridos o, por lo menos, postulados como hipótesis. Es posible distinguir entre varios tipos de razonamiento lógico. Por ejemplo el razonamiento deductivo(estrictamente lógico), el razonamiento inductivo (donde interviene la probabilidad y la formulación de conjeturas) y razonamiento abdicativo, entre otros. Razonamiento lógico En un sentido restringido, se llama razonamiento lógico al proceso mental de realizar una inferencia de una conclusión a partir de un conjunto de premisas. La conclusión puede no ser una consecuencia lógica de las premisas y aun así dar lugar a un razonamiento, ya que un mal razonamiento aún es un razonamiento (en sentido amplio, no en el sentido de la lógica). Los razonamientos pueden ser válidos (correctos) o no válidos (incorrectos). En general, se considera válido un razonamiento cuando sus premisas ofrecen soporte suficiente a su conclusión. Puede discutirse el significado de" soporte suficiente", aunque cuando se trata de un razonamiento no deductivo, el razonamiento es válido si la verdad de las premisas hace probable la verdad de la conclusión. En el caso del razonamiento deductivo, el razonamiento es válido cuando la verdad de las premisas implica necesariamente la verdad de la conclusión. REQUISITOS PARA PROGRAMAR APLICACIONES GRÁFICAS CON JAVA EN SWING En la aplicación sólo debe haber un único JFrame correspondiente a la aplicación principal. Todas las ventanas secundarias deben ser JDialog. Todas las ventanas secundarias deben tener una ventana padre, que es a partir de la cual se despliega. Es decir, todos los JDialog secundarios deben tener como padre al JFrame principal. Si desde un JDialog se va a visualizar otro, este segundo debe tener como padre al primero, y así sucesivamente. Evita en lo posible los JDialog modales, o ten muy en cuenta su jerarquía de padres. El primer JDialog modal no tiene problemas si le pones su padre adecuadamente. Si tienes un JDialog modal visible, no muestres otro JDialog secundario, salvo que también sea modal y sea hijo del anterior. Si pones “Medina Arias” - “Vicuña Guanuche” 7
  • 8. Proyecto Final de Programación I visibles a la vez dos JDialog modales y no son el uno hijo del otro, tendrás problemas al intentar escribir en ellos o cerrarlos. Nunca heredes de JFrame o JDialog o JApplet para hacer tus ventanas. Hazlo siempre de un componente que no sea ventana y que no te limite. Si tus ventanas heredan de JPanel, podrás ponerlas siempre que quieras dentro de un JFrame, un JDialog, un JInternalFrame, un JApplet o incluso incrustarlas en otro JPanel. Si tu ventana hereda de JFrame, está condenada a ser un JFrame toda su vida. Reaprovecha las ventanas, no se las dejes al recolector de basura. Si un botón, al apretarlo, visualiza un JDialog, no hagas un new de JDialog cada vez que pulsas el botón. Es mejor hacer sólo un new la primera vez y guardárselo. En las siguientes veces bastará con hacer setVisible (true) y setVisible (false). Para que el recolector de basura libere una ventana, además de lo habitual, hay como mínimo que llamar al método dispose () de dicha ventana -cosa que mucha gente no sabe- , para que el sistema de eventos de teclado y ratón eliminen todas las referencias que tienen a ella. De todas formas, incluso así no tengo muy claro que los JDialog se liberen siempre y, desde luego, en versiones anteriores de Java, los JFrame NUNCA se liberaban. La excusa de SUN es que como sólo debía haber un JFrame principal, no tenía sentido liberarlo. Los layouts para situar componentes no son tan complicados, sólo hay que ponerse a ello. No uses el layouts null, ya que tu ventana no será redimensionadle y puedes tener problemas si cambia la fuente de letra, si tu programa se ejecuta en otro sistema operativo, se cambia el look & feel, etc. Una vez que sepas los layouts simples, tenderás a hacer ventanas grandes a base de anidar muchos JPanel que a su vez tienen dentro JPanel que su vez tienen dentro JPanel, todos ellos con un layouts simple. Eso hace ventanas muy pesadas y que consumen mucho. Aprende a usar el GridBagLayout para hacer un solo panel con todo. La excepción a esto es que tengas pequeños JPanel reutilizables, como un editor de coordenadas geográficas que pida “Medina Arias” - “Vicuña Guanuche” 8
  • 9. Proyecto Final de Programación I latitud, norte/sur, longitud, este/oeste, un panel que pida usuario y password, etc. Todos los eventos de ratón y teclado se ejecutan en el mismo hilo que repinta las ventanas . Si en un actionPerformed (), keyPressed (),… tu código tarda mucho o pretendes que se pinte algo en una ventana, simplemente no lo hará hasta que tu código termine. Si tu código en un actionPerformed () va a tardar mucho o tiene que pintar cosas en la ventana, lanza un hilo aparte para hacer esa tarea y termina el actionPerformed () lo antes posible.(PrograMundo) LIBRERIAS DE JAVA Java es un lenguaje de programación desarrollado para una multitud de plataformas y procesadores. Aplicaciones o programas gráficos deberán tomar en cuenta estos aspectos, para propósitos de este libro, consideramos los dos tipos de aplicaciones graficas más comunes. Modelos de Frames y Applets, se pueden construir usando cualquiera de las dos galerías de componentes visuales que proporciona java, estas librerías visuales, son: 1.- JAVA AWT es la librería visual más antigua de java usando esta librería, se podrán construir los tres tipos de programas más comunes como son FRAME, WINDOW y APPLET. 2.- JAVA SWING es la librería de componentes visuales mas nueva que proporciona java, usando esta librería se podrán construir los tres tipos de programas o aplicaciones que son JFRAME, JWINDOW y JAPPLET. PARA PROPOSITOS DE ESTE CURSO NOS CONCENTRAMOS EN JAVA FRAME Y JAVA APPLET derivados de JAVA AWT (la librería visual antigua), por la triste razón de que el modelo de ejecución de estos programas, está muy asociado al compilador de java que traen los browsers. Otra vez, un Applets es un programa un java que se manda a una maquina o PC remota para que lo ejecute o lo corra, cuando este Applets le llega a la “Medina Arias” - “Vicuña Guanuche” 9
  • 10. Proyecto Final de Programación I maquina remota vía un browser, dicho browser es quien activa la maquina virtual de java que está en la PC remota y esta máquina virtual ya da la orden de compilación y ejecución, es decir java programa.applet. Entonces es importante que la maquine virtual de java, que se encuentra en la PC remota, tenga capacidad de incluir todas las librerías de java, como la de match, la de awt, la de lang, etc.(Yosh) MANEJO DE EVENTOS Eventos En evento es una acción iniciada por el usuario. Ejemplo de eventos son: presionar un botón, cambiar un texto, etc. Cada vez que se produce un evento, se crea un objeto. La clase padre de los eventos es: java.awt.Event Tipos de Eventos ComponentEvent: Se producirá este tipo de evento cuando el usuario mueva o redimensione un componente. FocusEvent: Se producirá este tipo de evento cuando se cambie el foco de un componente. KeyEvent: se producirá cuando el usuario pulse una tecla. MouseEvent: Se producirá cuando el usuario efectúe un movimiento con el ratón o haga un click. Tipos de Eventos ContainerEvent: se producirá cuando se añadan o eliminen componentes en el contenedor. WindowEvent: se producirá cuando se realice algún tipo de operación con la ventana como abrirla y cerrarla. ActionEvent: Se producirá cuando se efectúe alguna acción sobre un componente, como por ejemplo: la pulsación de un botón. Tipos de Eventos AdjustmentEvent: Se ajusta algún valor de un componente. ItemEvent: Se ha modificado el estado de algún elemento que pertenece al componente. TextEvent: El contenido de texto de algún componente ha cambiado. Métodos asociados a la clase MouseEvent getClickCount (): Devuelve el número de clicks asociados con el evento. GetX (): Devuelve la posición x del mouse cuando se genera un evento. GetY (): Devuelve la posición y del “Medina Arias” - “Vicuña Guanuche” 10
  • 11. Proyecto Final de Programación I mouse cuando se genera un evento. Métodos de la clase KeyEvent getKeyChar (): Devuelve el carácter asociado con la tecla que produjo el evento. GetKeyCode (): Devuelve el código de la tecla que produjo el evento. GetKeyModifiersText (int): Devuelve una cadena que indica el modificador de la tecla, por ejemplo “Shift”. GetKeyText (int): Devuelve una cadena que indica el tipo de tecla pulsada. Ejemplo: F1, indicando que es una tecla de función. Las Interfaces de escucha (Event Listeners) Para poder capturar todos los eventos, Java proporciona las interfaces de escucha (listeners). Para cada tipo de evento existe una interface de escucha. Ejemplo: Para los eventos de tipo ActionEvent existe la interface escucha ActionListener. Para los eventos de tipo MouseEvent existe la interface escucha MouseListener. Métodos de la Interface MouseListener mouseClicked (MouseEvent e): cuando se hace un click de ratón mouseEntered (MouseEvent e): cuando el ratón entra en la aplicación. MouseExited (MouseEvent e): cuando el ratón sale de la aplicación. MousePressed (MouseEvent e): se ha pulsado un botón del ratón. MouseReleased (MouseEvent e): se ha soltado un botón del ratón. Métodos de la Interface WindowListener windowActivated (WindowEvent e): Es invocado cuando una ventana es sentenciada como la ventana activa. WindowClosed (WindowEvent e): Es invocado cuando una ventana ha sido cerrada. WindowClosing (WindowEvent e): Es invocado cuando el usuario intenta cerrar la ventana. WindowDeactivated (WindowEvent e):Es invocado cuando la ventana deja de ser la ventana activa. WindowDeiconified (WindowEvent e):Es invocado cuando una ventana pasa de estado minimizado a normal windowIconified (WindowEvent e): Es invocado cuando una ventana va estado normal a minimizada. WindowOpened (WindowEvent e):Es invocado la primera vez que la ventana se hace visible. Método de la Interface ActionListener actionPerformed (ActionEvent e): Es invocado cuando una acción ocurre, como presionar un botón. Ver ConvertMiles.java y HideAndSeek.java “Medina Arias” - “Vicuña Guanuche” 11
  • 12. Proyecto Final de Programación I Adaptadores Cuando se desea escuchar algún tipo de evento se deben implementar todos los métodos de la Interface de escucha (listener interface), para que nuestra clase no tenga que ser definida como abstracta. Para resolver este problema se hicieron los adaptadores. Los adaptadores Son clases que implementan un listener, pero no realizan ningún tipo de operación. Por ejemplo, el adaptador de la clase escucha MouseListener es MouseAdapter y la implementación de este adaptador es la siguiente: Public abstract class MouseAdapter implements MouseListener {public void mouseClicked (MouseEvent e) {} public void mousePressed (MouseEvent e) {} public void mouseReleased (MouseEvent e) {} public void mouseEntered (MouseEvent e) {} public void mouseExited (MouseEvent e) {}} De esta forma cuando creemos una clase que hereda de MouseAdapter sólo implementaremos los métodos necesarios y que más nos interesen para gestionar los eventos. ECLYPSE Eclipse: es un entorno de desarrollo integrado, de Código abierto y Multiplataforma. Mayoritariamente se utilliza para desarrollar lo que se conoce como "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Es una potente y completa plataforma de Programación, desarrollo y compilación de elementos tan variados como sitios web, programas en C++ o aplicaciones Java. No es más que un entorno de desarrollo integrado (IDE) en el que encontrarás todas las herramientas y funciones necesarias para tu trabajo, recogidas además en una atractiva interfaz que lo hace fácil y agradable de usar. Ventajas en la utilización de Eclipse 1- 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 “Medina Arias” - “Vicuña Guanuche” 12
  • 13. Proyecto Final de Programación I funcionalidades están todas incluidas, las necesite el usuario o no. 2- 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. 3-La arquitectura plug-in permite escribir cualquier extensión deseada en el ambiente, como sería Gestión de la configuración. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamente para soportar otros Lenguajes de programación. 4- La definición que da el proyecto Eclipse acerca de su Software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular". En cuanto a la utilización de eclipse para la creación de aplicaciones clientes se puede decir que: 1- Eclipse provee al programador con Frameworks muy ricos para el desarrollo de aplicaciones gráficas, definición y manipulación de modelos de Software, Aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la edición gráfica) es un plug-in de Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de texto wysiwyg hasta editores de diagramas UML, interfaces gráficas para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse, además de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz gráfica personalizable y profesional. 2- El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador de Java interno y un modelo completo de los archivos fuente de Java. Esto permite técnicas avanzadas de refactorización y análisis de código. 3- El IDE también hace uso de un espacio de trabajo, en este caso un grupo de “Medina Arias” - “Vicuña Guanuche” 13
  • 14. Proyecto Final de Programación I metadata en un espacio para archivos plano, permitiendo modificaciones externas a los archivos en tanto se refresque el espacio de trabajo correspondiente. 5 MARCO METODOLÓGICO Se procedio al analisis y selecion del tema del programa a desarrollar en beneficio a educacion basica, estableciendo asi nuestro objetivos para alcanzar la solucion deseada.Para asi poder aplicar algoritmos en eclipse utilizando el estandar de programacion, haciendo un importante uso de las estructuras de control, la generacion de numeros aleatorios para el uso de operaciones matematicas basicas del programa. “Medina Arias” - “Vicuña Guanuche” 14
  • 15. Proyecto Final de Programación I 5.1 Análisis de resultados “Medina Arias” - “Vicuña Guanuche” 15
  • 16. Proyecto Final de Programación I Codigo Diagrama de Flujo if(args.getSource().equals(btnAsigna r_M)){ txt_M = textField_M.getText(); n_M = Integer.parseInt(txt_M); if(n_M==1 || n_M==2 || n_M==3){ switch(n_M){ case 1: n1_M=(double) (Math.random()*10); n2_M=(double) (Math.random()*10); df = new DecimalFormat("0.00"); String convert1 =df.format(n1_M); String convert2 =df.format(n2_M); label_M.setText(convert1); label_1_M.setText(convert2); result_M = n1_M*n2_M; respuesta_M=df.format(result_M); r1_M=(double) (Math.random()*100); r2_M=(double) (Math.random()*100); r3_M=(double) (Math.random()*100); r4_M=(double) (Math.random()*100); res1_M=df.format(r1_M); res2_M=df.format(r2_M); res3_M=df.format(r3_M); res4_M=df.format(r4_M); “Medina Arias” - “Vicuña Guanuche” 16
  • 17. Proyecto Final de Programación I Codigo Diagrama de Flujo resp1_M.setText(res1_M); resp2_M.setText(res2_M); resp3_M.setText(res3_M); resp4_M.setText(res4_M); do{ asignaR_M=(int) (Math.random()*5); }while (asignaR_M==0); if(asignaR_M==1){ resp1_M.setText(respuesta_M); }else if(asignaR_M==2){ resp2_M.setText(respuesta_M); }else if(asignaR_M==3){ resp3_M.setText(respuesta_M); }else if(asignaR_M==4){ resp4_M.setText(respuesta_M); };brea k; Tabla 1: Diagrama de flujo 1 “Medina Arias” - “Vicuña Guanuche” 17
  • 18. Proyecto Final de Programación I Codigo Diagrama de Flujo if(args.getSource().equals(btnVerifi car_M)){ String txt2 =textField_1_M.getText(); if(asignaR_M==1){ if(txt2.equals("A")|| txt2.equals("a")){ JOptionPane.showMessageDialog(null, "Respondiste Correctamente"); }else{ JOptionPane.showMessageDialog(null, "Incorrecto!!"); } }else if(asignaR_M==2){ if(txt2.equals("B")|| txt2.equals("b")){ JOptionPane.showMessageDialog(null, "Respondiste Correctamente"); }else{ JOptionPane.showMessageDialog(null, "Incorrecto!!"); } }else if(asignaR_M==3){ if(txt2.equals("C")|| txt2.equals("c")){ JOptionPane.showMessageDialog(null, "Respondiste Correctamente"); }else{ JOptionPane.showMessageDialog(null, "Incorrecto!!"); } }else if(asignaR_M==4){ if(txt2.equals("D")|| “Medina Arias” - “Vicuña Guanuche” 18
  • 19. Proyecto Final de Programación I Codigo Diagrama de Flujo txt2.equals("d")){ JOptionPane.showMessageDialog(null, "Respondiste Correctamente"); }else{ JOptionPane.showMessageDialog(null, "Incorrecto!!"); } }else{ JOptionPane.showMessageDialog(null, "Incorrecto!!"); } } Tabla 2: Diagrama de Flujo 2 5.2 Solución Con la finalidad del presente proyecto se prentende ayudar agilizar los procesos de aprendizaje Para que a su vez ayude a los profesores en sus metedos de enseñanza hacia el alumno de una manera mas eficiente. 6 CONCLUSIONES • Hemos realizado este proyecto mediante investigaciones en las cuales hemos puesto nuestros conociemientos y habilidades en la creacion de este juego educativo para que asi puedan aprender las nuevas generaciones como ayuda en su aprendizaje. • Este juego educativo se desarrolla para el aprendizaje de los estudiantes de una forma instructiva. • En la actualidad la tecnologia influye mucho en la educacion,por eso como estudiantes de ingenieria de sistemas hemos desarrollado este programa con “Medina Arias” - “Vicuña Guanuche” 19
  • 20. Proyecto Final de Programación I sus respestivos manuales para asi facilitar con su aprendizaje . 7 RECOMENDACIONES • Como protaginostas sobre este proyecto recomendamos a los estudiantes de educacion basica tener conocimientos sobre operaciones de matematicas basicas. • Recomendamos alos estudiantes seguir los instructivos del programa para que asi no tengan inconvendientes al entender el juego educativo. • Surgerismo a los profesionales del ambito de educacion basica, poner en practica medios tecnologicos,para que asi el estudiante sepa como utilizar un software en este caso un juego educativo. 8 REFERENCIAS BIBLIOGRÁFICAS PrograMundo. (s.f.). programundo.com. Obtenido de programundo.com: http://www.programundo.com/consejos-para-programar-aplicaciones-graficas-con- java-en-swing Yosh. (s.f.). yosh35.tripod.com. Obtenido de http://yosh35.tripod.com/id5.html: http://yosh35.tripod.com/id5.html “Medina Arias” - “Vicuña Guanuche” 20
  • 21. Proyecto Final de Programación I 9 ANEXOS. 9.1 Código fuente del programa “Medina Arias” - “Vicuña Guanuche” 21 FIGURA 1: Diagrama Flujo 1 Ilustración 1
  • 22. Proyecto Final de Programación I 9.2-Documentación fotográfica “Medina Arias” - “Vicuña Guanuche” 22 FIGURA 2: Diagrama Flujo 2 Ilustración 2 FIGURA 3: Ventana Principal : Ilustración 3
  • 23. Proyecto Final de Programación I “Medina Arias” - “Vicuña Guanuche” 23 Il FIGURA 4: Ventana Multiplicacion FIGURA 5: Ventana Division Ilustración 5: Ilustración 4: