Siempre creciendo, siempre aprendiendo. Cultura Maker.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Como el video que publiqué hace algunos días con un juego en Scratch en Realidad Aumentada tuvo bastante éxito en las redes sociales (o al menos, más aceptación de la que mis publicaciones suelen tener), me animé a hacer este vídeo en el que demuestro que podemos programar un juego parecido en menos de diez minutos (en realidad, apenas supero los seis). ¡Dentro vídeo! ¡Siempre creciendo! ¡Siempre aprendiendo! ¡Cultura Maker!

 

Ratio: 0 / 5

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Hoy ando con algo de prisa (acaba de tocar el timbre y tengo clase con un cuarto de ESO), así que sólo os dejo el vídeo en el que he programado con Scratch un pequeño juego en realidad aumentada. ¡En menos de diez minutos!. ¡Hay que ver el potencial de este lenguaje!. ¡Cada día me gusta más!.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

¡Hola!. ¡Saludos!. ¡Pasad!, ¡pasad!, ¡mi casa es vuestra casa!.

Así que habéis vuelto a interesaros por esta humilde serie de artículos, ¡no sabéis cuánto me emociona!. ¡Me alegraría mucho saber que a alguien le aprovechan estos humildes escritos!.

Bueno, pues empezamos otra clase. Hoy vamos a hablar de funciones, rutinas o subrutinas. Dependiendo del lenguaje de programación, puede haber sutiles diferencias, pero a grandes rasgos, estamos hablando de conjuntos de órdenes que se cumplen ordenadamente cuando se llama a la función.

gear 240137 1280

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

¡Saludos!. ¡Pasad!, ¡pasad!. ¿Qué?. ¿No habéis tenido bastante?. ¿Venís a por más?. ¡Estupendo!. ¡Sigamos trabajando entonces!.

Hoy vamos a hablar de la Programación Orientada a Objetos (POO, si queréis). Esta filosofía de programación enfoca la generación de algoritmos de cualquier tipo de modo que intenta ahorrar todo tipo de repetición innecesaria en nuestro programa. La idea básica es que, a lo largo del tiempo de ejecución de mi código, se van a realizar muchas tareas repetidamente de modo muy parecido, y muchas veces de modo simultáneo.

Un ejemplo es el de cualquier videojuego. Sea cual sea su argumento, una cantidad enorme de veces todo se reduce a un personaje manejado por el jugador contra múltiples enemigos. Durante el transcurso del juego, todos los enemigos tendrán una serie de características comunes: modo de moverse, nivel de energía, apariencia... ¡No sé!. En los videojuegos de carreras automovilísticas, por otro lado, todos los coches serán distintos pero tendrán una serie de características comunes que regirán su comportamiento: velocidad, aceleración, cantidad disponible de combustible... si bien estas características tendrán valores distintos en cada objeto del programa, serán propiedades comunes que deberemos tener previstas para cada uno de ellos.

La filosofía de la POO se basa en diseñar clases abstractas, que tienen unas variables y unos métodos cuyas características podremos definir, y que luego regirán el comportamiento de unos objetos pertenecientes a dicha clase y que irán apareciendo a medida que el programa genere instancias (objetos) de dicha clase.

Mira, en el cuadro de abajo, por ejemplo, sólo hay un recuadro de color beige. Pero si empiezas a hacer click con el ratón en la pantalla, verás que aparecen múltiples esferas de colores que van rebotando. Todas ellas son objetos concretos de una clase pelota que iremos definiendo a lo largo de los ejemplos que ilustran este artículo.

 ¡HAZ CLICK EN LA PANTALLA!

Ratio: 1 / 5

Inicio activadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

A vueltas con el uso de los diagramas de flujo, vamos a trabajar con otro ejemplo para que veáis la utilidad de esta herramienta: vamos a implementar un programa en Python que nos pedirá los términos cuadrático, simple e independiente de una ecuación de 2º grado (en nuestro programa, variables a, b y c introducidas por teclado) para que nos la resuelva. Como sabes (y si no lo sabes, te lo explico), la fórmula que resuelve este tipo de ecuaciones trabaja con la fórmula:

El contenido de la raíz cuadrada se denomina discriminante, y dependiendo de su valor, nos encontraremos con tres posibilidades:

  1. El discriminante es mayor que cero: entonces tenemos dos soluciones de tipo real .
  2. El discriminante es menor que cero: tenemos dos soluciones de tipo imaginario.
  3. El discriminante es cero: la única solución posible es real, de tipo -b/2a

Como yo no tengo tiempo ni tú ganas de leer, te ofrezco a continuación el diagrama de flujo que contempla y reacciona a las tres posibilidades, seguido del código correspondiente en Python. El código se reproduce indefinidamente, de ahí el conector en el diagrama de flujo y el while(1) en Python:

resolucionEcuaciones2grado

 

Y aquí el código:

import math
while(1):
    a=input("introduzca coeficiente cuadratico: ")
    b=input("Introduzca coeficiente dependiente: ")
    c=input("Introduzca coeficiente independiente: ")
    print "La ecuacion es: ",a,"x2 + ",b,"x + ",c


    discriminante=pow(b,2)-4*a*c
    #print "El discriminante vale: ",discriminante
    if (discriminante<0):
        print "La solucion es compleja: "
        discriminante=discriminante*(-1)
        imaginario=pow(discriminante,0.5)
        r=-b/(2*a)
        print "Solucion 1: "+str(r)+"+"+str(imaginario)+"i"
        print "Solucion 2: "+str(r)+"-"+str(imaginario)+"i"
    elif (discriminante==0):
        print "Hay una solucion: "+(str)(r=(-b)/(2*a))
    else:
        print "Hay dos soluciones: "
        print "Solucion 1: "+(str)((-b+pow(discriminante,0.5))/(2*a))
        print "Solucion 2: "+(str)((-b-pow(discriminante,0.5))/(2*a))
        
        
    

¡Y eso es todo por ahora!. ¡Seguimos en contacto!. ¡Podéis comentarme lo que queráis en esta web, en los comentarios, o por Facebook, YouTube o Twitter!. ¡Seguid creciendo!. ¡Seguid aprendiendo!. ¡Cultura maker!. ¡Sed felices!

Subcategorías

Proyectos en PHP y MySQLi

Mientras navegas por esta web, posiblemente interactuemos con tu equipo mediante el uso de cookies. La actual legislación de la UE (European Union) me obliga a informarte de ello, caminante. We use cookies to improve our website and your experience when using it. Cookies used for the essential operation of this site have already been set. To find out more about the cookies we use and how to delete them, see our privacy policy.

  I accept cookies from this site.
EU Cookie Directive Module Information