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!.
¡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!
Read more: Introducción a la Programación (IV): entendiendo las clases y los objetos.
¡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.
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:
- El discriminante es mayor que cero: entonces tenemos dos soluciones de tipo real .
- El discriminante es menor que cero: tenemos dos soluciones de tipo imaginario.
- 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:
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!
¡Saludos, estudiantes!. Vamos a ir concretando lo que sabemos ya sobre programación:
- Ya sabemos (en teoría) declarar y trabajar con variables y con constantes.
- Sabemos trabajar con la sentencia de control IF(condición)THEN (conjunto de instrucciones si se cumple la condición)ELSE (instrucciones si no se cumple la condición).
- En concreto, aprendimos lo que es una variable booleana , esto es, una variable que puede valer 1 (true) o 0 (false).
De hecho, en programación es muy común utilizar operaciones lógicas. Una operación lógica, a diferencia de una operación matemática, no devuelve un valor como combinación de operandos, sino true o false como combinación de condiciones. Esto es, comprueba si se produce una condición, y devuelve 1 si se cumple, o 0 si no se cumple (esto es, el principio básico de la sentencia IF-THEN-ELSE).
Operaciones lógicas
Las operaciones lógicas por excelencia en programación son:
- AND (condición y). Su símbolo es & o &&, depende del programa.
- OR (condición o). Su símbolo es |
- NOT (condición no). Su símbolo es !
A | B | A&&B | A||B | !A |
0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 0 |
En resumen: la operación and devuelve verdadero si se cumple A y se cumple B, la operación or se activa si se cumple A ó B, y la operación not devuelve lo contrario de la condición: si A se cumple, not devuelve falso, y al revés.
Subcategorías
PHP
Proyectos en PHP y MySQLi