fbpx
Wikipedia

Pseudocódigo

En ciencias de la computación, y análisis numérico, el pseudocódigo[1]​ (o lenguaje de descripción algorítmico) es una descripción de alto nivel compacta e informal[2]​ del principio operativo de un programa informático u otro algoritmo.

Utiliza las convenciones estructurales de un lenguaje de programación real,[3]​ pero está diseñado para la lectura humana en lugar de la lectura mediante máquina,[4]​ y con independencia de cualquier otro lenguaje de programación.[5]​ 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. Es comúnmente utilizado por los programadores para omitir secciones de Código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere decir que el pseudocódigo no es programable, sino facilita la programación.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo.

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.

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.

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   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

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.

 
 
 
 
 

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 solo 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.

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.

 
 
 
 
 
 
 
 
 
 

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 solo Instrucciones1. En general, si Condicióni es verdadera, entonces solo 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

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

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

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

 
 
 

Bucle para

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

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:

 
 
 
 

Sin embargo, en la práctica existen mejores formas de implementar esta instrucción dependiendo del problema.

Es importante recalcar que el pseudocódigo no es un lenguaje estandarizado. Eso significa que diferentes autores podrían dar otras estructuras de control o bien usar estas mismas estructuras, pero con una notación diferente. Sin embargo, las funciones matemáticas y lógicas toman el significado usual que tienen en matemática y lógica, con las mismas expresiones.

El anidamiento

Cualquier instrucción puede ser sustituida por una estructura de control. El siguiente ejemplo muestra el pseudocódigo del ordenamiento de burbuja, que tiene varias estructuras anidadas. Este algoritmo ordena de menor a mayor los elementos de una lista  .

 

En general, las estructuras anidadas se muestran indentadas, para hacer más sencilla su identificación a simple vista. En el ejemplo, además de la sangría, se ha conectado con flechas los pares de delimitadores de cada nivel de anidamiento.

Funciones y procedimientos

Muchas personas prefieren distinguir entre funciones y procedimientos. Una función, al igual que una función matemática, recibe uno o varios valores de entrada y regresa una salida mientras que un procedimiento recibe una entrada y no genera alguna salida aunque en algún caso podría devolver resultados a través de sus parámetros de entrada si estos se han declarado por referencia (ver formas de pasar argumentos a una función o procedimiento).

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 calcular   (un número   elevado a potencia  ).

 
 
 
 
 
 
 
 
 
 
 
 
 
 

Un ejemplo de procedimiento sería el algoritmo de ordenamiento de burbuja, por el que partiendo de una lista de valores estos se ordenan, nótese que en un procedimiento, no se calcula el valor de una función, sino que se realiza una acción, en este caso ordenar la lista.

 
 
 
 
 
 
 
 
 
 
 

Desarrollo de algoritmos

Con el 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.
  • Halla un número finito de caminos, entre el punto de inicio y los posibles puntos de término.

Ventajas del pseudocódigo sobre los diagramas de flujo

Los pseudocódigos presentan los siguientes beneficios:

  1. Ocupan mucho menos espacio en el desarrollo del problema.
  2. Permite representar de forma fácil operaciones repetitivas complejas.
  3. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal.
  4. Si se siguen las reglas de sangría se puede observar claramente los niveles en la estructura del programa.
  5. En los procesos de aprendizaje de los alumnos de programación, éstos 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).
  6. Mejora la claridad de la solución de un problema.

Véase también

Enlaces externos

  • Guía práctica de estudio 04: Pseudocódigo
  • Pseudocódigo
  • Tutorial de Pseudocódigo
  • Libro de Diseño de Algoritmos en Pseudocódigo y Ordinogramas
  • UNIDAD II: ALGORITMOS Y PSEUDOCÓDIGO

