lunes, 21 de febrero de 2011

Introduciéndonos a la programación II - Algoritmos

Nuestro primer paso
Todo en esta vida tiene un comienzo, y en la programación no existe excepción. Este primer paso es empezar a diseñar nuestro código mediante pseudocódigos y diagramas de flujo que en fin representan nuestra forma de resolver el problema o también llamado algoritmo.

Algoritmo
La definición de algoritmo nos dicta que es una secuencia de pasos finitos destinados a resolver un problema de manera concisa, clara y no ambigua. Es importante también el dejar claro que al igual que las personas tienen distintas formas de resolver un problema, existirán distintos tipos de algoritmos, algunos extensos y más detallados, otros cortos y quizá incompletos pero lo único importante es que con cualquier tipo de algoritmo, el resultado no se vea afectado y este siga siendo el mismo.
Existen dos tipos de algoritmos, cualitativos y cuantitativos. Los cualitativos son exclusivos para la resolución de tareas no numéricas, es más se enfocan en procesos, por ejemplo, un algoritmo sobre como comprar un automóvil a buen precio es un algoritmo cualitativo. Los cuantitativos se definen más por el lado numérico que expresan, es decir que su propósito es el de resolver problemas matemáticos tales como algoritmos para encontrar el máximo común divisor, o la resolución de ecuaciones.
Esta secuencia finita no tiene una estructura de palabras definidas. En un algoritmo las expresiones son practicamente libres para todos, tan solo el respetar la lógica del proceso, que tiene un inicio y un fin. Para entender mejor, un algoritmo cualitativo para llevar paraguas:

  1. Inicio{Marca el inicio de todo el proceso que llevaremos a cabo}
  2. Ver el cielo {proceso}
  3. Si está nublado entonces{estructura condicional}
    1. Llevar paraguas {proceso}
  4. Fin si
  5. Fin{Marca el final del algoritmo}
Como podemos observar, la estructura es finita, no posee ambigüedades y es concisa, pese a su simplicidad es así tal como debemos llevar a cabo la escritura de un algoritmo.
Algunos ejemplos que nos ilustrarán más, aparte de que comenzamos a organizar nuestros algoritmos en forma de pseudocódigos (tópico que tocaremos el siguiente capítulo) son:
  1. Subir una escalera:
1.-Inicio
2.-Si la escalera está cerca entonces:
    2.1.-Ubicar la escalera en el lugar deseado
    2.2.-Si los escalones están en buen estado entonces:
             2.2.1.-Subir escalón por escalón
               Si no
             2.2.2.-Comprar otra escalera o reparar la actual
               Fin Si
          Si no
    2.3.-Traer la escalera y ubicarla en tal lugar
    Fin Si
3.-Fin
  1. Búsqueda de número telefónico:
1.-Inicio
2.-Si la guía telefónica NO está ahí entonces:
    2.1.-Ir por ella
    Fin Si
3.-Si conocemos el nombre completo de la persona entonces:
    3.1.-Buscar la sección de su apellido paterno por la primera letra de este
    3.2.-Si hay muchas personas con ese apellido entonces:
           3.2.1.-Buscar por su apellido materno o su nombre
           Si no
           3.2.2.-Memorizar el número encontrado
           Fin si
    Si no
    3.3.-Si recordamos parte del número entonces:
           3.3.1.-Localizar la parte de la guía constante solo de números
           3.3.2.-Buscar el número recordando parte de el
           3.3.3.-Si ubicamos el número entonces:
                     3.3.3.1.-Memorizarlo
                     Si no
                     3.3.3.2.-Cerrar la guía y pedir el número a la persona
                     Fin si
           Si no
           3.3.4.-Cerrar la guía y pedir el número a la persona
           Fin si
    Fin Si
             4.-Fin

Quizá creas que todo esto llegue a ser ridículo por hacer pseudocódigos sobre cosas tan cotidianas y fáciles, pero piensa, el objeto de realizar estás prácticas son sencillamente diagnosticar tu propia lógica y secuencia de pasos que tu mismo sigues al resolver los problemas.

No hay comentarios:

Publicar un comentario