Diseñar algoritmos para la resolución de Problemas:
Pseudocódigo (Falso Lenguaje):
Es una descripción de alto nivel compacta e informal del
principio operativo de un programa informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de
programación real, 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.
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 pseudocódigo puede, en algunos casos, acercarse a la de formalizar los idiomas de propósito general.
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 Fortan:
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 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.
Funciones:
1)Cada autor usa su propio pseudocódigo con sus respectivas convenciones.
2)Las operaciones aritméticas se representan de la forma usual en matemáticas.
2)Las operaciones aritméticas se representan de la forma usual en matemáticas.
Estructuras de Control:
En la redacción del 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.
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.
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 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
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.
Bucle repeti
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 codigo 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): Plantilla:Definiciones
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.
Ejemplos de algunos Algoritmos:

No hay comentarios.:
Publicar un comentario