Analisis y Desarrollo de Sistemas de Información
                          Ing. Armando M Brito C
                               ALGORITMOS
                                    2008

                   ALGORITMOS CUALITATIVOS

Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están
involucrados cálculos numéricos. Las instrucciones para armar un
aeromodelo, para desarrollar una actividad física o encontrar un tesoro,
son ejemplos de algoritmos cualitativos.

Ejemplo No. 1: Administración de un medicamento

Vaya al botiquín de su casa y tome un medicamento cualquiera. Muchos
de ellos traen en el interior de su empaque un documento con las
indicaciones para su correcta aplicación.

Piense y analice: ¿Qué sucede si se omite un paso en este algoritmo?

Ejemplo No. 2: Receta de cocina

Vaya a la alacena de su casa y tome un producto alimenticio cualquiera.
Muchos de ellos traen en el empaque las indicaciones para su correcta
preparación.

Piense y analice: ¿Qué sucede si se invierte un par de pasos en este
algoritmo?

El siguiente ejercicio que se presenta trata de poner de manifiesto lo
importante que es seguir instrucciones en forma adecuada y correcta, si
se quiere llegar a un resultado satisfactorio.

Ejemplo No. 3: Cambio de una llanta pinchada

Supongamos que usted necesita programar un autómata, el señor A,
para que conduzca un auto de una ciudad a otra; indudablemente
necesita considerar muchas situaciones, pero por ahora va a centrar su
atención en un sólo problema: cómo cambiar una llanta cuando se
pinche durante el viaje.

Como chofer precavido que es, usted ha dotado al auto con la llanta de
repuesto y con las herramientas necesarias para estos casos.




                CENTRO BIOTECNOLÓGICO DEL CARIBE                    1
Analisis y Desarrollo de Sistemas de Información
                          Ing. Armando M Brito C
                               ALGORITMOS
                                    2008

Vamos a hacer un diagrama de flujo que señale las principales
actividades que el señor A debe considerar para despincharse. ¿Qué es
lo primero? ¿Y qué viene luego?

A continuación tenemos la solución que primero se nos ocurre:
1. Sacar la llanta de repuesto del baúl
2. Quitar la llanta pinchada
3. Poner la llanta buena
4. Guardar la llanta pinchada y la herramienta
5. Reanudar el viaje.

Gráficamente este problema quedaría resuelto como se muestra en la
siguiente figura:




¿Está de acuerdo con la solución? ¿Seguro qué hemos considerado todo
lo importante? ¡Definitivamente no! El problema no lo hemos analizado
bien y hemos pasado por alto algunos detalles muy importantes.
Veamos:

     Si el auto va en movimiento, lo lógico es que lo detenga para que
     su autómata pueda bajarse de él.
     Pero, ¿detener el auto en plena vía? Quizás el auto que le sigue
     estrelle al señor A, y hasta ahí llegó el viaje. Parece que lo lógico
     es que primero orille el auto y luego lo detenga para que el señor
     A pueda bajarse.
     ¿Y las señales de peligro que se deben poner a prudente distancia
     del auto?. Lo lógico es que deben ser utilizadas, por lo cual el



                CENTRO BIOTECNOLÓGICO DEL CARIBE                      2
Analisis y Desarrollo de Sistemas de Información
                         Ing. Armando M Brito C
                              ALGORITMOS
                                   2008

     autómata debe abrir el baúl, sacar las señales de peligro y
     ponerlas a prudente distancia del auto.
     Ignoramos la posibilidad de que el repuesto no esté bueno, caso
     en el cual termina este problema, puesto que el señor A debe
     buscar otra solución que tendremos debidamente programada; el
     enunciado de este problema sólo habla de cambiar una llanta
     pinchada.
     Considerado todo lo anterior, ahora si se puede pensar en ordenar
     que el señor A saque la llanta de repuesto junto con la
     herramienta requerida.
     La segunda instrucción que se nos ocurrió en la solución original
     fue quitar la llanta pinchada.      Así, ¿de buenas a primeras?,
     posiblemente el señor A nunca lo logre, y si lo consigue habrá
     dañado el auto. Vamos por partes: lo lógico es que tendrá que
     bloquear el auto, subir el gato (??) ¡subir al auto!... ¡Olvidamos
     aflojar las tuercas! Revisemos: bloquear el auto, aflojar las
     tuercas, subir el auto con el gato, quitar las tuercas y ahora si,
     quitar la llanta mala y montar el repuesto bueno; después colocar
     las tuercas, bajar el auto y apretar las tuercas.
     Ahora si le podemos ordenar al señor A desbloquear el auto,
     recoger la herramienta, quitar las señales y guardar todo, antes
     de continuar el viaje.

