Jesús Vasquez 27.181.828
Jose Oliver 27.384.955
Jose Deyan 27.476.122
¿Qué es un Pseudocódigo?
En ciencias de la
computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una
descripción informal de alto nivel de un algoritmo informático
de programación, compacto e informal, que utiliza las convenciones
estructurales de un lenguaje de
programación verdadero , pero que 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 de 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.
Aplicación.
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):
Características y Partes.
Las principales características de este lenguaje
son:
1. Se
puede ejecutar en un ordenador (con
un IDE como por ejemplo SLE, LPP, PilatoX,
Maruga Script, Seudocódigo o PSeInt. Otros Ides de consideración son Inter-P y
Algor)
2. Es una
forma de representación sencilla de utilizar y de manipular.
3. Facilita
el paso del programa al lenguaje de programación.
4. Es
independiente del lenguaje de programación que se vaya a utilizar.
5. Es un
método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la
descripción de:
1. Instrucciones
primitivas.
2. Instrucciones
de proceso.
3. Instrucciones
de control.
4. Instrucciones
compuestas.
5. Instrucciones
de descripción.
Estructura a seguir en su realización:
1. Cabecera.
1. Programa.
2. Módulo.
3. Tipos
de datos.
4. Constantes.
5. Variables.
2. Cuerpo.
1. Inicio.
2. Instrucciones.
3. Fin.
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 y operaciones.
Cada autor usa su propio pseudocódigo con sus
respectivas convenciones. Por ejemplo, la instrucción "reemplace el valor
de la variable X por el valor de la variable Y " puede ser representado como:

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. Las instrucciones se ejecutan dependiendo de la
condición dada dentro del algoritmo.

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 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 para, 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 L 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 L .
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 indentación, 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 ninguna 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 .
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 seria 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 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.
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 identación 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.



Grupo: Argenis Chacon (28139550), Selena Velásquez (27.243.082) y José Suarez (24.591.130)
ResponderBorrar¡Muy completa su información!, nos pareció interesante el tema del pseudocódigo. Sin embargo, agregaremos algunos datos interesantes del tema:
El pseudocódigo (o falso lenguaje) es usualmente utilizado por los programadores para excluir secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere expresar que el pseudocódigo no es programable sino facilita la programación.
El principal objetivo del pseudocódigo es el de dar representación a la solución a un algoritmo de la forma más cuidadosa posible, y a su vez lo más similar posible al lenguaje que consecutivamente se utilizará para la codificación del mismo
El pseudocódigo utiliza para representar las acciones sucesivas, palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación), tales como star,begin, end, stop, if-then-else, while, repeat-until….etc
Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.
El pseudocódigo apareció como un lenguaje similar al inglés y era un medio representar esencialmente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.
Según Analía Lanzillotta: "Considerado como un lenguaje falso, el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas, pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación.
Gilmar Aray , Jesus Diaz, María Centeno
ResponderBorrarNos pareció excelente la investigación, solo queremos aportar una estructura muy importante para la realización de un algoritmo, que son las estructuras repetitivas, la cual vi algo parecido en su investigación, pero a nuestro parecer le faltaba contenido.
-Instrucción de estructura repetitiva mientras:
En los casos en los que se quiera repetir alguna instrucción se usa este tipo de estructuras repetitivas llamadas bucles o iteraciones. Nos encontramos con “While” y “For”. Para poder trabajar con estas estructuras se debe utilizar términos como contadores, forzar la salida del bucle y continuar al inicio del bucle.
Estructura repetitiva mientras con while:
Ejemplo:
Ejercicio: Obtener la suma de los primeros números positivos.
Bibliotecas
Inicio
Entero n,i,s//s es igual a suma
Mostrar "teclea un número"
Leer n
//Proceso
i<-1 //inicia contador
Mientras i<=n//fin del contador
inicio//se crea el bloque de mientras
s<-s+1//acción
i<-i+1//acción
Fin //fin de mientras
Mostrar S
Fin
Estructura repetitiva mientras con For (para):
Ejemplo:
Ejercicio: Obtener la suma de los primeros números positivos.
Bibliotecas
Inicio
Entero n,i,s//declaracion de variables, s es iugual a suma
Mostrar "teclea un número"
Leer n
//Proceso
Para(i<-1 hasta i<-n incremento i<-+1)
inicio//inicio de para
s<-s+i
Fin //fin de para
Mostrar S
Fin//fin del bloque principal
Thayris Navarro, Rubén Farías y mi persona Analis Caldera.
ResponderBorrarNos gusto la forma que desarrollaron su tema. A manera de conclusión queremos destacar:
El pseudocódigo es una forma de escribir los pasos que un programa llevará a cabo en la forma más cercana al lenguaje de programación que usaremos más adelante. Es como un lenguaje falso, pero en nuestro idioma, en lenguaje humano y en español. El objetivo es que el programador se centre en la solución lógica del algoritmo y no en la implementación en un lenguaje de programación específico (con posibles complicaciones en las reglas sintácticas), o en otras palabras, solo ayudan a "pensar" un programa antes de escribirlo en un lenguaje de programación formal.
Datos interesantes para cualquier pseudocódigo:
- Debes ejecutarlo en cualquier computadora.
- Es independiente del lenguaje de programación que se utilizará.
- Tiene que ser fácil de usar y manipular.
- Al desarrollar la creación del pseudocódigo se debe tener en cuenta que se utilizarán diferentes tipos de estructuras de control.
Susana Barceló y Luis Rosal
ResponderBorrarMuchas gracias por tu amplia investigación, nos has impartido un gran conocimiento sobre el pseudocódigo. Solo añadiremos un conciso resumen y algunas desventajas del pseudocódigo.
El pseudocódigo sirve para describir lo que debe hacer el programa, pero sin sintaxis o estructura de un lenguaje de programación específico. Para escribir pseudocódigo solo necesitamos entender el problema al cual nos enfrentamos, los diagramas a utilizar, lápiz y papel y nada mas. Podemos utilizar algún programa o simplemente lápiz y papel.
DESVENTAJAS:
Incapacidad para mostrar lógica.
El pseudocódigo tiende a hacer un mayor énfasis en los detalles, lo que limita su perspectiva sobre el panorama general. Por ejemplo, en el caso de los diagramas de flujo los gráficos hacen que sea posible presentar una imagen realmente amplia. El pseudocódigo no puede mostrar los flujos lógicos como lo hace un diagrama de flujo u otras herramientas de modelado. Los modelos en pseudocódigo son muy orientados a los detalles, lo que requiere práctica y una gran concentración. Este no es el caso con los diagramas de flujo, que proporcionan una visión general de la lógica que se presenta, haciéndolos comprensibles a niveles más altos.
Falta de normas.
Una de las desventajas del uso del pseudocódigo es la falta de normas. La lógica del analista al escribir las instrucciones puede no ser considerada como lógica por el programador. El pseudocódigo tiene una naturaleza no estructurada con pocas reglas, por lo que es difícil de estandarizar. Esto causa problemas en términos de rechazo por parte de un programador de lo que puede ser un buen diseño con base en criterios inapropiados. En pocas palabras, es posible que un programador no pueda ver la lógica detrás de lo que alguien más ha escrito y rechazarlo.