Referencias

  1. KENNETH E. KENDALL; JULIE E. KENDALL (2005). «16». Análisis y diseño de sistemas (6 edición). Pearson Educación. p. 599. ISBN 978-970-260-577-5. 
  2. «Pseudocódigo - Estructuras condicionales». Consultado el 7 de diciembre de 2012. 
  3. . Archivado desde el original el 12 de noviembre de 2013. Consultado el 7 de diciembre de 2012. 
  4. Harvey M. Deitel; Paul J. Deitel (2004). «3.3». Como programar en C/C++y Java (4 edición). Pearson Educación. p. 51. ISBN 978-970-26-0531-7. 
  5. Flores Cueto, Juan José (2005). «V». Método de las 6'D. UML - Pseudocódigo - Java. (1 edición). Universidad de Sam Martin de Porres. p. 561. 

Bibliografía

  1. Peña Marí, Ricardo (2005). Diseño de programas: formalismo y abstracción (3 edición). Pearson Alhambra. p. 488. ISBN 978-84-205-4191-4. 
  2. Pseudocódigos y programación estructurada (1 edición). Centro Técnico Europeo de Enseñanzas Profesionales. 2 de 1997. ISBN 978-84-8199-065-2. 
  3. Brassard, Gilles; Bratley, Paul (1996). Algorítmica: concepción y análisis. Peña Mari, Ricardo Tr. (1 edición). Masson, S.A. p. 384. ISBN 978-84-458-0535-0. 
  4. Rodeira, ed. (6 de 1994). Pseudocódigos e programación estructurada (en gallego) (1 edición). ISBN 978-84-8116-287-5. 
  5. Edebé, ed. (8 de 1993). Pseudocódigos y programación estructurada (1 edición). ISBN 978-84-236-3126-1. 
  •   Datos: Q189224

