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, estudiantes!. Vamos a ir concretando lo que sabemos ya sobre programación:

  1. Ya sabemos (en teoría) declarar y trabajar con variables y con constantes.
  2. 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).
  3. En concreto, aprendimos lo que es una variable booleana , esto es, una variable que puede valer 1 (true)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 truefalse 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 &&&, 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.

Ratio: 0 / 5

Inicio desactivadoInicio 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!

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Bueeeno, pues ya habéis pasado por mi pequeña introducción a Processing, de modo que es de suponer que ya tenéis una cierta idea de cómo se escribe un programa y de cómo se ejecuta. Así que hoy vamos a empezar algo un poco más serio, mis pequeños padawan: vamos a aprender a trabajar con constantes y con variables, y comenzaremos nuestros primeros devaneos con las sentencias de control de flujo, los famosos if then.

 

 

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