Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. El Pseudocódigo, significa escribir las instrucciones del algoritmo en lenguaje natural. Tal y como lo expresamos de manera cotidiana, este procedimiento facilita su estructura en los lenguajes de programación. La descripción de un algoritmo usualmente se hace en tres niveles: - Descripción de alto nivel: Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. - Descripción formal: S