Lógica de programación

Lógica de Programación
Información sobre la plantilla
LenguajeProgramacion.jpeg
Concepto:Base sobre la cual se sustenta la programación en si.

Lógica de Programación. Base sobre la cual se sustenta la programación en si.

Problemas al constriur un programa

Todo persona que pretenda construir un programa que de solución a determinada problemática, se enfrenta a dos grandes tareas:

  • El QUÉ: acciones a realizar para poder resolver el problema. Esta tarea forma parte del trabajo de mesa previo a toda actividad de programación.
  • El CÓMO: instrucciones de las que se va a valer para escribir el código que realice las acciones determinadas en el QUÉ, las cuales están determinadas por el lenguaje de programación seleccionado.

Muchas personas confunden la Programación con la Lógica de Programación, la primera involucra el conocimiento de técnicas e instrucciones de un determinado Lenguaje a través de los cuales se hace sencillo lograr que la Computadora obtenga unos resultados mucho mas rápidos que una persona. La segunda involucra, de una manera técnica y organizada, los conceptos que permiten diseñar en términos generales, la solución a problemas que pueden llegar a ser implementados a través de una computadora.

Lógica

El estudio de la Lógica de Programación no exige ningún conocimiento previo de computadora ni de tecnología en general, tampoco exige la presencia de algún Lenguaje de Programación específico aunque no puede negarse que éste podría permitir, solo después que se manejen bien los conceptos de lógica de programación, implementar y ver convertida en realidad las soluciones lógicas a sus objetivos.

Definiciones

  1. Serie coherente de ideas y razonamientos.
  2. Ciencia que estudia la estructura, fundamentos y uso de las expresiones del conocimiento humano.
  3. Representación intelectual de un objeto, diferenciándose, de lo sentido, lo percibido, lo imaginado o lo recordado. Las propiedades de los conceptos son la comprensión y la extensión.

La Lógica es ciencia de relaciones porque estudia el pensamiento y, pensar es establecer relaciones. Pero se preocupa no tanto por establecer relaciones (esto es propios de las ciencias...) sino por el estudio de las relaciones mismas, por eso la lógica es una ciencia formal.

Programación

  • Acción y efecto de programar. Este verbo tiene varios usos: se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para cumplan con una cierta tarea en un momento determinado; a la elaboración de Programas para la resolución de problemas mediante computadoras.
  • Proceso de toma de decisiones. Es establecer un conjunto de actividades en un contexto y tiempo determinado para enseñar los contenidos seleccionados en función de los objetivos establecidos. Es un proceso continuo, dinámico, no acabado ni rígido.

Algoritmo

Cuando el objetivo está realmente claro. Siempre que en el desarrollo de la solución de un problema, en algún momento no sabe por donde coger, no sabe qué hacer o se siente perdido, no busque más, quiere decir simplemente que realmente usted no tenía tan claro el objetivo como había pensado.

Algoritmo: Conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo. Que sean secuenciales significa que deben ser ejecutados uno después de otro y que sean ordenados quiere decir que deben llevar un orden casi obligatorio. El algoritmo es el que permite lograr el objetivo propuesto.

Algoritmos Informales

Definidos como todos aquellos algoritmos que no son realizables a través de una Computadora o al menos no fácilmente. Son aquellos Algoritmos donde el ejecutor real es el ser humano, como el algoritmo para dar un beso, el algoritmo para freir unos huevos o el algoritmo para conseguir un libro.

Ejemplo: Algoritmo Adquisicion_de_un_Libro

Inicio
  1. Saber cuál es el libro que se quiere adquirir
  2. Desplazarnos hacia una biblioteca
  3. Preguntar si tienen el libro que necesitamos
  4. Si lo tienen adquirirlo y Parar allí (dentro de este Algoritmo). Si no lo tienen ir al paso 2 (a otra biblioteca)
Fin

La tecnología ha avanzado tanto que, muchos algoritmos que en el pasado no eran implementables a través de una computadora, en la actualidad lo son y de manera mucho más sencilla como es el caso del algoritmo para conseguir un libro que anteriormente se pensaba en librerías y ahora se piensa en un concepto mas globalizado: Internet, con más posibilidad de conseguirlo y con menos trabajo.

Algoritmos Computacionales

