Está en la página 1de 5

Pseudoc�digo

Ir a la navegaci�nIr a la b�squeda
Commons-emblem-question book yellow.svg
Este art�culo tiene referencias, pero necesita m�s para complementar su
verificabilidad.
Puedes colaborar agregando referencias a fuentes fiables como se indica aqu�. El
material sin fuentes fiables podr�a ser cuestionado y eliminado.
Este aviso fue puesto el 7 de mayo de 2017.
En ciencias de la computaci�n, y an�lisis num�rico, el pseudoc�digo (o lenguaje de
descripci�n algor�tmico) es una descripci�n de alto nivel compacta e informal1? del
principio operativo de un programa inform�tico u otro algoritmo.

Utiliza las convenciones estructurales de un lenguaje de programaci�n real,2? pero


est� dise�ado para la lectura humana en lugar de la lectura mediante m�quina, y con
independencia de cualquier otro lenguaje de programaci�n. Normalmente, el
pseudoc�digo omite detalles que no son esenciales para la comprensi�n humana del
algoritmo, tales como declaraciones de variables, c�digo espec�fico del sistema y
algunas subrutinas. El lenguaje de programaci�n se complementa, donde sea
conveniente, con descripciones detalladas en lenguaje natural, o con notaci�n
matem�tica compacta. Se utiliza pseudoc�digo pues este es m�s f�cil de entender
para las personas que el c�digo del lenguaje de programaci�n convencional, ya que
es una descripci�n eficiente y con un entorno independiente de los principios
fundamentales de un algoritmo. Se utiliza com�nmente en los libros de texto y
publicaciones cient�ficas que se documentan varios algoritmos, y tambi�n en la
planificaci�n del desarrollo de programas inform�ticos, para esbozar la estructura
del programa antes de realizar la efectiva codificaci�n.

No existe una sintaxis est�ndar para el pseudoc�digo, aunque los ocho IDE's que
manejan pseudoc�digo tengan su sintaxis propia. Aunque sea parecido, el
pseudoc�digo no debe confundirse con los programas esqueleto que incluyen c�digo
ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML
pueden ser considerados como una alternativa gr�fica al pseudoc�digo, aunque sean
m�s amplios en papel.

�ndice
1 Aplicaciones
2 Sintaxis
3 Definici�n de datos en pseudoc�digo
3.1 Funciones y operaciones
3.2 Estructuras de control
3.2.1 Estructuras secuenciales
3.2.2 Estructuras selectivas
3.2.2.1 Selectiva doble (alternativa)
3.2.2.2 SELECCION MULTIPLE
3.2.2.3 Selectiva m�ltiple-Casos
3.2.3 Estructuras iterativas
3.2.3.1 Bucle mientras
3.2.3.2 Bucle repetir
3.2.3.3 Bucle hacer
3.2.3.4 Bucle para
3.2.3.5 Bucle para cada
3.2.4 El anidamiento
3.3 Funciones y procedimientos
4 Desarrollo de algoritmos
4.1 Ventajas del pseudoc�digo sobre los diagramas de flujo
5 V�ase tambi�n
6 Referencias
6.1 Bibliograf�a
7 Enlaces externos
Aplicaciones
Generalmente se utiliza pseudoc�digo en los libros de texto y publicaciones
cient�ficas relacionadas con la inform�tica y la computaci�n num�rica, para la
descripci�n de algoritmos, de manera que todos los programadores puedan entenderlo,
aunque no todos conozcan el mismo lenguaje de programaci�n. Generalmente, en los
libros de texto se adjunta una explicaci�n que acompa�a a la introducci�n y que
explica las convenciones particulares en uso. El nivel de detalle del
seudocient�fico puede, en algunos casos, acercarse a la de formalizar los idiomas
de prop�sito general.

Un programador que tiene que aplicar un algoritmo espec�fico, sobre todo uno
desfamiliarizado, generalmente comienza con una descripci�n en pseudoc�digo, y
luego "traduce" esa descripci�n en el lenguaje de programaci�n meta y lo modifica
para que interact�e correctamente con el resto del programa. Los programadores
tambi�n pueden iniciar un proyecto describiendo la forma del c�digo en pseudoc�digo
en el papel antes de escribirlo en su lenguaje de programaci�n, como ocurre en la
estructuraci�n de un enfoque de Top-down y Bottom-up arriba hacia abajo.