Si tenemos en cuenta lo analizado, estamos en condiciones de elaborar
un diagrama de flujo más completo, con el cual estamos seguros que al
señor A podrá cambiar exitosamente su llanta pinchada. Veamos el
nuevo diagrama en la siguiente figura:




               CENTRO BIOTECNOLÓGICO DEL CARIBE                    3
Analisis y Desarrollo de Sistemas de Información
                         Ing. Armando M Brito C
                              ALGORITMOS
                                   2008




¿Cómo le pareció el problema? ¡Sencillo y hasta divertido! Así es la
diagramación, cuando conocemos bien lo que se espera y analizamos
cuidadosamente el problema para identificar lo que hay que hacer.

Por lo general, un problema podemos resolverlo de diferentes formas,
posiblemente todas válidas.        Pero habrá una forma más sencilla,
funcional y eficiente que las demás; es lo ideal que la encontremos.
¿Cómo?, analizando bien el problema. Todas esas formas de resolver
un problema tendrán una característica común: serán una secuencia
lógica de pasos, planteados en esa forma porque de otra manera no
producen el resultado correcto. Así, por ejemplo, en el problema
anterior antes de sacar la llanta de repuesto era necesario:



               CENTRO BIOTECNOLÓGICO DEL CARIBE                  4
Analisis y Desarrollo de Sistemas de Información
                          Ing. Armando M Brito C
                               ALGORITMOS
                                    2008

     Ordenar que el señor A orillara el auto y lo detuviera
     Ordenar que se colocaran las señales de peligro
     Considerar que el repuesto estuviera bueno
     Ordenar bloquear el auto, aflojar las tuercas y subirlo con ayuda
     del gato, antes de quitar la llanta pinchada; etc.

En diagramación, la lógica, juega un papel fundamental: si las cosas no
se plantean en su orden correcto, y no se consideran todas las posibles
condiciones, probablemente no se consiga el resultado esperado.

¿Y cómo saber que es lo primero y qué viene luego?, tenga paciencia,
que como todo en la vida, esto se aprende practicando.

Ejemplo No. 4: Actividades de un domingo

Diagrame las actividades de un domingo suyo, desde que se despierta
hasta que se acuesta a dormir. Tenga en cuenta que para los solteros el
programa puede ser diferente al de los casados, y que probablemente:

     El día es lluvioso
     Quiere ir a misa
     Hay una película muy buena
     Usted está disgustado(a) con su novia(o) o esposa(o)
     Hay un cartel excelente para la corrida de toros
     Trasmiten una buena película por televisión o la final del
     campeonato de fútbol
     Hay muchas diversiones posibles pero no tiene dinero y entonces
     se queda estudiando en casa, Etc.

Ejemplo No. 5: Llamada telefónica

Se entrega una moneda de $100, un número telefónico y un mensaje al
mismo señor A (el autómata), para que busque un teléfono público,
marque el número señalado y transmita el mensaje. No se espera
respuesta alguna. Finalmente el señor A debe regresar e informar si
pudo dar el mensaje o no.

Como sugerencias le recomendamos tener en cuenta que:

     El teléfono público encontrado puede estar dañado, pero habrán
     otros teléfonos buenos en la ciudad.


                CENTRO BIOTECNOLÓGICO DEL CARIBE                   5
Analisis y Desarrollo de Sistemas de Información
                          Ing. Armando M Brito C
                               ALGORITMOS
                                    2008

     Posiblemente haya personas en la cola y el señor A deber esperar
     su turno.
     Puede ocurrir que no le contestan o que está ocupado y
     deberá hacer otro intento, hasta un máximo de 5.
     En uno de los intentos el teléfono no le devolvió la moneda.

No se preocupe porque el señor A (no tenga en cuenta):

     Olvidó el número telefónico o el mensaje.
     Marcó un número equivocado.
     Encontró que todos los teléfonos de la ciudad están dañados.
     Lo atropelló un auto al cruzar una calle, etc.




               CENTRO BIOTECNOLÓGICO DEL CARIBE                     6

Algoritmo cualitativos

  • 1.
    Analisis y Desarrollode Sistemas de Información Ing. Armando M Brito C ALGORITMOS 2008 ALGORITMOS CUALITATIVOS Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo, para desarrollar una actividad física o encontrar un tesoro, son ejemplos de algoritmos cualitativos. Ejemplo No. 1: Administración de un medicamento Vaya al botiquín de su casa y tome un medicamento cualquiera. Muchos de ellos traen en el interior de su empaque un documento con las indicaciones para su correcta aplicación. Piense y analice: ¿Qué sucede si se omite un paso en este algoritmo? Ejemplo No. 2: Receta de cocina Vaya a la alacena de su casa y tome un producto alimenticio cualquiera. Muchos de ellos traen en el empaque las indicaciones para su correcta preparación. Piense y analice: ¿Qué sucede si se invierte un par de pasos en este algoritmo? El siguiente ejercicio que se presenta trata de poner de manifiesto lo importante que es seguir instrucciones en forma adecuada y correcta, si se quiere llegar a un resultado satisfactorio. Ejemplo No. 3: Cambio de una llanta pinchada Supongamos que usted necesita programar un autómata, el señor A, para que conduzca un auto de una ciudad a otra; indudablemente necesita considerar muchas situaciones, pero por ahora va a centrar su atención en un sólo problema: cómo cambiar una llanta cuando se pinche durante el viaje. Como chofer precavido que es, usted ha dotado al auto con la llanta de repuesto y con las herramientas necesarias para estos casos. CENTRO BIOTECNOLÓGICO DEL CARIBE 1
  • 2.
    Analisis y Desarrollode Sistemas de Información Ing. Armando M Brito C ALGORITMOS 2008 Vamos a hacer un diagrama de flujo que señale las principales actividades que el señor A debe considerar para despincharse. ¿Qué es lo primero? ¿Y qué viene luego? A continuación tenemos la solución que primero se nos ocurre: 1. Sacar la llanta de repuesto del baúl 2. Quitar la llanta pinchada 3. Poner la llanta buena 4. Guardar la llanta pinchada y la herramienta 5. Reanudar el viaje. Gráficamente este problema quedaría resuelto como se muestra en la siguiente figura: ¿Está de acuerdo con la solución? ¿Seguro qué hemos considerado todo lo importante? ¡Definitivamente no! El problema no lo hemos analizado bien y hemos pasado por alto algunos detalles muy importantes. Veamos: Si el auto va en movimiento, lo lógico es que lo detenga para que su autómata pueda bajarse de él. Pero, ¿detener el auto en plena vía? Quizás el auto que le sigue estrelle al señor A, y hasta ahí llegó el viaje. Parece que lo lógico es que primero orille el auto y luego lo detenga para que el señor A pueda bajarse. ¿Y las señales de peligro que se deben poner a prudente distancia del auto?. Lo lógico es que deben ser utilizadas, por lo cual el CENTRO BIOTECNOLÓGICO DEL CARIBE 2
  • 3.
    Analisis y Desarrollode Sistemas de Información Ing. Armando M Brito C ALGORITMOS 2008 autómata debe abrir el baúl, sacar las señales de peligro y ponerlas a prudente distancia del auto. Ignoramos la posibilidad de que el repuesto no esté bueno, caso en el cual termina este problema, puesto que el señor A debe buscar otra solución que tendremos debidamente programada; el enunciado de este problema sólo habla de cambiar una llanta pinchada. Considerado todo lo anterior, ahora si se puede pensar en ordenar que el señor A saque la llanta de repuesto junto con la herramienta requerida. La segunda instrucción que se nos ocurrió en la solución original fue quitar la llanta pinchada. Así, ¿de buenas a primeras?, posiblemente el señor A nunca lo logre, y si lo consigue habrá dañado el auto. Vamos por partes: lo lógico es que tendrá que bloquear el auto, subir el gato (??) ¡subir al auto!... ¡Olvidamos aflojar las tuercas! Revisemos: bloquear el auto, aflojar las tuercas, subir el auto con el gato, quitar las tuercas y ahora si, quitar la llanta mala y montar el repuesto bueno; después colocar las tuercas, bajar el auto y apretar las tuercas. Ahora si le podemos ordenar al señor A desbloquear el auto, recoger la herramienta, quitar las señales y guardar todo, antes de continuar el viaje. Si tenemos en cuenta lo analizado, estamos en condiciones de elaborar un diagrama de flujo más completo, con el cual estamos seguros que al señor A podrá cambiar exitosamente su llanta pinchada. Veamos el nuevo diagrama en la siguiente figura: CENTRO BIOTECNOLÓGICO DEL CARIBE 3
  • 4.
    Analisis y Desarrollode Sistemas de Información Ing. Armando M Brito C ALGORITMOS 2008 ¿Cómo le pareció el problema? ¡Sencillo y hasta divertido! Así es la diagramación, cuando conocemos bien lo que se espera y analizamos cuidadosamente el problema para identificar lo que hay que hacer. Por lo general, un problema podemos resolverlo de diferentes formas, posiblemente todas válidas. Pero habrá una forma más sencilla, funcional y eficiente que las demás; es lo ideal que la encontremos. ¿Cómo?, analizando bien el problema. Todas esas formas de resolver un problema tendrán una característica común: serán una secuencia lógica de pasos, planteados en esa forma porque de otra manera no producen el resultado correcto. Así, por ejemplo, en el problema anterior antes de sacar la llanta de repuesto era necesario: CENTRO BIOTECNOLÓGICO DEL CARIBE 4
  • 5.
    Analisis y Desarrollode Sistemas de Información Ing. Armando M Brito C ALGORITMOS 2008 Ordenar que el señor A orillara el auto y lo detuviera Ordenar que se colocaran las señales de peligro Considerar que el repuesto estuviera bueno Ordenar bloquear el auto, aflojar las tuercas y subirlo con ayuda del gato, antes de quitar la llanta pinchada; etc. En diagramación, la lógica, juega un papel fundamental: si las cosas no se plantean en su orden correcto, y no se consideran todas las posibles condiciones, probablemente no se consiga el resultado esperado. ¿Y cómo saber que es lo primero y qué viene luego?, tenga paciencia, que como todo en la vida, esto se aprende practicando. Ejemplo No. 4: Actividades de un domingo Diagrame las actividades de un domingo suyo, desde que se despierta hasta que se acuesta a dormir. Tenga en cuenta que para los solteros el programa puede ser diferente al de los casados, y que probablemente: El día es lluvioso Quiere ir a misa Hay una película muy buena Usted está disgustado(a) con su novia(o) o esposa(o) Hay un cartel excelente para la corrida de toros Trasmiten una buena película por televisión o la final del campeonato de fútbol Hay muchas diversiones posibles pero no tiene dinero y entonces se queda estudiando en casa, Etc. Ejemplo No. 5: Llamada telefónica Se entrega una moneda de $100, un número telefónico y un mensaje al mismo señor A (el autómata), para que busque un teléfono público, marque el número señalado y transmita el mensaje. No se espera respuesta alguna. Finalmente el señor A debe regresar e informar si pudo dar el mensaje o no. Como sugerencias le recomendamos tener en cuenta que: El teléfono público encontrado puede estar dañado, pero habrán otros teléfonos buenos en la ciudad. CENTRO BIOTECNOLÓGICO DEL CARIBE 5
  • 6.
    Analisis y Desarrollode Sistemas de Información Ing. Armando M Brito C ALGORITMOS 2008 Posiblemente haya personas en la cola y el señor A deber esperar su turno. Puede ocurrir que no le contestan o que está ocupado y deberá hacer otro intento, hasta un máximo de 5. En uno de los intentos el teléfono no le devolvió la moneda. No se preocupe porque el señor A (no tenga en cuenta): Olvidó el número telefónico o el mensaje. Marcó un número equivocado. Encontró que todos los teléfonos de la ciudad están dañados. Lo atropelló un auto al cruzar una calle, etc. CENTRO BIOTECNOLÓGICO DEL CARIBE 6