pseudocódigo, este, artículo, sección, tiene, referencias, pero, necesita, más, para, complementar, verificabilidad, este, aviso, puesto, mayo, 2017, ciencias, computación, análisis, numérico, pseudocódigo, lenguaje, descripción, algorítmico, descripción, alto. Este articulo o seccion tiene referencias pero necesita mas para complementar su verificabilidad Este aviso fue puesto el 7 de mayo de 2017 En ciencias de la computacion y analisis numerico el pseudocodigo 1 o lenguaje de descripcion algoritmico es una descripcion de alto nivel compacta e informal 2 del principio operativo de un programa informatico u otro algoritmo Utiliza las convenciones estructurales de un lenguaje de programacion real 3 pero esta disenado para la lectura humana en lugar de la lectura mediante maquina 4 y con independencia de cualquier otro lenguaje de programacion 5 Normalmente el pseudocodigo omite detalles que no son esenciales para la comprension humana del algoritmo tales como declaraciones de variables codigo especifico del sistema y algunas subrutinas El lenguaje de programacion se complementa donde sea conveniente con descripciones detalladas en lenguaje natural o con notacion matematica compacta Se utiliza pseudocodigo pues este es mas facil de entender para las personas que el codigo del lenguaje de programacion convencional ya que es una descripcion eficiente y con un entorno independiente de los principios fundamentales de un algoritmo Se utiliza comunmente en los libros de texto y publicaciones cientificas que se documentan varios algoritmos y tambien en la planificacion del desarrollo de programas informaticos para esbozar la estructura del programa antes de realizar la efectiva codificacion Es comunmente utilizado por los programadores para omitir secciones de Codigo o para dar una explicacion del paradigma que tomo el mismo programador para hacer sus codigos esto quiere decir que el pseudocodigo no es programable sino facilita la programacion El principal objetivo del pseudocodigo es el de representar la solucion a un algoritmo de la forma mas detallada posible y a su vez lo mas parecida posible al lenguaje que posteriormente se utilizara para la codificacion del mismo No existe una sintaxis estandar para el pseudocodigo aunque los ocho IDE s que manejan pseudocodigo tengan su sintaxis propia Aunque sea parecido el pseudocodigo no debe confundirse con los programas esqueleto que incluyen codigo ficticio que pueden ser compilados sin errores Los diagramas de flujo y UML pueden ser considerados como una alternativa grafica al pseudocodigo aunque sean mas amplios en papel Indice 1 Aplicaciones 2 Sintaxis 3 Definicion de datos en pseudocodigo 3 1 Funciones y operaciones 4 Estructuras de control 4 1 Estructuras secuenciales 4 2 Estructuras selectivas 4 3 Selectiva doble alternativa 4 4 Selectiva multiple 4 5 Selectiva multiple Casos 5 Estructuras iterativas 5 1 Bucle mientras 5 2 Bucle repetir 5 3 Bucle hacer 5 4 Bucle para 5 5 Bucle para cada 5 6 El anidamiento 5 7 Funciones y procedimientos 6 Desarrollo de algoritmos 6 1 Ventajas del pseudocodigo sobre los diagramas de flujo 7 Vease tambien 8 Enlaces externos 9 Referencias 10 BibliografiaAplicaciones EditarGeneralmente se utiliza pseudocodigo en los libros de texto y publicaciones cientificas relacionadas con la informatica y la computacion numerica para la descripcion de algoritmos de manera que todos los programadores puedan entenderlo aunque no todos conozcan el mismo lenguaje de programacion Generalmente en los libros de texto se adjunta una explicacion que acompana a la introduccion y que explica las convenciones particulares en uso El nivel de detalle del seudocientifico puede en algunos casos acercarse a la de formalizar los idiomas de proposito general Un programador que tiene que aplicar un algoritmo especifico sobre todo uno desfamiliarizado generalmente comienza con una descripcion en pseudocodigo y luego traduce esa descripcion en el lenguaje de programacion meta y lo modifica para que interactue correctamente con el resto del programa Los programadores tambien pueden iniciar un proyecto describiendo la forma del codigo en pseudocodigo en el papel antes de escribirlo en su lenguaje de programacion como ocurre en la estructuracion de un enfoque de Top down y Bottom up arriba hacia abajo Sintaxis EditarEn la actualidad y por lo general el pseudocodigo como su nombre lo indica no obedece a las reglas de sintaxis de ningun idioma en particular ni es de forma estandar sistematica 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 algun lenguaje de programacion 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 codigo y el codigo contenido dentro de un loop se remplazan por una sentencia de una linea en lenguaje natural Este es un ejemplo de pseudocodigo para el juego matematico bizz buzz Pseudocodigo 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 linea fin del hacer Pseudocodigo 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 i nea fin Pseudocodigo estilo C subproceso funcion bizzbuzz para i lt 1 i lt 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 linea Definicion de datos en pseudocodigo EditarLa definicion 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 pseudocodigo para definir estructuras de datos esta parte la desarrollaremos adecuadamente Funciones y operaciones Editar Cada autor usa su propio pseudocodigo con sus respectivas convenciones Por ejemplo la instruccion reemplace el valor de la variable x displaystyle x por el valor de la variable y displaystyle y puede ser representado como asigne a x displaystyle x el valor de y displaystyle y x y displaystyle color OliveGreen mathit x color BlueViolet mathit gets color OliveGreen mathit y x y displaystyle color OliveGreen mathit x color BlueViolet mathit color OliveGreen mathit y x y displaystyle color OliveGreen mathit x color BlueViolet mathit color OliveGreen mathit y Las operaciones aritmeticas se representan de la forma usual en matematicas E s t o e s u n c o m e n t a r i o n o r m a l m e n t e m a t e m a t i c o displaystyle color Gray mathit Esto es un comentario normalmente matem acute a tico v o l u m e n p r 2 h displaystyle color OliveGreen mathrm volumen color BlueViolet mathit gets color Red mathit pi color Oliveblack mathit r 2 color OliveGreen mathit h y e s t e e s o t r o c o m e n t a r i o n o r m a l m e n t e d e t e x t o displaystyle color Gray mathit y este es otro comentario normalmente de texto h i p o t e n u s a a 2 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 r e s u l t a d o s i n a displaystyle color OliveGreen mathrm resultado color BlueViolet mathit gets color Tan mathrm sin color OliveGreen mathit a Estructuras de control EditarEn la redaccion de pseudocodigo 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 numero de renglon Es decir que las instrucciones se ejecutan de arriba hacia abajo i n s t r u c c i o n 1 displaystyle color BlueViolet mathrm instrucci acute o n 1 i n s t r u c c i o n 2 displaystyle color BlueViolet mathrm instrucci acute o n 2 i n s t r u c c i o n 3 displaystyle color BlueViolet mathrm instrucci acute o n 3 displaystyle cdots i n s t r u c c i o n n displaystyle color BlueViolet mathrm instrucci acute o n it n Estructuras selectivas Editar Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse segun el cumplimiento de una condicion Diagrama de flujo que muestra el funcionamiento de la instruccion condicional S i c o n d i c i o n E n t o n c e s displaystyle color Sepia mathrm Si color OliveGreen mathrm condici acute o n color Sepia mathrm Entonces i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n S i displaystyle color Sepia mathrm Fin Si La condicion es una expresion booleana Instrucciones es ejecutada solo si la condicion es verdadera Selectiva doble alternativa Editar La instruccion alternativa realiza una instruccion de dos posibles segun el cumplimiento de una condicion Diagrama de flujo que muestra el funcionamiento de la instruccion condicional S i c o n d i c i o n E n t o n c e s displaystyle color Sepia mathrm Si color OliveGreen mathrm condici acute o n color Sepia mathrm Entonces i n s t r u c c i o n e s 1 displaystyle color BlueViolet mathrm instrucciones 1 dd S i n o E n t o n c e s displaystyle color Sepia mathrm Si no Entonces i n s t r u c c i o n e s 2 displaystyle color BlueViolet mathrm instrucciones 2 dd F i n S i displaystyle color Sepia mathrm Fin Si La condicion es una variable booleana o una funcion reducible a booleana logica Verdadero Falso Si esta condicion es cierta se ejecuta Instrucciones1 si no es asi entonces se ejecuta Instrucciones2 Selectiva multiple Editar Tambien es comun el uso de una seleccion multiple que equivaldria a anidar varias funciones de seleccion S i c o n d i c i o n 1 E n t o n c e s displaystyle color Sepia mathrm Si color OliveGreen mathrm condici acute o n 1 color Sepia mathrm Entonces i n s t r u c c i o n e s 1 displaystyle color BlueViolet mathrm instrucciones 1 dd S i n o s i c o n d i c i o n 2 E n t o n c e s displaystyle color Sepia mathrm Si no si color OliveGreen mathrm condici acute o n 2 color Sepia mathrm Entonces i n s t r u c c i o n e s 2 displaystyle color BlueViolet mathrm instrucciones 2 dd S i n o s i c o n d i c i o n 3 E n t o n c e s displaystyle color Sepia mathrm Si no si color OliveGreen mathrm condici acute o n 3 color Sepia mathrm Entonces i n s t r u c c i o n e s 3 displaystyle color BlueViolet mathrm instrucciones 3 dd displaystyle cdots S i n o E n t o n c e s displaystyle color Sepia mathrm Si no Entonces i n s t r u c c i o n e s n displaystyle color BlueViolet mathrm instrucciones it n dd F i n S i displaystyle color Sepia mathrm Fin Si En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes si una de ellas se cumple las demas tienen que ser falsas necesariamente hay un caso si no que sera cierto cuando las demas condiciones sean falsas En esta estructura si Condicion1 es cierta entonces se ejecuta solo Instrucciones1 En general si Condicioni es verdadera entonces solo se ejecuta Instruccionesi Selectiva multiple Casos Editar Una construccion similar a la anterior equivalente en algunos casos es la que se muestra a continuacion S e g u n v a r i a b l e H a c e r displaystyle color Sepia mathrm Seg acute u n color OliveGreen mathrm variable color Sepia mathrm Hacer c a s o v a l o r 1 displaystyle color Sepia mathrm caso color OliveGreen mathrm valor 1 i n s t r u c c i o n e s 1 displaystyle color BlueViolet mathrm instrucciones 1 dd c a s o v a l o r 2 displaystyle color Sepia mathrm caso color OliveGreen mathrm valor 2 i n s t r u c c i o n e s 2 displaystyle color BlueViolet mathrm instrucciones 2 dd c a s o v a l o r 3 displaystyle color Sepia mathrm caso color OliveGreen mathrm valor 3 i n s t r u c c i o n e s 3 displaystyle color BlueViolet mathrm instrucciones 3 dd displaystyle cdots D e O t r o M o d o displaystyle color Sepia mathrm De Otro Modo i n s t r u c c i o n e s n displaystyle color BlueViolet mathrm instrucciones it n dd dd F i n S e g u n displaystyle color Sepia mathrm Fin Seg acute u n En este caso hay un Indicador es una variable o una funcion cuyo valor es comparado en cada caso con los valores Valori si en algun caso coinciden ambos valores entonces se ejecutaran las Instruccionesi correspondientes La seccion en otro caso es analoga a la seccion si no del ejemplo anterior Estructuras iterativas EditarLas instrucciones iterativas representan la ejecucion de instrucciones en mas de una vez Bucle mientras Editar Articulo principal Bucle while El bucle se repite mientras la condicion sea cierta si al llegar por primera vez al bucle mientras la condicion es falsa el cuerpo del bucle no se ejecuta alguna vez Diagrama de flujo que muestra el funcionamiento de la instruccion mientras M i e n t r a s c o n d i c i o n H a c e r displaystyle color Sepia mathrm Mientras color OliveGreen mathrm condici acute o n color Sepia mathrm Hacer i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n M i e n t r a s displaystyle color Sepia mathrm Fin 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 condicion R e p e t i r displaystyle color Sepia mathrm Repetir i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd H a s t a Q u e c o n d i c i o n displaystyle color Sepia mathrm Hasta Que color OliveGreen mathrm condici acute o n La estructura anterior equivaldria a escribir i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones M i e n t r a s c o n d i c i o n H a c e r displaystyle color Sepia mathrm Mientras color BlueViolet mathrm neg color OliveGreen mathrm condici acute o n color Sepia mathrm Hacer i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n M i e n t r a s displaystyle color Sepia mathrm Fin Mientras Bucle hacer Editar El Bucle hacer se utiliza para repetir un bloque de codigo mientras se cumpla cierta condicion H a c e r displaystyle color Sepia mathrm Hacer i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd M i e n t r a s c o n d i c i o n displaystyle color Sepia mathrm Mientras color OliveGreen mathrm condici acute o n Bucle para Editar Articulo principal Bucle for Una estructura de control muy comun es el ciclo FOR la cual se usa cuando se desea iterar un numero conocido de veces empleando como indice una variable que se incrementa o decrementa P a r a i x H a s t a n C o n P a s o z H a c e r displaystyle color Sepia mathrm Para color OliveGreen mathit i color BlueViolet mathit gets color OliveGreen mathit x color Sepia mathrm Hasta color OliveGreen mathit n color Sepia mathrm Con Paso color OliveGreen mathit z color Sepia mathrm Hacer i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n P a r a displaystyle color Sepia mathrm Fin Para la cual se define como i x displaystyle color OliveGreen mathit i color BlueViolet mathrm gets color OliveGreen mathit x M i e n t r a s i n H a c e r displaystyle color Sepia mathrm Mientras color OliveGreen mathit i color BlueViolet mathit leq color OliveGreen mathit n color Sepia mathrm Hacer i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones i i z displaystyle color OliveGreen mathit i color BlueViolet mathrm gets color OliveGreen mathit i color BlueViolet mathrm color OliveGreen mathit z dd F i n M i e n t r a s displaystyle color Sepia mathrm Fin Mientras Bucle para cada Editar Por ultimo tambien es comun usar la estructura de control para cada Esta sentencia se usa cuando se tiene una lista o un conjunto L displaystyle L y se quiere iterar por cada uno de sus elementos P a r a C a d a x L H a c e r displaystyle color Sepia mathrm Para Cada color OliveGreen mathit x color BlueViolet mathit in color OliveGreen mathit L color Sepia mathrm Hacer i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n P a r a C a d a displaystyle color Sepia mathrm Fin Para Cada Si asumimos que los elementos de L displaystyle L son L 0 L 1 L n displaystyle L 0 L 1 dots L n entonces esta sentencia equivaldria a P a r a i 0 H a s t a n C o n P a s o 1 H a c e r displaystyle 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 Con Paso color OliveGreen mathrm 1 color Sepia mathrm Hacer x L i displaystyle color OliveGreen mathit x color BlueViolet mathit gets color OliveGreen mathit L i i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n P a r a displaystyle color Sepia mathrm Fin Para Que es lo mismo que P a r a i 0 H a s t a n H a c e r displaystyle 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 x L i displaystyle color OliveGreen mathit x color BlueViolet mathit gets color OliveGreen mathit L i i n s t r u c c i o n e s displaystyle color BlueViolet mathrm instrucciones dd F i n P a r a displaystyle color Sepia mathrm Fin Para Sin embargo en la practica existen mejores formas de implementar esta instruccion dependiendo del problema Es importante recalcar que el pseudocodigo no es un lenguaje estandarizado Eso significa que diferentes autores podrian dar otras estructuras de control o bien usar estas mismas estructuras pero con una notacion diferente Sin embargo las funciones matematicas y logicas toman el significado usual que tienen en matematica y logica con las mismas expresiones El anidamiento Editar Cualquier instruccion puede ser sustituida por una estructura de control El siguiente ejemplo muestra el pseudocodigo del ordenamiento de burbuja que tiene varias estructuras anidadas Este algoritmo ordena de menor a mayor los elementos de una lista L displaystyle L P r o c e d i m i e n t o O r d e n a r L C o m e n t a r i o L L 1 L 2 L n e s u n a l i s t a c o n n e l e m e n t o s k 0 R e p e t i r i n t e r c a m b i o F a l s o k k 1 P a r a i 1 H a s t a n k C o n P a s o 1 H a c e r S i L i gt L i 1 E n t o n c e s i n t e r c a m b i a r L i L i 1 i n t e r c a m b i o V e r d a d e r o F i n S i F i n P a r a H a s t a Q u e i n t e r c a m b i o F a l s o F i n P r o c e d i m i e n t o displaystyle begin array l color Sepia mathrm Procedimiento color BlueViolet mathrm Ordenar color OliveGreen L left updownarrow begin array l color Gray Comentario L L 1 L 2 dots L n es una lista con n elementos color OliveGreen k color BlueViolet gets color OliveGreen 0 color Sepia mathrm Repetir left updownarrow begin array l color OliveGreen mathrm intercambio color BlueViolet gets color OliveGreen mathrm Falso color OliveGreen k color BlueViolet gets color OliveGreen k 1 color Sepia mathrm Para color OliveGreen i color BlueViolet gets color OliveGreen 1 color Sepia mathrm Hasta color OliveGreen n k color Sepia mathrm Con Paso color OliveGreen 1 color Sepia mathrm Hacer left updownarrow begin array l color Sepia mathrm Si color OliveGreen L i color BlueViolet gt color OliveGreen L i 1 color Sepia mathrm Entonces left updownarrow begin array l color BlueViolet mathrm intercambiar color OliveGreen L i L i 1 color OliveGreen mathrm intercambio color BlueViolet gets color OliveGreen mathrm Verdadero end array right color Sepia mathrm Fin Si end array right color Sepia mathrm Fin Para end array right color Sepia mathrm Hasta Que color OliveGreen mathrm intercambio color bluet color OliveGreen mathrm Falso end array right color Sepia mathrm Fin Procedimiento end array En general las estructuras anidadas se muestran indentadas para hacer mas sencilla su identificacion a simple vista En el ejemplo ademas de la sangria se ha conectado con flechas los pares de delimitadores de cada nivel de anidamiento Funciones y procedimientos Editar Muchas personas prefieren distinguir entre funciones y procedimientos Una funcion al igual que una funcion matematica recibe uno o varios valores de entrada y regresa una salida mientras que un procedimiento recibe una entrada y no genera alguna salida aunque en algun caso podria devolver resultados a traves de sus parametros de entrada si estos se han declarado por referencia ver formas de pasar argumentos a una funcion o procedimiento En ambos casos es necesario dejar en claro cuales son las entradas para el algoritmo esto se hace comunmente colocando estos valores entre parentesis al principio o bien declarandolo explicitamente con un enunciado En el caso de las funciones es necesario colocar una palabra como regresar o devolver para indicar cual es la salida generada por el algoritmo Por ejemplo el pseudocodigo de una funcion que permite calcular a n displaystyle a n un numero a displaystyle a elevado a potencia n displaystyle n F u n c i o n p o t e n c i a a n displaystyle color Sepia mathrm Funci acute o n color BlueViolet mathrm potencia color OliveGreen mathit a n C o m e n t a r i o E s t e a l g o r i t m o c a l c u l a a n c o n a y n n u m e r o s n a t u r a l e s displaystyle color Gray mathit Comentario Este algoritmo calcula a n con a y n n acute u meros naturales i n displaystyle color OliveGreen mathit i color BlueViolet mathit gets color OliveGreen mathit n r 1 displaystyle color OliveGreen mathit r color BlueViolet mathit gets color Plum mathrm 1 x a displaystyle color OliveGreen mathit x color BlueViolet mathit gets color OliveGreen mathit a M i e n t r a s i gt 0 H a c e r displaystyle color Sepia mathrm Mientras color OliveGreen mathit i color BlueViolet mathit gt color Plum mathrm 0 color Sepia mathrm Hacer S i i 2 0 E n t o n c e s S i i e s i m p a r e s r e s t o displaystyle color Sepia mathrm Si color OliveGreen mathit i color BlueViolet mathit color Plum mathrm 2 color BlueViolet mathit neq color Plum mathrm 0 color Sepia mathrm Entonces color Gray mathit Si i es impar es resto r r x displaystyle color OliveGreen mathit r color BlueViolet mathit gets color OliveGreen mathit r color BlueViolet mathit color OliveGreen mathit x dd F i n S i displaystyle color Sepia mathrm Fin Si x x x displaystyle color OliveGreen mathit x color BlueViolet mathit gets color OliveGreen mathit x color BlueViolet mathit color OliveGreen mathit x i i 2 displaystyle color OliveGreen mathit i color BlueViolet mathit gets color OliveGreen mathit i color BlueViolet mathit color Plum mathrm 2 dd F i n M i e n t r a s displaystyle color Sepia mathrm Fin Mientras E s c r i b i r r displaystyle color Sepia mathrm Escribir color OliveGreen mathit r dd F i n F u n c i o n displaystyle color Sepia mathrm Fin Funci acute o n Un ejemplo de procedimiento seria el algoritmo de ordenamiento de burbuja por el que partiendo de una lista de valores estos se ordenan notese que en un procedimiento no se calcula el valor de una funcion sino que se realiza una accion en este caso ordenar la lista P r o c e d i m i e n t o D e L a B u r b u j a a 0 a 1 a 2 a n 1 displaystyle color Sepia mathrm Procedimiento color BlueViolet mathrm DeLaBurbuja color OliveGreen mathit a color Plum mathrm 0 color OliveGreen mathit a color Plum mathrm 1 color OliveGreen mathit a color Plum mathrm 2 ldots color OliveGreen mathrm a color OliveGreen mathit n color BlueViolet mathit color Plum mathrm 1 P a r a i 2 H a s t a n H a c e r displaystyle color Sepia mathrm Para color OliveGreen mathit i color BlueViolet mathit gets color Plum mathrm 2 color Sepia mathrm Hasta color OliveGreen mathit n color Sepia mathrm Hacer P a r a j 0 H a s t a n i H a c e r displaystyle color Sepia mathrm Para color OliveGreen mathit j color BlueViolet mathit gets color Plum mathrm 0 color Sepia mathrm Hasta color OliveGreen mathit n color BlueViolet mathit color OliveGreen mathit i color Sepia mathrm Hacer S i a j lt a j 1 E n t o n c e s displaystyle color Sepia mathrm Si color OliveGreen mathit a color OliveGreen mathit j color BlueViolet mathit lt color OliveGreen mathit a color OliveGreen mathit j color BlueViolet mathit color Plum mathrm 1 color Sepia mathrm Entonces dd dd dd a u x a j displaystyle color OliveGreen mathrm aux color BlueViolet mathit gets color OliveGreen mathit a color OliveGreen mathit j a j a j 1 displaystyle color OliveGreen mathit a color OliveGreen mathit j color BlueViolet mathit gets color OliveGreen mathit a color OliveGreen mathit j color BlueViolet mathit color Plum mathrm 1 a j 1 a u x displaystyle color OliveGreen mathit a color OliveGreen mathit j color BlueViolet mathit color Plum mathrm 1 color BlueViolet mathit gets color OliveGreen mathrm aux dd F i n S i displaystyle color Sepia mathrm Fin Si dd F i n P a r a displaystyle color Sepia mathrm Fin Para dd F i n P a r a displaystyle color Sepia mathrm Fin Para dd F i n P r o c e d i m i e n t o displaystyle color Sepia mathrm Fin Procedimiento Desarrollo de algoritmos EditarCon el pseudocodigo se puede desarrollar cualquier algoritmo que Tenga un unico punto de inicio Tenga un numero finito de posibles puntos de termino Halla un numero finito de caminos entre el punto de inicio y los posibles puntos de termino Ventajas del pseudocodigo sobre los diagramas de flujo Editar Los pseudocodigos presentan los siguientes beneficios Ocupan mucho menos espacio en el desarrollo del problema Permite representar de forma facil operaciones repetitivas complejas Es mas sencilla la tarea de pasar de pseudocodigo a un lenguaje de programacion formal Si se siguen las reglas de sangria se puede observar claramente los niveles en la estructura del programa En los procesos de aprendizaje de los alumnos de programacion estos estan mas cerca del paso siguiente codificacion en un lenguaje determinado que los que se inician en esto con la modalidad Diagramas de Flujo Mejora la claridad de la solucion de un problema Vease tambien EditarPSeInt Algoritmo Programacion Resolucion de problemas de programacion Diagrama de flujo Estructuras de control Bucle programacion Bucle for Bucle do Bucle while Bucle repetir Bucle infinitoEnlaces externos EditarPROBLEMARIO DE ALGORITMOS RESUELTOS CON DIAGRAMAS DE FLUJO Y PSEUDOCoDIGO Guia practica de estudio 04 Pseudocodigo Pseudocodigo Tutorial de Pseudocodigo Libro de Diseno de Algoritmos en Pseudocodigo y Ordinogramas UNIDAD II ALGORITMOS Y PSEUDOCoDIGOReferencias Editar KENNETH E KENDALL JULIE E KENDALL 2005 16 Analisis y diseno de sistemas 6 edicion Pearson Educacion p 599 ISBN 978 970 260 577 5 Pseudocodigo Estructuras condicionales Consultado el 7 de diciembre de 2012 Instroduccion al PseudoCodigo Archivado desde el original el 12 de noviembre de 2013 Consultado el 7 de diciembre de 2012 Harvey M Deitel Paul J Deitel 2004 3 3 Como programar en C C y Java 4 edicion Pearson Educacion p 51 ISBN 978 970 26 0531 7 Flores Cueto Juan Jose 2005 V Metodo de las 6 D UML Pseudocodigo Java 1 edicion Universidad de Sam Martin de Porres p 561 Bibliografia EditarPena Mari Ricardo 2005 Diseno de programas formalismo y abstraccion 3 edicion Pearson Alhambra p 488 ISBN 978 84 205 4191 4 Pseudocodigos y programacion estructurada 1 edicion Centro Tecnico Europeo de Ensenanzas Profesionales 2 de 1997 ISBN 978 84 8199 065 2 Brassard Gilles Bratley Paul 1996 Algoritmica concepcion y analisis Pena Mari Ricardo Tr 1 edicion Masson S A p 384 ISBN 978 84 458 0535 0 Rodeira ed 6 de 1994 Pseudocodigos e programacion estructurada en gallego 1 edicion ISBN 978 84 8116 287 5 Edebe ed 8 de 1993 Pseudocodigos y programacion estructurada 1 edicion ISBN 978 84 236 3126 1 La referencia utiliza el parametro obsoleto mes ayuda Datos Q189224Obtenido de https es wikipedia org w index php title Pseudocodigo amp oldid 137380234, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos