martes, 14 de noviembre de 2017

¿CUÁL ES EL COLOR Y LA FORMA DE LAS IDEAS?

El paso previo para resolver un problema es tener claro que existe un problema y la naturaleza del mismo. Este paso previo es fundamental, pues no será la primera vez que queremos solucionar un problema inexistente o desconocido. Esto da lugar a situaciones ridículas como los puentes a ningún sitio, los aeropuertos vacíos o las carreteras fantasma que pueblan nuestro país y en realidad, el mundo entero.

Una vez identificado el problema buscaremos un algoritmo que lo resuelva, entre los existentes o ideándolo nosotros mismos. Y a continuación llega el momento de traerlo a la realidad, fuera de nuestra mente.

Para ello existen ingeniosos medios de uso común en programación. El primero de ellos es el pseudocódigo que consiste en una serie de instrucciones, a modo de consejos entre amigos, que desglosan el algoritmo y permiten la resolución del problema.

// Juego simple que pide al usuario que adivine un numero en 10 intentos

Proceso Adivina_Numero

    intentos<-10
    num_secreto <- azar(100)+1
    
    Escribir "Adivine el numero (de 1 a 100):"
    Leer num_ingresado
    Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
        Si num_secreto>num_ingresado Entonces
            Escribir "Muy bajo"
        Sino 
            Escribir "Muy alto"
        FinSi
        intentos <- intentos-1
        Escribir "Le quedan ",intentos," intentos:"
        Leer num_ingresado
    FinMientras
    
    Si num_secreto=num_ingresado Entonces
        Escribir "Exacto! Usted adivino en ",11-intentos," intentos."
    Sino
        Escribir "El numero era: ",num_secreto
    FinSi
   
FinProceso

Otro medio más avanzado sería la realización de diagramas, o dibujos, que permiten expresar la consecución de acciones para resolver el problema. En este caso, destacan dos formas empleadas comunmente: el diagrama de Nassi-Shneiderman y el diagrama de flujo.

El diagrama de Nassi-Shneiderman es una representación gráfica mediante polígonos conectados que muestra las fases de resolución del problema. Sin entrar en detalles, su aspecto es el de un juego de piezas encajadas con texto en su interior. Las piezas tienen distintas formas según la acción que realizan. Por ejemplo la ejecución de acciones son piezas rectangulares, las decisiones son triángulos que se complementan con acciones triangulares y los bucles son bloques en forma de L.


Los diagramas de flujo son representaciones de los algoritmos mediante bloques interconectados por flechas. No sólo se utilizan en programación sino en la industria por lo que existen normas industriales que regulan su forma de uso (ANSI, ASME, ECMA...) No obstante, existen símbolos estándar que son los más utilizados en todos los sistemas, como el óvalo para inicio y fin del proceso, el rectángulo para una accion o proceso y el rombo para una decisión.

Los gráficos de este artículo han sido realizados con el programa de diseño Pseint, de licencia GNU GPL v2.

Esta batería de herramientas nos permite poner "negro sobre blanco" la idea que tenemos para solucionar un problema (dígase, hacer un huevo frito para solucionar nuestro problema de hambre o acercarse a un/a chico/a que nos gusta).

Ya veis que primero debemos ordenar las ideas antes de escribir líneas de código. Ahora empezaremos a "quemar" el teclado, escribiendo nuestro código. Recuerda que primero debe existir un problema real, no vaya a ser que construyamos "puentes a ninguna parte".

J. Carlos Avendaño
Club Tecnológico

No hay comentarios:

Publicar un comentario