viernes, 28 de noviembre de 2014

La lógica computacional






 CONCEPTO Y DEFINICIÓN

La lógica computacional o lógica formal siempre ha sido una herramienta fundamental para el progreso de las ciencias computacionales, y sus desarrollos son la base para elaborar soluciones informáticas, tanto en software como en hardware. Es bien conocido que los profesionales que aplican adecuadamente el razonamiento lógico tiene mayores posibilidades de éxito, tanto en lo profesional como en lo personal, ya que analizar, saber buscar posibilidades, demostrar o refutar afirmaciones diversas, le permite a quien tiene ese conocimiento y manejo ser un mejor ser humano y por consiguiente un profesional con mayores y mejores aptitudes y actitudes para vivir en una sociedad como la actual, necesitada de ecuanimidad, raciocinio y capacidad de análisis para solucionar sus cada vez más complejos problemas.

Diseñar, desarrollar y mantener software son procesos netamente creativos que se sustentan fundamentalmente en la capacidad de razonamiento, en el pensamiento computacional y algorítmico y en la habilidad para abstraer cualquier problema, por lo que es necesario estructurar este curso para ofrecer una base sólida de la lógica en la línea computacional para los futuros ingenieros de sistemas. Desde la publicación de los trabajos de Herbrand en 1930 la lógica se ha convertido en un valioso instrumento conceptual al servicio de las ciencias computacionales, en la que ayudan para representar el conocimiento y para soportar el diseño de sistemas de información, es decir, hoy la lógica computacional se aborda desde la perspectiva de aplicación a la computación.





¿Por qué aparece la lógica en las ciencias computacionales?


La lógica funda sus teorías en las Ciencias Computacionales, como lo plantean las recomendaciones curriculares de los diferentes organismos internacionales como la Association for Computing Machinery -ACM- y el Institute for Electrical and Electronic Engineers -IEEE. Estos entes proponen utilizar la lógica en las Ciencias Computacionales como instrumento de la tarea de representación y resolución de problemas por medio del computador. Además, reconocen el carácter fundamental de la lógica como herramienta imprescindible para el ingeniero, ya que le permite elaborar especificaciones formales y formalizar líneas de razonamiento, diseño y descripción de sistemas.





Definición de algoritmo:

Un algoritmo es un conjunto finito de instrucciones cuyo fin es realizar una tarea; este conjunto finito de instrucciones debe también ser preciso y determinístico.
  • Preciso: el algoritmo debe ejecutar la tarea para el cual fue diseñado.
  • Determinístico: significa que el resultado debe depender estrictamente de los datos suministrados, siempre que el algoritmo se ejecute con un mismo conjunto de datos de entrada, el resultado debe ser siempre el mismo.
Son ejemplos de algoritmos los métodos utilizados en aritmética para sumar, restar, multiplicar y dividir cantidades; la aplicación de la fórmula cuadrática para encontrar las raíces de un polinomio de segundo grado En todos ellos se cumplen las tres características anteriores.
Un algoritmo eficiente y confiable es el producto de un análisis exhaustivo del problema, para determinar la mejor alternativa de solución.




RESOLUCIÓN DE PROBLEMAS

Resolución es el acto y el resultado de resolver. Este verbo puede referirse a encontrar una solución para algo o a determinar alguna cuestión. Un problema, por otra parte, es una dificultad, un contratiempo o un inconveniente.

El concepto de resolución de problemas está vinculado al procedimiento que permite solucionar una complicación.
La noción puede referirse a todo el proceso o a su fase final, cuando el problema efectivamente se resuelve.
En su sentido más amplio, la resolución de un problema comienza con la identificación  del inconveniente en cuestión. Después de todo, si no se tiene conocimiento sobre la existencia de la contrariedad o no se la logra determinar con precisión, no habrá solución posible.


Una vez que el problema se encuentra identificado, se hace necesario establecer una planificación para desarrollar la acción que derive en la resolución.

En ciertos contextos, la resolución de problemas obliga a seguir determinados pasos o a respetar modelos o patrones,un ejemplo de este son los problemas matemáticos.




¿QUE ES UN DIAGRAMA DE FLUJO?



Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo, el cual muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Su correcta construcción es sumamente importante porque, a partir del mismo se escribe un programa en algún Lenguaje de Programación. Si el Diagrama de Flujo está completo y correcto, el paso del mismo a un Lenguaje de Programación es relativamente simple y directo.
Es importante resaltar que el Diagrama de Flujo muestra el sistema como una red de procesos funcionales conectados entre sí por "Tuberías" y "Depósitos" de datos que permite describir el movimiento de los datos a través del Sistema. Este describirá: Lugares de Origen y Destino de los datos, Transformaciones a las que son sometidos los datos, Lugares en los que se almacenan los datos dentro del sistema, Los canales por donde circulan los datos. Además de esto podemos decir que este es una representación particular de un Sistema, el cual lo contempla en términos de sus componentes indicando el enlace entre los mismos.



DIAGRAMA DE FLUJO

Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas, es decir, es la representación gráfica de las distintas operaciones que se tienen que realizar para resolver un problema, con indicación expresa el orden lógico en que deben realizarse.
Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.
El diagrama de flujo representa la forma más tradicional y duradera para especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en programación, economía y procesos industriales.



SÍMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO

Este se utiliza para representar el inicio o el fin de un algoritmo. También puede representar una parada o una interrupción programada que sea necesaria realizar en un programa.
Este se utiliza para un proceso determinado, es el que se utiliza comúnmente para representar una instrucción, o cualquier tipo de operación que origine un cambio de valor.
Este símbolo es utilizado para representar una entrada o salida de información, que sea procesada o registrada por medio de un periférico.
Este es utilizado para la toma de decisiones, ramificaciones, para la indicación de operaciones lógicas o de comparación entre datos.
Este es utilizado para enlazar dos partes cualesquiera de un diagrama a través de un conector de salida y un conector de entrada. Esta forma un enlace en la misma página del diagrama.
Este es utilizado para enlazar dos partes de un diagrama pero que no se encuentren en la misma pagina.




EJEMPLOS DE DIAGRAMA DE FLUJOS:














Resolución de problemas
Liliana Palomeque Martínez 1104
La lógica computacional