Es un lenguaje informal til para el desarrollo de algoritmos. No es un lenguaje de
programacin verdadero y, por lo tanto no puede ser ejecutado Caractersticas y partes: Las principales caractersticas de este lenguaje son: Se puede ejecutar en un ordenador Es una forma de representacin sencilla de utilizar y de manipular. Facilita el paso del programa al lenguaje de programacin. Es independiente del lenguaje de programacin que se vaya a utilizar. Es un mtodo que facilita la programacin y solucin al algoritmo del programa.
Todo documento en pseudocdigo debe permitir la descripcin de:
Instrucciones primitivas. Instrucciones de proceso.... Instrucciones de control. Instrucciones compuestas. Instrucciones de descripcin.
Estructura a seguir en su realizacin:
1. Cabecera. 1. Programa. 2. Mdulo. 3. Tipos de datos. 4. Constantes. 5. Variables. 2. Cuerpo 1. Inicio. 2. Instrucciones. 3. Fin. Definicin de datos del pseudocdigo La definicin de datos se da por supuesta, sobre todo en las variables sencillas, si se emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del algoritmo, y naturalmente cuando empleemos el pseudocdigo para definir estructuras de datos, esta parte la desarrollaremos adecuadamente.
Funciones y operaciones Cada autor usa su propio pseudocdigo con sus respectivas convenciones. Por ejemplo, la instruccin "reemplace el valor de la variable x por el valor de la variable y" puede ser representado como: Asigne a x, el valor de y x y x:= y x= y Estructuras del control Las estructuras de control tienen una finalidad bastante definida: sealar orden en que tienen que sucederse los pasos de un algoritmo. Si un programa muestra un mensaje en la pantalla que pregunta al usuarioDesea seguir adelante?, obviamente, de la respuesta del usuario depender la siguiente accin del programa. El programador debe escribir el cdigo para las dos posibilidades (s y no), aunque cuando el programa este funcionando, solo se elegir una. Estructura Secuencial En oras palabras podemos decir es aquella en la que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. En Pseudocdigo una Estructura Secuencial se representa de la siguiente forma: PSEUDOCODIGO Nombre VARIABLES Nombre: Tipo De Dato CONSTANTES Nombre = Valor INICIO Accin accion1 accion2 Accin FIN Estructura Selectiva; La estructura lgicas selectivas se encuentran en la solucin algortmica de casi todo tipo de problemas. Las utilizamos cuando en el desarrollo de la solucin de un problema debemos tomar una decisin, para establecer un proceso o sealar un camino alternativo a seguir. Esta toma de decisin (expresada con un rombo) se basa en la evaluacin de una o ms condiciones que nos sealarn como alternativa o consecuencia, la rama a seguir. Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una decisin, se marca la rama correspondiente a seguir, se vuelve a tomar una decisin y as sucesivamente. Por lo que para alcanzar la solucin de este problema o subproblema debemos aplicar prcticamente un rbol de decisin. Las podemos clasificar en: 1. SI ENTONCES (Estructura selectiva simple) 2. SI ENTONCES / SINO (Estructura selectiva doble) 3. SI MULTIPE (Estructura selectiva mltiple) Selectiva doble: Son estructuras lgicas que permiten controlar la ejecucin de varias acciones y se utilizan cuando se tienen dos opciones de accin, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Lo ms frecuente es encontrar situaciones donde si una condicin se cumple se ejecuta un grupo de instrucciones, pero si no se cumple, deben ejecutarse otras. La instruccinSi ... entonces ... Sino... facilita este tipo de programacin. La estructura que le corresponde es: SI (condicin) entonces Instrucciones 1 SINO Instrucciones 2 F INSI Seleccin Mltiple La estructura de seleccin mltiple ofrece una solucin ms simple y compacta. Para esta estructura se evala una expresin que puede tomar n valores distintos (1, 2, 3, ..., n) A cada valor de la expresin corresponde una instruccin (o serie de instrucciones) diferente, lo que significa que el flujo seguir un camino distinto entre los n posibles caminos en dependencia del valor de la expresin de control. Tambin hay programas que nos llevan a considerar alternativas con varias opciones posibles. Hay dos formas de escribir esto en pseudocdigo. La primera de ellas modifica la estructura de seleccin doble: SI (condicion1) entonces Instrucciones 1 SI (condicion2) entonces Instrucciones 2 . . . SI (condicin k) entonces Instrucciones k F INSI Selectiva multiple casos: Una estructura selectiva del lenguaje c, que facilita implementar algunas decisiones mltiples cuando se presentan todas con base en la evaluacin de una expresin es switch-case. switch(expresin) { case exp-constante1: <accin 1>; break; case exp-constante2: <accin 1>; break; ... case exp-constanteN: <accin N>; break; default: <accin M>;
Estructuras iterativas Las estructuras repetitivas, que tambin reciben el nombre de bucle (loop, en ingles) controlan un conjunto de instrucciones que deben repetirse cierto nmero de veces, mientras se cumple una condicin que ha de ser claramente especificada. La condicin podr ser verdadera o falsa, y se comprobara en cada paso o iteracin del bucle. Todo bucle consta de tres partes bsicas, a saber: Decisin: donde se evala la condicin y, en caso de ser cierta, se ejecuta el cuerpo del bucle. Cuerpo del bucle: son las instrucciones que se ejecutaran repetidamente, un nmero determinado de veces, cuando la decisin es verdadera. Salida del bucle: es la condicin que indica cuando terminan las iteraciones Bucle mientras: El Bucle while o bucle mientras es una estructura de la mayora de los lenguajes de programacin estructurados cuyo propsito es repetir un bloque de cdigo mientras una condicin se mantenga verdadera. La sintaxis bsica es: MIENT RAS (condicin - expresin lgica) hacer instrucciones F INMIENTRAS Bucle repetir: El bucle repetir comprueba la condicin de finalizacin al final del cuerpo del bucle, y si sta es cierta continua con el resto del programa, a veces esto resulta ms adecuado. En la mayora de los lenguajes de programacin seria: REPEAT
UNTIL (condicin) Esta estructura de control siempre permite la ejecucin del cuerpo del bucle cuando menos una vez, y lo finaliza cuando la condicin es cierta.
Bucle para: El bucle for permite repetir un conjunto de instrucciones un nmero determinado de veces, con la peculiaridad que la instruccin incrementa (o decrementa), automticamente y de uno en uno, la variable que se utiliza como contador. La sintaxis bsica es: DESDE < valor inicio > : < valor final > HACER instrucciones FINDESDE o DESDE < valor inicio > : < decremento > : < valor final > HACER instrucciones FINDESDE Anidamiento Los bucles anidados constan de un bucle externo con uno o ms bucles internos. Cada vez que se repite el bucle externo, los bucles internos se repiten, se vuelven a evaluar los componentes de control y se ejecutan todas las iteraciones requeridas En general, las estructuras anidadas se muestran indentadas, para hacer ms sencilla su identificacin a simple vista.
Desarrollo de algoritmos Con este pseudocdigo se puede desarrollar cualquier algoritmo que: Tenga un nico punto de inicio. Tenga un nmero finito de posibles puntos de trmino. Haya un nmero finito de caminos, entre el punto de inicio y los posibles puntos de trmino. Funciones y prodecimientos Una funcin, al igual que una funcin matemtica, recibe uno o varios valores de entrada y regresa una salida mientras que un procedimiento recibe una entrada y no genera ninguna salida aunque en algn caso podra devolver resultados a travs de sus parmetros de entrada si estos se han declarado por referencia En ambos casos es necesario dejar en claro cules son las entradas para el algoritmo, esto se hace comnmente colocando estos valores entre parntesis al principio o bien declarndolo explcitamente con un enunciado Ventajas Los pseudocdigos presentan los siguientes beneficios:
Ocupan mucho menos espacio en el desarrollo del problema. Permite representar de forma fcil operaciones repetitivas complejas. Es ms sencilla la tarea de pasar de pseudocdigo a un lenguaje de programacin formal. Si se siguen las reglas de identacin se puede observar claramente los niveles en la estructura del programa. En los procesos de aprendizaje de los alumnos de programacin, stos estn ms cerca del paso siguiente (codificacin en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo). Mejora la claridad de la solucin de un problema.