En los lenguajes de programacin existen ciertas funciones predefinidas o
internas que aceptan unos argumentos y producen un valor denominado
resultado. Como funciones numricas, se usarn:
Las funciones se utilizarn escribiendo su nombre, seguido de los argumentos
adecuados encerrados entre parntesis, en una expresin. Los identificadores son los nombres que se dan a las constantes simblicas, variables, funciones, procedimientos, u otros objetos que manipula el algoritmo. La regla para construir un identificador establece que:
Debe resultar significativo, sugiriendo lo que representa.
No podr coincidir con palabras reservadas, propias del lenguaje algortmico. Como se ver ms adelante, la representacin de algoritmos mediante pseudocdigo va a requerir la utilizacin de palabras reservadas. Se admitir un mximo de 32 caracteres. Comenzar siempre por un carcter alfabtico y los siguientes podrn ser letras, dgitos o el smbolo de subrayado. Podr ser utilizado indistintamente escrito en maysculas o en minsculas.
Los diagramas de flujo se utilizan tanto para la representacin grfica de las
operaciones ejecutadas sobre los datos a travs de todas las partes de un sistema de procesamiento de informacin, diagrama de flujo del sistema, como para la representacin de la secuencia de pasos necesarios para describir un procedimiento particular, diagrama de flujo de detalle. El diagrama de flujo utiliza unos smbolos normalizados, con los pasos del algoritmo escritos en el smbolo adecuado y los smbolos unidos por flechas,
denominadas lneas de flujo, que indican el orden en que los pasos deben ser ejecutados. Los smbolos principales son:
Los diagramas Nassi-Schneiderman, denominados as por sus inventores, o
tambin N-S, o de Chapin son una herramienta de programacin que favorece la programacin estructurada y rene caractersticas grficas propias de diagramas de flujo y lingsticas propias de los pseudocdigos. Constan de una serie de cajas contiguas que se leern siempre de arriba-abajo y se documentarn de la forma adecuada. En los diagramas N-S las tres estructuras bsicas de la programacin estructurada, secuencial, selectiva y repetitiva, encuentran su representacin propia. La programacin estructurada ser tratada en captulos posteriores.
El pseudocdigo es un lenguaje de especificacin de algoritmos que utiliza
palabras reservadas y exige la indentacin, o sea sangra en el margen izquierdo, de algunas lneas. En nuestros pseudocdigos usaremos determinadas palabras en espaol como palabras reservadas.
El pseudocdigo se concibi para superar las dos principales desventajas del
diagrama de flujo: lento de crear y difcil de modificar sin un nuevo redibujo. El pseudocdigo comenzar siempre con la palabra inicio y terminar con la palabra fin. Cuando se coloque un comentario de una sola lnea se escribir procedido de //. Si el comentario es multilnea, lo pondremos entre {}. Para introducir un valor o serie de valores desde el dispositivo estndar y almacenarlos en una o varias variables utilizaremos leer(<lista_de_variables>). El diagrama estructurado N-S tambin conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la siguiente forma:
En la etapa de diseo se determina como hace el programa la tarea solicitada.
Los mtodos ms eficaces para el proceso de diseo se basan en el conocido por divide y vencers. Es decir, la resolucin de un problema complejo se realiza dividiendo el problema en subproblemas y a continuacin dividir estos subproblemas en otros de nivel ms bajo, hasta que pueda ser implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo descendente (top-down) o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma ms detallada se denomina refinamiento sucesivo. Cada subprograma es resuelto mediante un mdulo (subprograma) que tiene un solo punto de entrada y un solo punto de salida.
Cualquier programa bien diseado consta de un programa principal (el mdulo
de nivel ms alto) que llama a subprogramas (mdulos de nivel ms bajo) que a su vez pueden llamar a otros subprogramas. Los programas estructurados de esta forma se dice que tienen un diseo modular y el mtodo de romper el programa en mdulos ms pequeos se llama programacin modular. Los mdulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuacin combinarlos entre s. El proceso implica la ejecucin de los siguientes pasos hasta que el programa se termina: 1. Programar un mdulo. 2. Comprobar el mdulo. 3. Si es necesario, depurar el mdulo. 4. Combinar el mdulo con los mdulos anteriores. El proceso que convierte los resultados del anlisis del problema en un diseo modular con refinamientos sucesivos que permitan una posterior traduccin a un lenguaje se denomina diseo del algoEl diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a codificar posteriormente.