Você está na página 1de 9

Pseudocódigo

Ir a la navegaciónIr a la búsqueda
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 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

 1Aplicaciones
 2Sintaxis
 3Definición de datos en pseudocódigo
o 3.1Funciones y operaciones
o 3.2Estructuras de control
 3.2.1Estructuras secuenciales
 3.2.2Estructuras selectivas
 3.2.2.1Selectiva doble (alternativa)
 3.2.2.2SELECCION MULTIPLE
 3.2.2.3Selectiva múltiple-Casos
 3.2.3Estructuras iterativas
 3.2.3.1Bucle mientras
 3.2.3.2Bucle repetir
 3.2.3.3Bucle hacer
 3.2.3.4Bucle para
 3.2.3.5Bucle para cada
 3.2.4El anidamiento
o 3.3Funciones y procedimientos
 4Desarrollo de algoritmos
o 4.1Ventajas del pseudocódigo sobre los diagramas de flujo
 5Véase también
 6Referencias
o 6.1Bibliografía
 7Enlaces externos

Aplicaciones[editar]
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[editar]
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: Pseudocódigo estilo Pascal: Pseudocódigo estilo C:

programa bizzbuzz procedimiento bizzbuzz subproceso funcion


hacer i = 1 hasta 100 para i := 1 hasta 100 bizzbuzz
establecer hacer para (i <- 1; i<=100;
print_number a verdadero establecer i++) {
si i es divisible print_number a establecer
por 3 verdadero; print_number a
escribir "Bizz" Si i es divisible verdadero;
establecer por 3 entonces Si i es divisible
print_number a falso escribir "Bizz"; por 3
si i es divisible establecer escribir "Bizz";
por 5 print_number a falso; establecer
escribir "Buzz" Si i es divisible print_number a falso;
establecer por 5 entonces Si i es divisible
print_number a falso escribir "Buzz"; por 5
si print_number, establecer escribir "Buzz";
escribir i print_number a falso; establecer
escribir una nueva Si print_number, print_number a falso;
línea escribir i; Si print_number,
fin del hacer escribir una nueva escribir i;
línea; escribir una nueva
fin línea;
}

Definición de datos en pseudocódigo[editar]


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[editar]
Cada autor usa su propio pseudocódigo con sus respectivas convenciones. Por ejemplo, la

instrucción "reemplace el valor de la variable por el valor de la variable " puede ser
representado como:

 asigne a el valor de

Las operaciones aritméticas se representan de la forma usual en matemáticas.

Estructuras de control[editar]
En la redacción de pseudocódigo se utiliza tres tipos de estructuras de control: las secuenciales, las
selectivas y las iterativas.
Estructuras secuenciales[editar]
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.

Estructuras selectivas[editar]
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)[editar]
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[editar]
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[editar]
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[editar]
Las instrucciones iterativas representan la ejecución de instrucciones en más de una vez.
Bucle mientras[editar]
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

Bucle repetir[editar]
Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se
utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se
cumpla la condición:

La estructura anterior equivaldría a escribir:


Bucle hacer[editar]
El Bucle hacer se utiliza para repetir un bloque de código mientras se cumpla cierta condición.

Bucle para[editar]
Artículo principal: Bucle for

Una estructura de control muy común es el ciclo FOR, la cual se usa cuando se desea iterar un
número conocido de veces, empleando como índice una variable que se incrementa (o
decrementa):

la cual se define como:

Bucle para cada[editar]


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 y se quiere iterar por cada uno de sus elementos:
Si asumimos que los elementos de son , entonces esta sentencia equivaldría a:

Que es lo mismo que:

{ \color{Sepia} \mathrm{ Para

\;

{ \color{OliveGreen} \mathit{ i}} \;


{ \color{BlueViolet} \mathit{ \gets }} \;
{ \color{OliveGreen} \mathrm{ 0}} \;
{ \color{Sepia} \mathrm{ Hasta }} \;
{ \color{OliveGreen} \mathit{ n}} \;
{ \color{Sepia} \mathrm{ Hacer }}

Você também pode gostar