viernes, 13 de abril de 2007

Algoritmos - Introducción

Alumno: Profe Ud. nos indicó que las computadoras realizan operaciones a grandes velocidades pero ¿Como le indicamos a un computador que es lo que tiene que hacer?
Profesor:Antes de contestar esa pregunta me puede decir ¿Como le indicaría a su compañero que realice algun trabajo por ud?
Alumno: Tendría que preparar un documento con instrucciones precisas.
Profesor: De igual forma Joven se tiene que preparar un documento para indicarle al computador lo que tiene que realizar. Ese documento se le conoce como ALGORITMO.
Alumno: La receta de cocina también es un documento de instrucciones para realizar una tarea. Entonces por lo que Ud. ha dicho Será tambien un ALGORITMO.
Profesor: Claro que si. Un ALGORITMO es una secuencia de pasos ordenados, finíto y bien definido que nos permiten realizar una tarea o resolver un problema. Entendemos por finito que tenga un limitado número de pasos; definido implica que si se sigue el mismo proceso más de una vez llegaremos al mismo resultado, por lo tanto una receta de cocina lo es .
Alumnos: Específicamente profesor. ¿Como escribo un ALGORITMO?.
Profesor: Existen diferentes formas de escribir un ALGORITMO :
Por ejemplo vamos a escribir un ALGORITMO para sumar dos números de tres formas diferentes
  1. Lenguaje natural: Tal como nos expresamos los humanos
  2. Diagrama de flujo: Utilizando gráficos normalizados
  3. Pseudocódigo: Utilizando palabras reservadas

Alumno: ¿Como escribo un ALGORITMO para que la computadora me pueda entender?
Profesor: La computadora directamente no entiende un ALGORITMO. Sólo puede entender un lenguaje de ceros(0) y unos(1) conocido como lenguaje de máquina. Existen programas que convierten un ALGORITMO a lenguaje de máquina conocidos como intérpretes que traduce instrucción por instrucción por ejemplo el Basic y otros conocidos como compiladores que traduce todo el ALGORITMO en conjunto por ejemplo C++, Pascal, etc. Cada uno tiene sus propias reglas y sintaxis conocido como Lenguaje de programación.
Alumno: Entonces ¿tendría que aprender las reglas y sintaxis de cada lenguaje para aprender a programar?.
Profesor: Claro que no. Si la lógica es la misma para todos los casos, entonces sería mucho más conveniente usar codigo que lo podamos entender con facilidad conocido como PSEUDOCÓDIGO para escribir nuestros ALGORITMOS ya que es la que se asemeja más a un Lenguaje de programación y se limitaría simplemente a trascribir de acuerdo a las reglas y sintaxis del lenguaje escogido.
Alumno: ¿Por que no escribo directamente en un lenguaje de programación y me ahorro el trabajo de escribir previamente el ALGORITMO en PSEUDOCÓDIGO?.
Profesor: Puede ser factible. En todo caso tendría que usar un Lenguaje simple que tenga todas las condiciones para transformar a cualquier Lenguaje sin dificultad. Sin embargo es mucho más sencillo usar PSEUDOCÓDIGO por que usa palabras reservadas en nuestro propio lenguaje y eso lo entendemos mejor, enfocandonos en la parte lógica del problema.