http://lablenguajesdaniela.blogspot.com/2011/11/como-mover-una-imagen-en-python.html
http://lablenguajesdaniela.blogspot.com/2011/11/funciones-de-pruebas-unitarias-en.html
http://lablenguajesdaniela.blogspot.com/2011/11/hacer-orientado-objetos-programas-en.html
http://lablenguajesdaniela.blogspot.com/2011/11/cargar-imagenes-en-python.html
http://lablenguajesdaniela.blogspot.com/2011/11/usar-editor-de-imagenes-gimp.html
http://lablenguajesdaniela.blogspot.com/2011/11/como-correr-pruebas-unitarias-en-python.html
http://lablenguajesdaniela.blogspot.com/2011/11/como-generar-codigo-partir-de-diagrama.html
http://lablenguajesdaniela.blogspot.com/2011/11/como-hacer-un-ejecutable-de-python.html
http://lablenguajesdaniela.blogspot.com/2011/09/empezando-videojuego-parte-4.html
http://lablenguajesdaniela.blogspot.com/2011/09/empezando-videojuego-parte-3.html
http://lablenguajesdaniela.blogspot.com/2011/09/empezando-videojuego-parte-2.html
http://lablenguajesdaniela.blogspot.com/2011/09/empezando-videojuego-parte-1.html
Etiquetas
And
(1)
Buffer
(1)
C
(3)
Clase POO
(12)
Conversión
(1)
Factorial
(1)
Fortran
(1)
Funciones trigonométricas
(1)
If
(1)
Información general
(1)
Java
(2)
Laboratorio Lenguajes de Programación
(28)
Librería Math
(4)
Librerías
(2)
Or
(1)
Perl
(5)
Programación Orientada a Objetos
(1)
Puntos extra Clase POO
(9)
Puntos extra Taller POO
(12)
Python
(13)
Scheme
(2)
Semana 1
(1)
Semana 13
(5)
semana 14
(4)
Semana 2
(3)
Semana 3
(3)
Semana 4
(3)
Semana 5
(1)
Shell
(1)
Switch
(2)
Taller POO
(10)
Tarea extra
(5)
Tarea semanal
(12)
While
(1)
Mostrando entradas con la etiqueta Taller POO. Mostrar todas las entradas
Mostrando entradas con la etiqueta Taller POO. Mostrar todas las entradas
martes, 22 de noviembre de 2011
Entradas puntos extra Taller POO
sábado, 19 de noviembre de 2011
Pruebas unitarias Python Videojuego medieval
Las pruebas unitarias nos sirven para cuando queremos saber si nuestro software tiene fallos y poder resolverlos antes de distribuirlo.
Primero correré la prueba estándar, es decir pondré este código como una clase aparte en mi código del videojuego y lo correré:
class EjemploPruebas(unittest.TestCase):
def test(sel):
pass
if __name__ == "__main__":
unittest.main()
Vemos que la prueba obtuvo un "OK" es decir que todo está en orden.
Nota: Recordemos importar unittest, con la siguiente línea al comienzo de nuestro código: "import unittest"
Ahora probemos que los parámetros que nosotros pongamos en la prueba sean los mismos con el comando: "assertEqual"
Aquí establecí que los parámetros de x sean iguales a los que después especifiqué.
Ahora vamos con nuestra siguiente prueba
Comprobaré que cierto valor que yo tecleo, sea el mismo al anteriormente mencionado. En este caso probaré la velocidad.
En este caso utilicé la función "assertTrue()" y mi resultado fue el siguiente:
A continuación haremos que una prueba falle. Con la función: failIf. Esta expresión manda un mensaje de fallido si la expresión es igual.
Y nos manda un mensaje de fallido como el que muestro a continuación
Hasta aquí llegan las pruebas.
Fuentes: http://mundogeek.net/archivos/2008/09/17/pruebas-en-python/
Primero correré la prueba estándar, es decir pondré este código como una clase aparte en mi código del videojuego y lo correré:
class EjemploPruebas(unittest.TestCase):
def test(sel):
pass
if __name__ == "__main__":
unittest.main()
Vemos que la prueba obtuvo un "OK" es decir que todo está en orden.
Nota: Recordemos importar unittest, con la siguiente línea al comienzo de nuestro código: "import unittest"
Ahora probemos que los parámetros que nosotros pongamos en la prueba sean los mismos con el comando: "assertEqual"
Aquí establecí que los parámetros de x sean iguales a los que después especifiqué.
Ahora vamos con nuestra siguiente prueba
Comprobaré que cierto valor que yo tecleo, sea el mismo al anteriormente mencionado. En este caso probaré la velocidad.
En este caso utilicé la función "assertTrue()" y mi resultado fue el siguiente:
A continuación haremos que una prueba falle. Con la función: failIf. Esta expresión manda un mensaje de fallido si la expresión es igual.
Y nos manda un mensaje de fallido como el que muestro a continuación
Hasta aquí llegan las pruebas.
Fuentes: http://mundogeek.net/archivos/2008/09/17/pruebas-en-python/
viernes, 18 de noviembre de 2011
Documentación técnica (código)
Al comienzo quise hacer mi documentación técnica con Doxygen, pero se me dificultó un poco encontrar información relacionada con Python (lenguaje que estoy utilizando para mi programa) y me decidí mejor por Epydoc, que es la documentación especialmente para Python. Es muy sencilla de utilizar, aquí los pasos que me llevaron a conseguirla:
Paso 1: Una vez generados los códigos de los diagramas de clases elaborados en uml, debemos tener instalado Epydoc. En el terminal escribimos: sudo apt-get install python-epydoc
Paso 2: Damos Enter y se instalará en nuestra computadora el Epydoc, es un poco pesado así que se tardará un tiempo. Ya que lo tenemos instalado nos situaremos en la carpeta donde tenemos nuestro código generado, y ya que estemos ahí, ejecutamos cada archivo de nuestras clases con "epydoc Jugador.py" es decir, primero "epydoc" ya que es nuestro programa para elaborar la documentación seguida de un espacio y el nombre de nuestro archivo con la extensión .py
Lo hacemos con todas las clases que se hayan generado en nuestro diagrama de clases y ya tendremos una carpeta llamada "html" y ahí se encuentra nuestra documentación.
Es todo por esta entrada, espero les haya servido a todos aquellos que les guste programar en Python tanto como a mí.
______________________________________________________-
_______________________________________________________________________
Nota: Se generaron más archivos con extensión .html pero consideré que estos fueron los más importantes, ya que son los principales de mis clases.
Fuentes: http://mundogeek.net/archivos/2008/07/07/documentacion-en-python/
http://epydoc.sourceforge.net/
http://preguntas.barrapunto.com/article.pl?sid=04/10/14/0914213
Paso 1: Una vez generados los códigos de los diagramas de clases elaborados en uml, debemos tener instalado Epydoc. En el terminal escribimos: sudo apt-get install python-epydoc
Paso 2: Damos Enter y se instalará en nuestra computadora el Epydoc, es un poco pesado así que se tardará un tiempo. Ya que lo tenemos instalado nos situaremos en la carpeta donde tenemos nuestro código generado, y ya que estemos ahí, ejecutamos cada archivo de nuestras clases con "epydoc Jugador.py" es decir, primero "epydoc" ya que es nuestro programa para elaborar la documentación seguida de un espacio y el nombre de nuestro archivo con la extensión .py
Lo hacemos con todas las clases que se hayan generado en nuestro diagrama de clases y ya tendremos una carpeta llamada "html" y ahí se encuentra nuestra documentación.
Es todo por esta entrada, espero les haya servido a todos aquellos que les guste programar en Python tanto como a mí.
______________________________________________________-
_______________________________________________________________________
Nota: Se generaron más archivos con extensión .html pero consideré que estos fueron los más importantes, ya que son los principales de mis clases.
Fuentes: http://mundogeek.net/archivos/2008/07/07/documentacion-en-python/
http://epydoc.sourceforge.net/
http://preguntas.barrapunto.com/article.pl?sid=04/10/14/0914213
Autogeneración de código a partir de uml.
Después de realizar mi diagrama de clases, aquí presento el código que autogeneró dicho diagrama.
Para mi clase de Jugador, este fue el resultado:
Y este es el código generado por la clase Fierro
Para mi clase de Jugador, este fue el resultado:
from Fierro import *
from Double import *
class Jugador(object):
"""
:version:
:author:
"""
""" ATTRIBUTES
sprite (private)
ancho (private)
largo (private)
posicionX (private)
posicionY (private)
"""
def colisionar(self, f):
"""
@param Fierro f :
@return :
@author
"""
pass
def mover(self, x, y):
"""
@param double x :
@param double y :
@return :
@author
"""
pass
def setLargo(self, l):
"""
@param double l :
@return :
@author
"""
pass
def setAncho(self, a):
"""
@param double a :
@return :
@author
"""
pass
def getLargo(self):
"""
@return double :
@author
"""
pass
def getAncho(self):
"""
@return double :
@author
"""
pass
Y este es el código generado por la clase Fierro
class Fierro(object):
"""
:version:
:author:
"""
""" ATTRIBUTES
tamanio (private)
velocidad (private)
color (private)
estado (private)
"""
def calcularVelocidad(self):
"""
@return :
@author
"""
pass
def calcularTamanio(self):
"""
@return :
@author
"""
pass
def aparecer(self):
"""
@return bool :
@author
"""
pass
def desaparecer(self):
"""
@return bool :
@author
"""
pass
martes, 1 de noviembre de 2011
Eventos, errores y excepciones
Ya había hecho una entrada mostrando los diferentes eventos que contenía mi videojuego. Un evento es una acción que realiza algún sujeto o usuario. En este caso es mi personaje medieval llamado "monito"
Eventos
Los movimientos que realiza son: hacia arriba, hacia abajo, hacia la izquierda y hacia la derecha. A continuación muestro el pedazo de código donde utilizo los eventos del monito.
if event.key == pygame.K_LEFT:
monito.move_ip(-10,0)
if event.key == pygame.K_RIGHT:
monito.move_ip(10,0)
if event.key == pygame.K_UP:
monito.move_ip(0,-10)
if event.key == pygame.K_DOWN:
monito.move_ip(0,10)
Podemos ver que en pygame a los eventos de cada tecla los llama "event.key" y a continuación especificamos cuál tecla queremos que al oprimirse, realice una acción determinada. Por ejemplo, el primer evento que especifiqué es con el botón de la flecha direccional izquierdo, y se mueve hacia a la derecha (los números son las coordenadas que queremos que se mueva nuevamente).
if event.type == pygame.QUIT:
Este evento lo que nos indica es que se cerrará la ventana.
Errores y Excepciones
Las excepciones son errores que se detectan y se avisa que existe algún altercado a la hora de hacer la ejecución o compilación del programa.
En mi caso, la excepción que tengo es que en dado caso que se llegara a borrar o a cambiar de lugar la imagen de mi monito, avisara en la terminal que dicho archivo ha sido removido o borrado del directorio:
Eventos
Los movimientos que realiza son: hacia arriba, hacia abajo, hacia la izquierda y hacia la derecha. A continuación muestro el pedazo de código donde utilizo los eventos del monito.
if event.key == pygame.K_LEFT:
monito.move_ip(-10,0)
if event.key == pygame.K_RIGHT:
monito.move_ip(10,0)
if event.key == pygame.K_UP:
monito.move_ip(0,-10)
if event.key == pygame.K_DOWN:
monito.move_ip(0,10)
Podemos ver que en pygame a los eventos de cada tecla los llama "event.key" y a continuación especificamos cuál tecla queremos que al oprimirse, realice una acción determinada. Por ejemplo, el primer evento que especifiqué es con el botón de la flecha direccional izquierdo, y se mueve hacia a la derecha (los números son las coordenadas que queremos que se mueva nuevamente).
if event.type == pygame.QUIT:
Este evento lo que nos indica es que se cerrará la ventana.
Errores y Excepciones
Las excepciones son errores que se detectan y se avisa que existe algún altercado a la hora de hacer la ejecución o compilación del programa.
En mi caso, la excepción que tengo es que en dado caso que se llegara a borrar o a cambiar de lugar la imagen de mi monito, avisara en la terminal que dicho archivo ha sido removido o borrado del directorio:
try: a = archivo("monito.png") except: print "La imagen ha sido removida o borrada del directorio"
*Pendiente de elaborar la tabla...*
Patrón de diseño.
Los patrones de diseño son soluciones que ya han sido antes utilizadas para muchas otras cosas y se ha demostrado que realmente funcionan.
El patrón de diseño que yo vi y se acopla a lo que estoy elaborando es el patrón Strategy
Este patrón declara una interfaz en común para los algoritmos que se presenten. Es decir, mi interfaz será el bosque que tengo como escenario, donde se encuentra mi monito, los fierros que recogerá y algunos obstáculos que tendrá.
Este pedazo de código llama a mi escenario (que es la interfaz común)
Este otro contiene a mi monito (que es uno de los que realizarán los algoritmos)
Estas son las acciones que realiza mi monito:
if event.key == pygame.K_LEFT:
monito.move_ip(-10,0)
if event.key == pygame.K_RIGHT:
monito.move_ip(10,0)
if event.key == pygame.K_UP:
monito.move_ip(0,-10)
if event.key == pygame.K_DOWN:
monito.move_ip(0,10)
Los algoritmos, vienen siendo todas las acciones que logra hacer mi monito, como moverse a la izquierda, a la derecha, abajo, y hacia arriba.
Este código nos muestra el patrón Strategy en el lenguaje de programación Python.
A continuación un diagrama del esquleto del patrón de diseño "Strategy" (No me pertenece)
Fuentes: http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php
http://lobyte.blogspot.com/2011/01/patron-estrategia.html
http://stackoverflow.com/questions/963965/how-is-this-strategy-pattern-written-in-python-the-sample-in-wikipedia
El patrón de diseño que yo vi y se acopla a lo que estoy elaborando es el patrón Strategy
Este patrón declara una interfaz en común para los algoritmos que se presenten. Es decir, mi interfaz será el bosque que tengo como escenario, donde se encuentra mi monito, los fierros que recogerá y algunos obstáculos que tendrá.
Este pedazo de código llama a mi escenario (que es la interfaz común)
fondo= pygame.image.load("escenario.png")
Este otro contiene a mi monito (que es uno de los que realizarán los algoritmos)
monito= pygame.image.load("monito1.png")
Estas son las acciones que realiza mi monito:
if event.key == pygame.K_LEFT:
monito.move_ip(-10,0)
if event.key == pygame.K_RIGHT:
monito.move_ip(10,0)
if event.key == pygame.K_UP:
monito.move_ip(0,-10)
if event.key == pygame.K_DOWN:
monito.move_ip(0,10)
Los algoritmos, vienen siendo todas las acciones que logra hacer mi monito, como moverse a la izquierda, a la derecha, abajo, y hacia arriba.
Este código nos muestra el patrón Strategy en el lenguaje de programación Python.
class StrategyExample :
def __init__(self, func=None) :
if func :
self.execute = func
def execute(self) :
print "Original execution"
def executeReplacement1() :
print "Strategy 1"
def executeReplacement2() :
print "Strategy 2"
if __name__ == "__main__" :
strat0 = StrategyExample()
strat1 = StrategyExample(executeReplacement1)
strat2 = StrategyExample(executeReplacement2)
strat0.execute()
strat1.execute()
strat2.execute()
A continuación un diagrama del esquleto del patrón de diseño "Strategy" (No me pertenece)
Fuentes: http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php
http://lobyte.blogspot.com/2011/01/patron-estrategia.html
http://stackoverflow.com/questions/963965/how-is-this-strategy-pattern-written-in-python-the-sample-in-wikipedia
domingo, 30 de octubre de 2011
Interfaz gráfica (código)
Ahora les mostraré cómo mando a llamar las imágenes de mi videojuego en el código.
La imagen1 es como llamo a la imagen de mi monito (personaje). Aquí podemos ver que primero cargo la imagen llamada "monito1.png" que ya está en la misma carpeta donde se encuentra mi código. (Nota: la imagen que mando a llamar es la misma imagen de la entrada anterior)
La imagen2 es el nombre que le puse a mi imagen del escenario (bosque). El procedimento para llamara la imagen es el mismo que el de mi monito.
pantalla.blit(imagen2,(0,0))
pantalla.blit(imagen1,(x,y))
Con estas dos instrucciones indico que quiero que las imágenes anteriormente cargadas se desplieguen en lo que yo llamo "pantalla" (que es una pantalla de 600x400 pixeles), la primer que aparece en código es el escenario (imagen2) ya que quiero que esta aparezca debajo de todas las demás (si estuviera después de "imagen1" aparecería primero mi monito y después el escenario, y de esta manera taparía a mi personaje) el escenario quiero que aparezca a partir de las coordenadas 0,0 es decir, que tape toda mi pantalla (porque la imagen es de exactamente 600x400 al igual que la pantalla).
La instrucción de la imagen1 (mi personaje) la mando a llamar en las coordenadas que yo llamé "x" y "y" las cuales son (100,100)
Aquí les dejo una imagen de mi código en el editor de texto "emacs"
Fuentes: http://elescaparatederosa.blogspot.com/2008/04/imagen-con-fondo-transparente-usando.html
http://www.gimp.org/downloads/
imagen1= pygame.image.load("monito1.png")
imagen2= pygame.image.load("escenario.png")
imagen2= pygame.image.load("escenario.png")
La imagen1 es como llamo a la imagen de mi monito (personaje). Aquí podemos ver que primero cargo la imagen llamada "monito1.png" que ya está en la misma carpeta donde se encuentra mi código. (Nota: la imagen que mando a llamar es la misma imagen de la entrada anterior)
La imagen2 es el nombre que le puse a mi imagen del escenario (bosque). El procedimento para llamara la imagen es el mismo que el de mi monito.
pantalla.blit(imagen2,(0,0))
pantalla.blit(imagen1,(x,y))
Con estas dos instrucciones indico que quiero que las imágenes anteriormente cargadas se desplieguen en lo que yo llamo "pantalla" (que es una pantalla de 600x400 pixeles), la primer que aparece en código es el escenario (imagen2) ya que quiero que esta aparezca debajo de todas las demás (si estuviera después de "imagen1" aparecería primero mi monito y después el escenario, y de esta manera taparía a mi personaje) el escenario quiero que aparezca a partir de las coordenadas 0,0 es decir, que tape toda mi pantalla (porque la imagen es de exactamente 600x400 al igual que la pantalla).
La instrucción de la imagen1 (mi personaje) la mando a llamar en las coordenadas que yo llamé "x" y "y" las cuales son (100,100)
Aquí les dejo una imagen de mi código en el editor de texto "emacs"
Fuentes: http://elescaparatederosa.blogspot.com/2008/04/imagen-con-fondo-transparente-usando.html
http://www.gimp.org/downloads/
lunes, 29 de agosto de 2011
Esqueleto proyecto
Juego medieval
Clase: Monito
{
En esta clase se describe el monito
}
Clase: Escenario
{
Especificamos características del escenario
}
Objeto: Monito
{
Especificamos al monito como un objeto el cual se desplazaré mediante el escenario
}
Objeto: Escenario
{
Escenario estilo un bosque lejano, lleno de hierbas, muy verde, algunas piedras tiradas. Aquí se encuentran los objetos que puede vender el jugador
}
Métodos:
{
Caminar()
RecogerObjetos()
VenderObjetos()
ComprarObjetos()
BuscarObjetos()
}
Atributos
{
Características del monito como: color de cabello, altura, complexión, postura.
Características del escenario como: zacate verde, piedras, arbustos, árboles.
}
Conforme tenga más firme la idea de mi proyecto iré modificando esta entrada.
Clase: Monito
{
En esta clase se describe el monito
}
Clase: Escenario
{
Especificamos características del escenario
}
Objeto: Monito
{
Especificamos al monito como un objeto el cual se desplazaré mediante el escenario
}
Objeto: Escenario
{
Escenario estilo un bosque lejano, lleno de hierbas, muy verde, algunas piedras tiradas. Aquí se encuentran los objetos que puede vender el jugador
}
Métodos:
{
Caminar()
RecogerObjetos()
VenderObjetos()
ComprarObjetos()
BuscarObjetos()
}
Atributos
{
Características del monito como: color de cabello, altura, complexión, postura.
Características del escenario como: zacate verde, piedras, arbustos, árboles.
}
Conforme tenga más firme la idea de mi proyecto iré modificando esta entrada.
martes, 23 de agosto de 2011
Herramientas Taller POO
Mi proyecto será un videojuego en Python. Las herramientas que necesito para desarrollarlo son:
Ubuntu
Ubuntu es una distribución de GNU/Linux basada en Debian. La palabra Ubuntu viene de una etnia de Sudáfrica, en la cual sus creyentes se consideraban fieles y creían en sí mismos.
Al inicio se estaba trabajando en Debian, pero era un proyecto demasiado burócrata y la gente que trabajaba en él empezaron a interesarse más en Ubuntu, la que es ahora la distribución de Linux sin fines de lucro más popular del mundo.
Ubuntu es muy amigable a los usuarios enfocados en la programación.
Si se quiere tener en una USB pueden checar mi primer entrada de este blog donde lo explico paso a paso.
Python
Lenguaje de programación con sintáxis muy fácil de recordar. Lenguaje de alto nivel por su gran cantidad de instrucciones. Se le considera lenguaje multiparadigma ya que puede ser orientado a objetos, imperativo y a veces funcional, es un lenguaje interpretado. Y en particular estaremos usando la librería de Pygame para poder realizar el videojuego.
Para saber si nuestro Ubuntu tiene Python basta con escribir: "which python" en la terminal y nos aparecerá la dirección de alojamiento de dicho lenguaje.
Emacs
Editor de texto ideal para la gente que quiera prorgamar. Con un interfaz muy agradable gracias a sus colores conforme se va escribiendo el código del lenguaje de programación indicado, indica las llaves iniciales y las finales con sólo señalarlas.
Paa instalarlo en Ubuntu, tecleamos "emacs" en el terminal y seleccionamos el paquete llamado: "emacs23"
Pygame
Es un conjunto de librerías diseñadas propiamente para realizar creaciones de videojuegos con el lenguaje de programación Python. No vienen en dicho lenguaje, las tenemos que instalar, para esto tenemos que ir al terminar y teclear: "sudo apt-get install pygame"
Estas son todas las herramientas que tengo en mente utilizar para mi proyecto por ahora.
Fuentes: http://manzanamecanica.org/2008/12/tutorial_escribiendo_juegos_en_python_i.html
http://foro.elhacker.net/scripting/tutorial_de_programacion_de_juegos_con_python_y_pygame-t238489.0.html
http://ubuntu.com.es/
Ubuntu
Ubuntu es una distribución de GNU/Linux basada en Debian. La palabra Ubuntu viene de una etnia de Sudáfrica, en la cual sus creyentes se consideraban fieles y creían en sí mismos.
Al inicio se estaba trabajando en Debian, pero era un proyecto demasiado burócrata y la gente que trabajaba en él empezaron a interesarse más en Ubuntu, la que es ahora la distribución de Linux sin fines de lucro más popular del mundo.
Ubuntu es muy amigable a los usuarios enfocados en la programación.
Si se quiere tener en una USB pueden checar mi primer entrada de este blog donde lo explico paso a paso.
Python
Lenguaje de programación con sintáxis muy fácil de recordar. Lenguaje de alto nivel por su gran cantidad de instrucciones. Se le considera lenguaje multiparadigma ya que puede ser orientado a objetos, imperativo y a veces funcional, es un lenguaje interpretado. Y en particular estaremos usando la librería de Pygame para poder realizar el videojuego.
Para saber si nuestro Ubuntu tiene Python basta con escribir: "which python" en la terminal y nos aparecerá la dirección de alojamiento de dicho lenguaje.
Emacs
Editor de texto ideal para la gente que quiera prorgamar. Con un interfaz muy agradable gracias a sus colores conforme se va escribiendo el código del lenguaje de programación indicado, indica las llaves iniciales y las finales con sólo señalarlas.
Paa instalarlo en Ubuntu, tecleamos "emacs" en el terminal y seleccionamos el paquete llamado: "emacs23"
Pygame
Es un conjunto de librerías diseñadas propiamente para realizar creaciones de videojuegos con el lenguaje de programación Python. No vienen en dicho lenguaje, las tenemos que instalar, para esto tenemos que ir al terminar y teclear: "sudo apt-get install pygame"
Estas son todas las herramientas que tengo en mente utilizar para mi proyecto por ahora.
Fuentes: http://manzanamecanica.org/2008/12/tutorial_escribiendo_juegos_en_python_i.html
http://foro.elhacker.net/scripting/tutorial_de_programacion_de_juegos_con_python_y_pygame-t238489.0.html
http://ubuntu.com.es/
Programa en Java
Para esta primer entrada del Taller de POO hice un programa que convierte centímetros en pulgadas y viceversa, siempre y cuando se le ingrese un dato qué convertir.
Esta vez no explicaré la sintáxis del programa, ya que me enfocaré en explicar lo que son las clases, los objetos, los atributos, contructores y métodos de la Programación Orientada a Objetos.
Clase: Conversión
Objetos: cm y pul
Métodos: convertir1 y convertir2
Atributos: cantidades ingresadas por el usuario.
Antes de poner el código, quiero aclarar que importé una librería para poder escanear los datos que íbamos a convertir llamada: import java.util.Scanner
Si surge alguna duda sobre el programa, no duden en comentar.
Fuentes: http://ak-fime.blogspot.com/
http://kodrs.com/suma-resta-division-multiplicacion-java/
http://www.forosdelweb.com/f45/error-java-might-not-have-been-initialized-750292/
Hasta luego.
Nota: Modifiqué la entrada ya que mis compañeras Anais y Gemma me hicieron ver un error que tenía en cuanto identificar métodos y atributos, les quiero agradecer por habérmelo dicho.
Esta vez no explicaré la sintáxis del programa, ya que me enfocaré en explicar lo que son las clases, los objetos, los atributos, contructores y métodos de la Programación Orientada a Objetos.
Clase: Conversión
Objetos: cm y pul
Métodos: convertir1 y convertir2
Atributos: cantidades ingresadas por el usuario.
Antes de poner el código, quiero aclarar que importé una librería para poder escanear los datos que íbamos a convertir llamada: import java.util.Scanner
import java.util.Scanner;
import java.util.*;
public class conversion{
private static double convertir1;
private static double convertir2;
private static double cm;
private static double pul;
private static double cm1;
private static double pul1;
int opcion;
public conversion(){
cm1=2.54;
this.cm1 = cm1;
pul1=0.39;
this.pul1 = pul1;
convertir1();
convertir2();
}
public double conversion1(){
convertir1 = (cm * pul1);
return convertir1;
}
public double conversion2(){
convertir2 = (pul * cm1);
return convertir;
}
public static void main(String args []){
Scanner salida = new Scanner(System.in);
System.out.println("Programa convertidor de cm -> pul y de pul - > cm");
System.out.println("\n1- De centímetros a pulgadas");
System.out.println("\n2- De pulgadas a centímetros");
int opcion=1;
System.out.println("Elige una opcion");
opcion = salida.nextInt();
if(opcion==1){
System.out.println("Elegiste de cm -> pul\nIngresa la cantidad de cm");
cm = salida.nextDouble();
pul1=0.39;
convertir1 = cm*pul1;
System.out.println("\nEl resultado es: "+ convertir1);
}
if(opcion==2){
System.out.println("Elegiste de pul -> cm\nIngresa la cantidad de pul");
pul = salida.nextDouble();
cm1=2.54;
convertir2 = cm1*pul;
System.out.println("\nEl resultado es: "+ convertir2);
}
}
}
Si surge alguna duda sobre el programa, no duden en comentar.
Fuentes: http://ak-fime.blogspot.com/
http://kodrs.com/suma-resta-division-multiplicacion-java/
http://www.forosdelweb.com/f45/error-java-might-not-have-been-initialized-750292/
Hasta luego.
Nota: Modifiqué la entrada ya que mis compañeras Anais y Gemma me hicieron ver un error que tenía en cuanto identificar métodos y atributos, les quiero agradecer por habérmelo dicho.
Suscribirse a:
Entradas (Atom)





















