HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 1 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Un pseudocódigo (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 (en el caso de que lo hubiera serían los lectores de dicho pseudocódigo informático, por ej. una idea de un jefe de programación al su personal), 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 a un problema.
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.
Pseudocódigo = Pseudo (Supuesto) + Código (Instrucción).
Definición de datos del Pseudocódigo
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.
Definición de estructuras de control
Como se había mencionado antes, cada autor usa su propio pseudocódigo con sus respectivas convenciones. Por ejemplo, considere la instrucción "Reemplace el valor de la variable x por el valor de la variable y"; algunas de las posibles sintaxis para indicar lo anterior podrían ser:
ASIGNE a el valor de
Secuencial
Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo.
HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 2 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Instrucción1
Instrucción2
Instrucción3
Instrucciónn
Selectiva
La instrucción selectiva determina si una determinada instrucción se ejecuta o no, según el cumplimiento de una condición P.
Diagrama de flujo que muestra el funcionamiento de la instrucción condicional
SI P ENTONCES
Instrucciones1
FIN SI
La condición P es una variable booleana o una función reducible a booleana (lógica,
Verdadero/Falso). Si esta condición es cierta se ejecuta Instrucciones1, si no es así, ésta
no se ejecuta.
Selectiva doble (alternativa)
HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 3 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Diagrama de flujo que muestra el funcionamiento de la instrucción condicional
SI P ENTONCES
Instrucciones1
SI NO
Instrucciones2
FIN SI
La condición P es una variable booleana o una función reducible a booleana (lógica,
Verdadero/Falso). Si esta condición es cierta se ejecuta Instrucciones1, si no es así,
entonces se ejecuta Instrucciones2.
Selectiva múltiple
También es común el uso de una selección múltiple que equivaldría a anidar varias funciones de selección.
SICondición1 ENTONCES
Instrucciones1
SI NO SICondición2 ENTONCES
Instrucciones2
SI NO SICondiciónn ENTONCES
Instruccionesn
SI NO
Instruccionesn+1
FIN SI
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 un caso si
no que será cierto cuando las demás condiciones sean falsas.
En esta estructura si Condición1 es cierta, entonces se ejecuta sólo Instrucciones1. En
general, si Condicióni es verdadera, entonces sólo se ejecuta Instruccionesi
Selectiva múltiple-Casos
Una construcción similar a la anterior (equivalente en algunos casos) es la que se muestra a continuación.
SELECCIONARIndicador
CASOValor1:
Instrucciones1
CASOValor2:
HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 4 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
CASOValorn-1:
Instruccionesn-1
EN OTRO CASO:
[Instruccionesn]
FIN SELECCIONARIndicador
En este caso hay Indicador es una variable o una función cuyo valor es comparado en
cada caso con Valori, si en algún caso coinciden ambos valores, entonces se ejecutarán
las Instruccionesi correspondientes. La sección EN OTRO CASO es análoga a la sección
SI NO del ejemplo anterior.
Iterativa
Las instrucciones iterativas abren la posibilidad de realizar una secuencia de
instrucciones más de una vez.
Diagrama de flujo que muestra el funcionamiento de la instrucción mientras
MIENTRAS P HACER
Instrucciones
FIN MIENTRAS
El bucle se repite mientras la condición P 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.
Existen otras variantes que se derivan a partir de la anterior. La estructura de control hacer
se utiliza cuando es necesario que las instrucciones de una estructura mientras se
ejecuten al menos una vez:
HACER
Instrucciones
MIENTRAS P
HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 5 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Instrucciones
MIENTRAS P HACER
Instrucciones
FIN MIENTRAS
Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea
iterar sobre un índice i (por convención se usa i, sin embargo se puede usar cualquier
identificador):
PARA HASTA n HACER
Instrucciones
FIN PARA
la cual se define como
MIENTRAS HACER
Instrucciones
FIN MIENTRAS
Por último, también es común usar la estructura de control para cada. Esta sentencia se
usa cuando se tiene una lista o un conjunto L y se quiere iterar por cada uno de sus
elementos:
PARA CADA HACER
Instrucciones
FIN PARA
Si asumimos que los elementos de L son , entonces esta sentencia
equivaldría a:
PARA HASTA n HACER
Instrucciones
FIN PARA
sin embargo, en la práctica existen mejores formas de implementar esta instrucción dependiendo del problema.
HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 6 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
El anidamiento
Cualquier instrucción puede ser sustituida por una estructura de control. El siguiente ejemplo muestra un pseudocódigo de un método de ordenamiento denominado
Ordenamiento de burbuja en el cual aparecen varias estructuras anidadas. Este algoritmo
ordena una lista L.
PROCEDIMIENTO
// es una lista con n elementos//
HACER
PARA HASTA HACER
SI ENTONCES
FIN SI
FIN PARA
MIENTRAS
FIN PROCEDIMIENTO
Desarrollo de algoritmos
Con este pseudocódigo se puede 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.
Funciones y procedimientos
Muchas personas prefieren distinguir entre funciones y procedimientos. Una función, al
igual que una función matemática, recibe un valor de entrada y regresa una salida
mientras que un procedimiento recibe una entrada pero no genera una salida.
En ambos casos es necesario dejar en claro cuáles son las entradas para el algoritmo, esto se hace comúnmente colocando estos valores entre paréntesis al principio o bien declarándolo explícitamente con un enunciado. En el caso de las funciones, es necesario
colocar una palabra como REGRESAR o DEVOLVER para indicar cuál es la salida
generada por el algoritmo. Por ejemplo, el pseudocódigo de una función que permite
HERRAMIENTAS INFORMÁTICAS 4º Año
E.E.T. Nº 8013 “SAN JOSE” Página 7 de7
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
FUNCIÓN
//Este algoritmo sirve para calcular an cuando a y n son números naturales//
MIENTRAS HACER
SI es impar ENTONCES
FIN SI
FIN MIENTRAS DEVOLVER
FIN FUNCIÓN
Ventajas de utilizar un Pseudocódigo a un diagrama de flujo
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.