Pseudocódigo
De Wikipedia, la enciclopedia libre
Un pseudocódigo o falso lenguaje, es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software.
No hay ningún compilador o intérprete de pseudocódigo informático, y por tanto no puede ser ejecutado en un ordenador, pero las similitudes con la mayoría de los lenguajes informáticos lo hacen fácilmente convertible.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución, evitando las reglas de sintaxis de los lenguajes de programación convencionales.
No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones, veamos un ejemplo, que podríamos definir como: lenguaje imperativo, de tercera generación, según el método de programación estructurada.
Tabla de contenidos |
[editar] Definición de datos
La definición 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 pseudocódigo para definir estructuras de datos, esta parte la desarrollaremos adecuadamente.
[editar] Definición de estructuras de control
Consideraremos tres estructuras de control para desarrollar los procedimientos:
[editar] Secuencial
Es aquel conjunto de instrucciones donde éstas se ejecutan en el mismo orden en que están escritos, es decir en secuencia.
La ejecución del programa comienza por la primera instrucción de la parte ejecutable, y continua sucesivamente con las siguientes en orden correlativo:
Instrucción 1 Instrucción 2 … … Instrucción n
[editar] Selectiva
La instrucción selectiva realiza una instrucción de dos posibles, según el cumplimiento de una condición
si (condición) entonces Instrucción 1 si_no Instrucción 2 fsi
La condición es una variable booleana o una función reducible a booleana.
Si esta condición es cierta se ejecuta la instrucción 1, sino la instrucción 2.
fsi señala el fin de la instrucción condicional
- Selección múltiple.
Anidando varias funciones de selección podríamos implementar una selección múltiple pero por sencillez la incorporaremos al las estructuras del lenguaje.
si (condición 1) entonces Instrucción 1 [] (condición 2) entonces Instrucción 2 [] (condición n) entonces Instrucción n ... si_no Instrucción alternativa fsi
En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si una de ellas se cumple las demás tienen que ser falsas necesariamente, hay una caso si_no que será cierto cuando las demás condiciones sean falsas.
En esta estructura si la condición 1 es cierta se ejecuta la instrucción 1, y así sucesivamente.
[editar] Iterativa
mientras (condición) hacer Instrucción fmientras
El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.
[editar] El anidamiento
Cualquier instrucción puede ser sustituida por una estructura de control.
[editar] Funciones matemáticas
Las funciones matemáticas y lógicas normales toman el significado usual que tienen en matemática y lógica, con las mismas expresiones
- Función de asignación
a:= expresión
Una variable seguida de dos puntos y el signo igual asignara el resultado de la expresión a esa variable. Cuando dentro de la expresión esta la misma variable, primero se evalúa la expresión con el valor que la variable tenia al comenzar la asignación, y finalizado la valoración de la expresión se asigna valor a la expresión.
a:= a+1 a:= 23+12*a
Esta situación no siempre se da en los lenguajes de programación.
[editar] Desarrollo de algoritmos
Con este pseudocódigo podemos desarrollar cualquier algoritmo que:
- Tenga un único punto de inicio.
- Tenga un número finito de posibles puntos de término.
- Haya un número finito de caminos, entre el punto de inicio y los posibles puntos de término.
[editar] Definición de funciones
[editar] Ejemplo de Pseudocodigo - WinPseudo 1.4
#---------------------------------------- # MCD - Algoritmo de Euclides # # El MCD de 2 numeros A y B es igual # al MCD de B y (a%b) iterativamente # # El resultado final es el ultimo resto # no nulo. # # mcd(a, b) = mcd(b, a) # mcd(0, b) = b # mcd(a, b) = mcd(a - b, b) # mcd(a, b) = mcd(b, a % b) <--- #----------------------------------------- INICIO Programa26 - "MCD - Algoritmo de Euclides" VAR NUMERICO A NUMERICO B FIN-VAR LEER (A) LEER (B) MIENTRAS (B > 0) A = A % B INTERCAMBIAR (A,B) FIN-MIENTRAS IMPRIMIR ENTERO(A) FINAL
[editar] Ventajas de utilizar un Pseudocódigo a un diagrama de flujo de datos (DFD)
1. Permite representar de forma fácil operaciones repetitivas complejas.
2. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal.
3. Si se siguen las reglas de identación se puede observar claramente los niveles en la estructura del programa.
4. En los procesos de aprendizaje de los alumnos de programación, estos están más cerca del paso siguiente (codificación en un lenguaje determinado), que los que se inician en esto con la modalidad Diagramas de Flujo)