Los algoritmos y la programación han estado íntimamente ligados desde la aparición de la computadora. Los algoritmos (serie de pasos lógicos y secuenciales para alcanzar un objetivo) son utilizados hoy día para solucionar problemas que pueden ser resueltos a través de una computadora con la aplicación de programas ejecutables.
Y un programa es una serie de instrucciones específicas escritas en la sintaxis de un lenguaje de programación. Por ejemplo: el cálculo de la nómina de los empleados de una compañía se puede realizar a través de un programa de cómputo. El procedimiento consiste en identificar el problema u objetivo, diseñar las salidas (resultados, reportes, informes, etcétera), realizar el algoritmo, codificarlo utilizando un lenguaje de programación, compilarlo, depurarlo y, por último, crear el programa.
Un buen algoritmo es capaz de implantarse en cualquier equipo de cómputo, independientemente de la plataforma y lenguaje de programación que se emplee. Esto quiere decir que no importa bajo qué sistema operativo corra, ni el equipo donde sea implantado (una computadora portátil o una supercomputadora).
Hay diferentes técnicas para crear un algoritmo. Debido a su variedad y complejidad, no serán tocadas todas en esta unidad, ya que su estudio profundo le compete a otra carrera. Pero sí se hará mención de dos técnicas importantes para desarrollar algoritmos: diagramas de flujo y pseudocódigo.
Un diagrama de flujo (véase figura 4.1) es la representación gráfica de un algoritmo. Se compone de una serie de símbolos que representan procesos realizados dentro de la computadora. Por ejemplo, el símbolo terminal indica el inicio o fin de un programa; un rombo, la toma de una decisión; un rectángulo, la realización de un proceso. Esto facilita a quienes no están involucrados en las ciencias de la computación comprender el funcionamiento de un algoritmo. Pero una desventaja es que, cuando el algoritmo es muy complejo, se necesita unir una gran cantidad de hojas para entenderlo completamente. Y de esta manera, su simplicidad se vuelve complejidad, pues los símbolos gráficos ya no son tan claros.
Cabe destacar que los diagramas de flujo no son utilizados sólo en las ciencias de la computación, sino también en las disciplinas económico-administrativas. En la Administración son muy útiles para elaborar los manuales de procedimientos administrativos.
Por su parte, el pseudocódigo opera de manera distinta (véase figura 4.2). Aquí, se utiliza una serie de instrucciones en forma de palabras que indican los pasos a seguir, decisiones que deben tomarse, y qué hacer en caso de que un resultado sea erróneo. Se puede utilizar palabras en español, aunque tradicionalmente se emplea el inglés.
Por ejemplo, si se desea establecer una condición, en español se expresa “si-entonces”; y en inglés, “if-then”. La preferencia por el inglés se debe a que los lenguajes de programación utilizan palabras en esta lengua, por lo que el desarrollo de algoritmos en pseudocódigo es más usual en este idioma.
El pseudocódigo tiene como ventaja que puede realizar programas muy complejos en espacios reducidos. Además, el pseudocódigo y los lenguajes de programación son muy parecidos en su forma, por lo que transformar el pseudocódigo en un programa es relativamente sencillo. Pero su inconveniente es que su comprensión resulta muy difícil.
Un lenguaje de programación es un conjunto de símbolos e instrucciones que permiten al usuario comunicarse con la computadora e indicarle qué pasos debe seguir para resolver un problema. Hay varios lenguajes de programación, la mayoría realizan cálculos de números, manipulan cadenas de caracteres y textos, realizan gráficos, almacenan y recuperan archivos, etcétera.
Entre los diferentes tipos de lenguajes de programación, algunos son muy sencillos y pueden ser utilizados por personas que no están muy familiarizadas con éstos; pero hay otros tan complejos, que se requiere de años de estudio para emplearlos. En general, todos los lenguajes están diseñados para desarrollar programas que se ejecutan en una computadora.
Si el algoritmo fue bien diseñado, el problema se ha solucionado al 50%; la otra mitad es su implantación correcta en un lenguaje de programación en particular. Con base en el lenguaje, se escribe un código fuente (programa) que se somete a compilación. Ésta consiste en interpretar el programa fuente, revisar la sintaxis y generar un código objeto o lenguaje de máquina. Por último, se ejecuta el programa o corrida, que realizará el proceso para resolver el problema.
Los lenguajes de programación que estudiarás en esta asignatura no serán muy complejos, ya que el propósito de la licenciatura en Contaduría no es que el contador sea programador. No obstante, debes tener los conocimientos básicos en materia de computación, para entender qué son un algoritmo y un programa, y cómo interactuar con los sistemas de información utilizados en las empresas