Se consideran como tales todos aquellos Algoritmos que deben ser preferiblemente implementados en una computadora para aprovechar su velocidad de procesamiento. Un ejemplo de estos puede ser el algoritmo que genere los primeros 100 números primos, recordando que un número primo es aquel que solo puede ser dividido exactamente entre la unidad y entre si mismo, que si bien podrían ser calculados utilizando un papel y un lápiz, la utilización de una computadora en unión con el algoritmo adecuado ofrece un resultado mucho mas rápido y absolutamente confiable (de hecho depende de que el algoritmo igualmente sea muy confiable).

Ejemplo: Algoritmo Colocarnos_una_camisa

Inicio
  1. Dirigirnos a nuestro ropero.
  2. Si esta cerrado: Abrirlo y Coger una camisa.
  3. Si está abrochada: Desabrocharla.
  4. Abrir la camisa.
  5. Si está doblada: Desdoblarla.
  6. Meter un brazo por una de sus mangas.
  7. Meter el otro brazo por la otra de sus mangas.
  8. Ajustar la camisa al tronco.
  9. Si es una camisa de botones: Abotonarla (botón a botón) y :Ajustarla al cuerpo.
  10. Sino ajustarla de manera que quede bien puesta.
Fin

Diagramas de Flujo

Los Diagramas de Flujo parten de unos símbolos que permiten decir lo mismo que en los algoritmos pero de una manera gráfica y, por supuesto, un poco mas entendible. Los siguientes son algunos de los símbolos (y el significado de ellos) que se han acordado utilizar dentro de los Diagramas de Flujo o Flujogramas:

Símbolo Explicación
Valor auna variable.jpg
Representa un proceso que no es más que una acción o una orden a ejecutarse de manera clara y concreta. Un ejemplo típico de proceso es la asignación de un valor a una variable.
Falso y verdadero.jpg
Permite representar una Decisión. En su interior puede escribirse la condición de la cual depende la decisión y por sus extremos derecho (o izquierdo) e inferior se pueden colocar las salidas para los casos en que la condición sea Falsa o Verdadera.
Entrega de informacion.jpg
Permite expresar un proceso de entrada o salida.
- Entrada: proceso a través del cual se recibe información
- Salida: proceso a través del cual se entrega información.
Salida de informacion.jpg
Permite representar la escritura de un resultado o lo que técnicamente se conoce como una salida.
DiagramaFlujo.jpg
Representa el Inicio ó el Fin de un Algoritmo. Solo hay que escribir la palabra Inicio o Fin y ubicarlo apropiadamente dentro del Diagrama de Flujo.
Definision.jpg
Permite colocar en él los parámetros de inicio de un ciclo cuando se ajusta a una de las formas establecidas por las normas de programación.
TecladoProgramacion.jpg
Representa una entrada de datos utilizando el teclado de la computadora. Debe escribirse en su interior el nombre de la variable (o las variables) en donde se almacenará el dato que entra por el teclado.
ContinuacionDiagrama.jpg
Conectores lógicos. Permiten representar la continuación de un Diagrama de Flujo cuando éste es tan largo que no cabe en una sola hoja.
LecturaDiagrama.jpg
Permite representar una lectura de datos. Representa una Tarjeta Perforada pues esta técnica fue establecida cuando aún se leían los datos a través de tarjetas perforadas. Actualmente este símbolo representa sencillamente una lectura.
EscrituraDiagrama.jpg
Genera una salida de datos. Representa una cinta perforada porque, al igual que el símbolo anterior, esta técnica fue establecida cuando aún se generaba la salida de datos a través de una tarjeta perforada. En la actualidad este símbolo representa sencillamente una salida o una escritura de datos.
PantallaDiagrama.jpg
Representa una salida de datos hacia la pantalla.
AccionesDiagrama.jpg
Son los símbolos que permiten representar la forma de conexión entre los demás símbolos determinando igualmente el Flujo de ejecución o realización de acciones.

Ventajas

  • Permite visualizar gráficamente el camino que sigue la solución a un problema.
  • Por ser tan simplificado es muy entendible.
  • No se necesitan muchos conocimientos técnicos para utilizar esta técnica.

Desventajas

  • Dado que los flujos (representados con flechas) pueden ir de cualquier lugar a cualquier lugar da espacio para que el diagrama llegue a ser casi inentendible
  • Deben conocerse bien los símbolos que se van a utilizar
  • No todos los símbolos están estandarizados
  • Los ciclos deben ser reinterpretados para poder ser diagramados en esta técnica
  • No siempre es muy entendible
  • Algunas veces la analogía entre el diagrama y la codificación en el Lenguaje de Programación resulta ser compleja.

Fuentes