Sintaxis
En la actualidad y por lo general, el pseudoc�digo, como su nombre lo indica, no
obedece a las reglas de sintaxis de ning�n idioma en particular ni es de forma
est�ndar sistem�tica, a pesar de que cualquier escritor en particular vaya a pedir
prestado las estructuras de control general, la sintaxis y el estilo, por ejemplo,
de alg�n lenguaje de programaci�n convencional. Pero en caso de que se quiera
ejecutar, se debe llevar a forma tipo, para que no genere mensajes de error. Las
fuentes populares incluyen la sintaxis de Pascal, BASIC, C, C++, Java, Lisp, y
ALGOL. Por lo general, se omiten las declaraciones de variables. A veces, las
llamadas a funciones, los bloques de c�digo y el c�digo contenido dentro de un loop
se remplazan por una sentencia de una l�nea en lenguaje natural.

Dependiendo del escritor, el pseudoc�digo puede variar mucho en su estilo, yendo


desde en un extremo, una imitaci�n casi exacta de un lenguaje de programaci�n real,
hasta al acercarse a una descripci�n en prosa de formato de pseudoc�digo en el otro
extremo.

Este es un ejemplo de pseudoc�digo (para el juego matem�tico bizz buzz):

Pseudoc�digo estilo Fortran:

programa bizzbuzz
hacer i = 1 hasta 100
establecer print_number a verdadero
si i es divisible por 3
escribir "Bizz"
establecer print_number a falso
si i es divisible por 5
escribir "Buzz"
establecer print_number a falso
si print_number, escribir i
escribir una nueva l�nea
fin del hacer
Pseudoc�digo estilo Pascal:

procedimiento bizzbuzz
para i := 1 hasta 100 hacer
establecer print_number a verdadero;
Si i es divisible por 3 entonces
escribir "Bizz";
establecer print_number a falso;
Si i es divisible por 5 entonces
escribir "Buzz";
establecer print_number a falso;
Si print_number, escribir i;
escribir una nueva l�nea;
fin
Pseudoc�digo estilo C:

subproceso funcion bizzbuzz


para (i <- 1; i<=100; i++) {
establecer print_number a verdadero;
Si i es divisible por 3
escribir "Bizz";
establecer print_number a falso;
Si i es divisible por 5
escribir "Buzz";
establecer print_number a falso;
Si print_number, escribir i;
escribir una nueva l�nea;
}
Definici�n de datos en 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.

Funciones y operaciones
Cada autor usa su propio pseudoc�digo con sus respectivas convenciones. Por
ejemplo, la instrucci�n "reemplace el valor de la variable {\displaystyle x} x por
el valor de la variable {\displaystyle y} y" puede ser representado como:

asigne a {\displaystyle x\,} x\, el valor de {\displaystyle y\,} y\,


{\displaystyle {\color {OliveGreen}{\mathit {x}}}\;{\color {BlueViolet}{\mathit
{\gets }}}\;{\color {OliveGreen}{\mathit {y;}}}} {\color {OliveGreen}{\mathit
{x}}}\;{\color {BlueViolet}{\mathit {\gets }}}\;{\color {OliveGreen}{\mathit {y;}}}
{\displaystyle {\color {OliveGreen}{\mathit {x}}}\;{\color {BlueViolet}{\mathit
{:=}}}\;{\color {OliveGreen}{\mathit {y;}}}} {\color {OliveGreen}{\mathit {x}}}\;
{\color {BlueViolet}{\mathit {:=}}}\;{\color {OliveGreen}{\mathit {y;}}}
{\displaystyle {\color {OliveGreen}{\mathit {x}}}\;{\color {BlueViolet}{\mathit
{=}}}\;{\color {OliveGreen}{\mathit {y;}}}} {\color {OliveGreen}{\mathit {x}}}\;
{\color {BlueViolet}{\mathit {=}}}\;{\color {OliveGreen}{\mathit {y;}}}
Las operaciones aritm�ticas se representan de la forma usual en matem�ticas.

{\displaystyle {\color {Gray}{\mathit {\


{Esto\;es\;un\;comentario\;normalmente\;matem{\acute {a}}tico\}}}}} {\color {Gray}
{\mathit {\{Esto\;es\;un\;comentario\;normalmente\;matem{\acute {a}}tico\}}}}
{\displaystyle {\color {OliveGreen}\mathrm {volumen} }\;{\color {BlueViolet}
{\mathit {\gets }}}\;{\color {Red}{\mathit {\pi }}}{\color {OliveGreen}{\mathit
{r}}}{}^{2}{\color {OliveGreen}{\mathit {h}}}} {\displaystyle {\color
{OliveGreen}\mathrm {volumen} }\;{\color {BlueViolet}{\mathit {\gets }}}\;{\color
{Red}{\mathit {\pi }}}{\color {OliveGreen}{\mathit {r}}}{}^{2}{\color {OliveGreen}
{\mathit {h}}}}
{\displaystyle {\color {Gray}{\mathit
{//y\;este\;es\;otro\;comentario\;normalmente\;de\;texto//}}}} {\color {Gray}
{\mathit {//y\;este\;es\;otro\;comentario\;normalmente\;de\;texto//}}}
{\displaystyle {\color {OliveGreen}\mathrm {hipotenusa} }\;{\color
{BlueViolet}\mathrm {\gets } }\;{\sqrt {{\color {OliveGreen}{\mathit {a}}}{}^{2}\;
{\color {BlueViolet}{\mathit {+}}}\;{\color {OliveGreen}{\mathit {b}}}{}^{2}\;}}}
{\displaystyle {\color {OliveGreen}\mathrm {hipotenusa} }\;{\color
{BlueViolet}\mathrm {\gets } }\;{\sqrt {{\color {OliveGreen}{\mathit {a}}}{}^{2}\;
{\color {BlueViolet}{\mathit {+}}}\;{\color {OliveGreen}{\mathit {b}}}{}^{2}\;}}}
{\displaystyle {\color {OliveGreen}\mathrm {resultado} }\;{\color {BlueViolet}
{\mathit {\gets }}}\;{\color {Tan}\mathrm {sin} }({\color {OliveGreen}{\mathit
{a}}})} {\displaystyle {\color {OliveGreen}\mathrm {resultado} }\;{\color
{BlueViolet}{\mathit {\gets }}}\;{\color {Tan}\mathrm {sin} }({\color {OliveGreen}
{\mathit {a}}})}
Estructuras de control
En la redacci�n de pseudoc�digo se utiliza tres tipos de estructuras de control:
las secuenciales, las selectivas y las iterativas.

Estructuras secuenciales
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.

{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{1};} }}


{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{1};} }}
{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{2};} }}
{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{2};} }}
{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{3};} }}
{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{3};} }}
{\displaystyle \cdots } \cdots
{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{\it {n}};} }}
{\displaystyle {\color {BlueViolet}\mathrm {instrucci{\acute {o}}n_{\it {n}};} }}
Estructuras selectivas
Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse,
seg�n el cumplimiento de una condici�n.

Diagrama de flujo que muestra el funcionamiento de la instrucci�n condicional.


La condici�n es una expresi�n booleana. Instrucciones es ejecutada s�lo si la
condici�n es verdadera.

Selectiva doble (alternativa)


La instrucci�n alternativa realiza una instrucci�n de dos posibles, seg�n el
cumplimiento de una condici�n.

Diagrama de flujo que muestra el funcionamiento de la instrucci�n condicional.


La condici�n 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.

SELECCION MULTIPLE
Tambi�n es com�n el uso de una selecci�n m�ltiple que equivaldr�a a anidar varias
funciones de selecci�n.
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.
En este caso hay un Indicador es una variable o una funci�n cuyo valor es comparado
en cada caso con los valores "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.

Estructuras iterativas
Las instrucciones iterativas representan la ejecuci�n de instrucciones en m�s de
una vez.

Bucle mientras
Art�culo principal: Bucle while
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 alguna
vez.

Diagrama de flujo que muestra el funcionamiento de la instrucci�n mientras

También podría gustarte