lunes, 4 de marzo de 2019

FUNDAMENTOS DE PROGRAMACIÓN

CONCEPTO DE ALGORITMO

Un algoritmo es un conjunto de pasos precisos, bien definidos y finitos para la solución de un problema.

Por ejemplo, consideremos el algoritmo para conocer a una persona y declarar su amor a ella:

1.   Inicio
2.   Conocer persona
      Si me gusta
3.       Hacer una cita
4.       Declararse a esa persona
          Si la persona acepta
6.           Carita feliz
7.           Dar beso
8.           Dialogar
9.           Despedirse
          Sino
10.         Carita triste
11.         Quedar como amigos
12.         Retirarse
      Sino
13.     Hacer amistad
14.     Despedirse
15. Fin

Nosotros a diario nos enfrentamos a diversos problemas que podemos resolverlos de varias formas; existen múltiples algoritmos de resolver un mismo problema con una PC, pero NO TODOS los problemas se pueden computarizar, tal es el caso del ejemplo anterior.


Un algoritmo es correcto cuando cumple con la solución del problema, independientemente de cómo esté desarrollado el algoritmo. Optimizar un algoritmo es algo que debemos considerar a lo largo de este camino de la programación, una recomendación es practicar y buscar diversos caminos de solución al problema y poco a poco nos daremos cuenta si un algoritmo es óptimo.

Por cierto en los posts (artículos) de diagramas de flujo veremos ejemplos de aplicaciones numéricas y no numéricas.

PARTES DE UN ALGORITMO

Un algoritmo tiene la siguiente estructura básica:


CARACTERÍSTICAS DE UN ALGORITMO 
  1. Entrada: definir lo que necesita el algoritmo.
  2. Salida: definir lo que produce
  3. No ambiguo: debe tener instrucciones concretas.
  4. Finito: debe terminar en algún momento.
  5. Correcto: tiene que llegar a la solución deseada.
  6. Efectividad: cada instrucción se completa en tiempo finito y debe ser lo suficientemente básica como para que en principio pueda ser ejecutada por cualquier persona usando lápiz y papel.
  7. General: debe ser lo suficientemente general como para contemplar todos los casos de entrada.
REPRESENTACIÓN DE ALGORITMOS

Los algoritmos se pueden representar por Pseudocódigos o por Diagramas de Flujo (DFD's).
Es opcional aprender con cualquiera de estas representaciones, aunque yo recomiendo los DFD's, las habilidades relacionadas con la lógica y los números se pueden desarrollar con el tiempo y mejor aún con gráficos como los DFD's.

Los DFD's los explico en otros artículos. Clic aquí para ir a DFD's.

SOFTWARE PARA CREAR DIAGRAMAS DE FLUJOS

Existen muchos programas para la elaboración de DFD's y/o Pseudocódigos, algunos son de software libre y otros son de compra. Microsoft Visio es una herramienta para crear DFD's, pero veamos software que no ocupe suficiente espacio en nuestro disco duro, como:

  1. Dia
  2. FreeDFD
  3. Raptor
  4. PseInt

Espero les ayude este post a aquellas personas que están iniciándose en la programación.

2 comentarios: