INTRODUCCION
Este es un software libre educativo dirigido a personas que están iniciando en la programación, permitiendo crear algoritmos, utilizando diagramas de flujo y pseudocodigos.
OBJETIVO GENERAL
- Realizar una investigación acerca de cómo funciona y se elaboran distintos programas y algoritmos.
OBJETIVOS ESPECÍFICOS
- Identificar y manipular diferentes tipos de datos (numéricos, carácter, etc).
- Aprender a realizar algoritmos por medio del software PSeInt.
- Saber aplicar los conocimientos de programación para resolver problemas.
PSEINT
PSeInt es una herramienta didáctica que se ha creado orientada a personas con poca o ninguna experiencia en programación, la cual le ayuda a escribir algoritmos utilizando un pseudo-lenguaje simple, intuitivo y en español.
HISTORIA
El software comenzó a desarrollarse en octubre del 2003 utilizando Borlan C++ Buider debido a que era esta herramienta que recomendaba la cátedra por la facilidad que brinda para el desarrollo de interfaces visuales y estar presente en los laboratorios de la facultad. Comenzó con una prueba de concepto, ya que era el primer proyecto que iba a realizar con C++. Al ser u software para uso exclusivamente didáctico, no se presentan grandes problemas de rendimiento(no se tienen que interpretar algoritmos de miles de líneas sumamente complejos) por los que pudo tomar cierta libertades en la implementación.
Casi dos años mas tarde, gracias a la lista de correo del grupo de Usuarios de Linux del litoral (Lugli) llegó la invitación a participar en la recopilación de Software libre de la colección que se distribuiría gratuitamente entre los docentes que lo solicitaron por el ministerio de Educación de la Nación y llevado a cabo por los grupos gleducar, solar y educ.ar. Sugirió entonces a través de una lista de correo creada para la recopilación del PSEINT en dicho CD.
VERSIONES
29/12/2003: Primera presentación oficial de PSeInt (v1.0 para Windows) en el exámen final de Programación I.
13/08/2005: Nueva versión disponible: Se reacomodó mejor el código fuente, se corrigieron algunos detalles y bugs varios, se suprimió la restricción el punto coma al final de las instrucciones secuenciales y se agregó la función "azar".
08/10/2005: Nueva release: Corrige algunos problemas al trabajar en bucles con valores negativos.
13/04/2006: Nueva versión: Ahora los arreglos funcionan con corchetes, se corrigieron bugs sobre expresiones lógicas, y se cambio el instalador para Linux.
13/05/2006: Nueva versión: Corrigiendo los problemas de permisos en Windows NT/XP y optimizando el coloreado de sintaxis en la Gui para Linux.
08/08/2006: Nueva release para Linux: Incluye el graficador de diagramas de flujo (todavía a prueba), y nuevamente funciona con libstdc++-5.0.
12/08/2006: Nueva release para Linux: Incluye un menú de comandos para agregar las estructuras con un simple click y algunos cambios menores en la ayuda rápida. Nota: En cuanto pueda agrego las nuevas características al paquete para Windows.
13/08/2006: Nuevas releases para Windows y Linux: Incluyen las nuevas características: un menú de comandos para agregar las estructuras con un simple click, el cuadro de ayuda rápida para corregir errores y el graficador de diagramas de flujo.
20/08/2006: Nueva release: Se corrigió el script de instalación de Linux y se mejoró el graficador.
23/10/2006: Nueva release: Se corrigió el operador de potenciación y la asignación de literales.
24/10/2006: Nuevas secciones en el sitio: Se agregaron en el sitio las secciones "Historia de PSeInt" y "El Pseudocódigo", la primera con una reseña informal de como surgió y evolucionó el proyecto, la segunda con una presentación rápida de las características del pseudolenguaje utilizado.
27/03/2007: Nueva release: Se mejoró la visualización de diagramas de flujo (ahora se puede exportar a bmp/jpg/png/tiff, hacer zoom y ver a pantalla completa) y se agregó el cuadro reemplazar en VPSeInt.
21/04/2007: Nueva versión: Corrigiendo los errores en algunas asignaciones con números negativos.
26/01/2008: Nueva versión: Corrigiendo la evaluación de expresiones lógicas que involucran cadenas de caracteres (caso 'q0').
20/02/2008: Nueva versión: Corrigiendo errores importantes en la evaluación de expresiones y el manejo interno de la memoria.
21/04/2008: Nueva release: Agregando las funciones trigonométricas que faltaban y mejorando la determinación de tipos.
26/04/2008: Nueva versión: Incorporando la nueva GUI.
27/04/2008: Nueva versión: Corrigiendo la visualización del autocompletado, agregando tres ejemplos simples, y corrigiendo errores en la interpretación.
28/04/2008: Nueva versión: Corrigiendo la generación de código c++, agregando un historial de archivos, soporte para arrastrarlos desde el explorador, y mejorando levemente la velocidad.
29/04/2008: Nueva versión: Con pequeñas mejoras en la interfaz, y agregando la posibilidad de prohibir el uso de variables no inicializadas, y forzar el uso del punto y coma.x.
24/05/2008: Nueva versión: Corrigiendo errores en la evaluación de expresión lógicas compuestas que en las que intervienen distintos tipos de datos, en la detección de errores de índices en tiempo de ejecución, y en el reemplazo de variables en expresiones lógicas compuestas. Incluye además nuevos ejemplos, como el juego de las torres de Hanói.
11/07/2008: Nueva versión: Incluye el operador modulo, palabras claves que se pueden utilizar en lugar de operadores (Y, O, NO o MOD), y una ejecución paso a paso automática experimental.
31/10/2008: Nueva versión: Incluye un panel de ejecución paso a paso, para controlar la velocidad de avance o pausarla y avanzar manualmente, junto con algunas correcciones a la generación y visualización de diagramas de flujo, y la exportación a cpp.
03/11/2008: Nueva versión: Ahora se pueden realizar seguimientos más detallados de la ejecución realizando una prueba de escritorio automática, o evaluando expresiones arbitrarias al pausar la ejecución.
06/11/2008: Nueva versión: Se mejoraron algunos detalles menores de la presentación del panel de depuración, y se agregó la posibilidad de comenzar la ejecución paso a paso avanzando manualmente (es decir, pausar en la primer línea), y corrigiendo algunos problemas en la evaluación de determinadas expresiones lógicas.
25/11/2008: Nueva versión: Se corrigió el bug que afectaba a los paras con pasos negativos, y se realizaron cambios mínimos al comportamiento de la interfaz.
11/12/2008: Nueva versión: Se corrigió el bug que afectaba a la función AZAR, se realizaron cambios de interfaz para las plantillas del Panel de Comandos, y se agregaron ayudas emergentes simil calltips.
24/03/2009: Nueva versión solo para GNU/Linux: Corrige los problemas para iniciar la ejecución paso a paso sin privilegios de root, y para lanzar wxPSeInt desde un directorio cualquiera diferente al de instalación.
25/03/2009: Nueva versión: Corrige algunos errores que quedaban al evaluar expresiones compuestas que incluyan productos o divisiones con variables negativas en el segundo término.
04/04/2009: Nueva versión: Permite diferenciar diferentes eventos durante la interpretación utilizando colores, agrega una opción al menú Ayuda para buscar actualizaciones a través de Internet y algunas correcciones menores adicionales en la interfaz.
08/04/2009: Nueva versión: El principal cambio consiste en no permitir dimensionar arreglos utilizando variables, las dimensiones deben ser constantes.
21/04/2009: Nueva versión: Corrige un error introducido en la ultima versión al controlar la dimensiones de los arreglos, el comportamiento del para en algunos casos especiales, y la exportación a c++.
01/04/2011: Nueva versión: Se arreglo un problema grave con la estructura según, un potencial error en diagramas de flujo con acentos o en las constantes de texto, y algunos otros detalles.
04/04/2011: Nueva versión: Se arreglo un problema grave en las asignaciones en elementos de arreglos, se agregó una opción en la interfaz para corregir el indentado de un bloque de pseudocódigo y algunos otros cambios menores.
08/04/2011: Nueva versión: Se arregló el problema por el que a veces no dejaba editar algoritmos después de la ejecución paso a paso, el problema en el dibujo de estructuras para, y algunos otros detalles.
16/04/2011: Nueva versión: Se agregaron varios perfiles nuevos, se corrigieron las opciones del lenguaje que no tenían efecto, se mejoraron detalles de la interfaz, etc.
25/04/2011: Nueva versión: Se corrigió el comportamiento de algunas opciones en los perfiles que no tenían efecto, se corrigió la interpretación cuando se omiten palabras claves como HACER o ENTONCES, se implementó un sistema para notificar las actualizaciones disponibles en el sitio, entre otros cambios.
29/06/2011: Nueva versión: Se cambió la forma de lanzar la GUI para evitar problemas con las últimas versiones de Ubuntu (menús que desaparecen, barras grises entre el código al hacer scroll), y se añadió la posibilidad de imprimir los pseudocódigos.
01/08/2011: Nueva versión: Se corrigieron algunos problemas en el checkeo de sintaxis y se agregaron palabras clave para limpiar la pantalla y para indicar a la instrucción ESCRIBIR que no debe colocar el salto de línea.
01/02/2012: Primer versión de 2012: En esta versión se arreglan algunos problemas que me reportaron por correo (relacionados a la estructura SEGUN y a la exportación a código C++), y se agrega un nuevo perfil (DuocUC).
13/02/2012: Nueva versión disponible (20120210): Se corrigieron pequeños errores, se agregó una variante en la estructura REPETIR, y se actualizaron los scripts para testear automáticamente el comportamiento del intérprete y sus casos de prueba.
25/03/2012: Primer versión con edición de diagramas de flujo: Esta la primer versión de PSeInt que permite editar diagramas de flujo.
04/04/2012: Nueva versión: Se corrigió un problema al dibujar diagramas de flujo con SEGUN anidados y se mejoraron algunos detalles menores del editor de pseudocódigo.
09/04/2012: Nueva versión: Con correcciones en la evaluación de expresiones, en la interfaz de la ejecución paso a paso, una nueva variante para la instrucción Esperar, y algunos otros detalles.
18/06/2012: Nueva versión: Además de las correcciones de siempre y un par de perfiles nuevos, ahora el editor de pseudocódigo marca los errores de sintaxis automáticamente mientras el usuario escribe (ver captura y comentario en el blog).
10/10/2012: Nueva versión con muchas novedades: Después de mucho trabajo, PSeInt ya permite definir funciones (que llamaremos SubProcesos). Además incorpora muchísimas otras correcciones y mejoras como la evaluación de expresiones lógicas en cortocircuito, o algunas funciones predefinidas nuevas para operar sobre cadenas de caracteres.
07/11/2012: Nueva versión: Esta versión corrige algunos errores reportados (mayormente en la nueva funcionalidad de subprocesos), y agrega un modo de ejecución paso a paso explicada, donde el intérprete irá aclarando qué acciones y consideraciones realiza en cada instrucción, para ayudar al alumno a entender cómo se interpreta realmente el algoritmo.
02/03/2013: Nueva versión: Esta es una versión con muchos cambios: se implementó la actualización automática de la ejecución cuando cambia el pseudocódigo que comentaba en este artículo, PSeInt utiliza ahora una terminal propia que permite volver a ejecutar una parte del algoritmo y cambiar el tamaño de la fuente entre otras cosas, la velocidad de interpretación se incrementó hasta en un 40% en algunos casos, se reescribió por completo la verificación de sintaxis de expresiones para mejorar la detección de errores y permitir algunos operandos adicionales estilo c/c++, se solucionaron algunos comportamientos erráticos del editor de diagramas de flujo, se añadieron nuevos perfiles de lenguaje y, como siempre, se corrigieron varios errores reportados en los foros y aplicaron algunas otras mejoras menores en la interfaz.
31/03/2013: Nueva versión: En esta versión se mejoró el editor de diagramas de flujo y se agregó la posibilidad de exportar el nuevo diagrama a un archivo bmp, png o jpg, se agregó la posibilidad de exportar el pseudocódigo formateado a un archivo HTML, se agregó la constante predefinida pi, y se corrigen varios errores.
17/04/2013: Nueva versión: Se agregaron nuevos perfiles y corrigieron algunos errores relacionados al uso de la nueva terminal y la detección de errores en el pseudocódigo.
19/04/2013: Nueva versión: Se actualizó el módulo que exporta a C++ (ahora permite exportar subprocesos o expresiones que utilicen funciones de manejo de cadenas), se mejoraron algunos aspectos de lenguaje (los subprocesos ahora pueden definirse en cualquier orden), y se corrigieron algunos errores reportados en los foros.
27/06/2013: Nueva versión: Nuevos perfiles y otros cambios menores y detalles, solo un error importante corregido (relacionado al pasaje por referencia de elementos individuales de un arreglo).
30/09/2013: Nueva versión: Varios nuevos perfiles, algunas correcciones y una palabra clave adicional en sintaxis flexible.
15/12/2013: Nueva versión: Incluye la posibilidad de exportar los algoritmos a más lenguajes (C, C++, Java, PHP y VB .NET), 5 nuevos perfiles, mejoras menores en el editor de diagramas de flujo, y algunas otras correcciones como siempre.
12/01/2014: Nueva versión: Incluye la posibilidad de exportar los algoritmos a más lenguajes (se añadieron Python, Pascal y JavaScript), nuevos perfiles, algunas correcciones en la ejecución paso a paso, y otros detalles menores como siempre.
21/09/2014: Nueva versión: Incluye cerca de 30 perfiles nuevos, mejoras en la terminal de ejecución (al hacer click en un texto se muestra en el pseudocódigo la instrucción que lo generó), un nuevo lenguaje para exportar (C#), y algunas otras correcciones.
05/05/2015: Nueva versión: Con varios problemas reportados corregidos, tres nuevos perfiles, un nuevo lenguaje para exportar los algoritmos (qbasic), y otras mejoras varias.
22/08/2016: Nueva versión: Varios perfiles agregados, muchos errores corregidos y algunas funcionalidades menores nuevas, como la posibilidad de personalizar las fuentes del editor de pseudocódigo y de la terminal de ejecución, y la opción de utilizar markdown para los enunciados de ejercicios auto contenidos.
13/03/2017: Nueva versión: Incluye nuevos perfiles y varias correcciones y mejoras menores.
01/02/2018: Nueva versión: Mejor soporte para pantallas HiDPI, actualización del tema de íconos, interfaz simplificada para la selección del perfil en la primer ejecución, más de 35 perfiles nuevos y varias correcciones de errores.
01/08/2018: Nueva versión: Corregidos los problemas en la versión para Mac con las últimas actualizaciones del sistema operativos, muchos perfiles nuevos, y otras mejoras menores. Además, ahora hay disponible para descarga una versión "portable" para Windows (que no requiere instalación y mantiene la configuración en su misma carpeta).
11/03/2019: Nueva versión disponible: Se incluyen varios perfiles nuevos, correcciones menores, y más cambios en la versión para Windows para evitar problemas con anti-virus.
27/11/2019: Nueva versión: Incluye muchos perfiles nuevos, varias mejoras visuales, corrección de bugs, un paquete de 64bits para macOS Catalina o superior, y un renovado paquete de 64bits para GNU/Linux para poder ejecutarse en sistemas con GTK3 en lugar de GTK2 (como Ubuntu 19.x).
01/04/2020: Nueva versión: Incluye perfiles nuevos, corrige errores importantes en la versión para GNU/Linux de 64bits (problemas con la carga de ejercicios auto contenidos, congelamientos al intentar ejecutar algoritmos con ciertos errores de sintaxis, etc), mejoras varias en la versión para macOS (mayormente detalles estéticos), y la versión para Windows ahora esta a la par en funcionalidades con las otras dos (opciones como la de mostrar los errores intercalados en el pseudocódigo no estaban disponibles en esta plataforma).
30/04/2020: Nueva versión: Hay muchas correcciones, incluyendo el problema de los saltos de línea en la versión para Windows, y el error que impedía abrir muchos ejercicios auto contenidos en GNU/Linux. Además se agregan algunas funcionalidades y mejoras, como la posibilidad de utilizar símbolos unicode para representar ciertos operadores, una nueva tipografía por defecto, un ejemplo en la ayuda de ejercicio auto contenido, varias correcciones en el resaltado de sintaxis, y nuevos perfiles.
08/04/2021: Nueva versión: Incluye perfiles nuevos, algunas mejoras menores, y corrige algunos errores importantes (el editor de diagramas no funcionaba sobre Wayland, los problemas del teclado en el editor de diagramas en macOS, el molesto error sobre la fuente al ejecutar en macOS, problemas para grabar perfiles personalizados en GNU/Linux, etc).
27/04/2021: Nueva versión: Incluye correcciones en la integración de la ejecución paso a paso con el diagrama de flujo, mejoras en el tratamiento de caracteres Unicode, una nueva pantalla anunciadora (splash), funciona nuevamente la búsqueda de actualizaciones en macOS y en GNU/Linux, y se agregaron/actualizaron algunos perfiles.
30/05/2021: Nueva versión: Con muchas correcciones (restablecida funcionalidad para recuperar los códigos luego de un fallo del editor, el cuadro de buscar y reemplazar funciona nuevamente en Windows, se resolvieron algunos problemas con caracteres no ASCII al exportar a otros lenguajes o a una imagen con el diagrama, etc), y varias mejores, principalmente relacionadas al editor de diagramas de flujo (incluyendo una nueva combinación de colores con fondo oscuro), además de agregar los nuevos perfiles recibidos.
09/06/2021: Nueva versión: Con algunas opciones nuevas en la configuración del perfil, un mini trazado inverso durante la ejecución paso a paso de algoritmos con funciones, y muchas correcciones y detalles mejorados.
CARACTERISTICAS
- Lenguaje Autocompletado.
- Ayudas Emergentes.
- Plantillas de Comandos.
- Soporta procedimientos y funciones.
- Exportación a otros lenguajes (C, C++, C#, Java, PHP, JavaScript, Visual Basic .NET, Python, Matlab).
- Graficado, creación y edición de diagramas de flujo.
- Editor con coloreado de sintaxis.
- Foro oficial de PSeInt.
- Software multiplataforma sobre Microsoft Windows, GNU/Linux y Mac OS X, en diciembre de 2016 empezó un desarrollo independiente para Android.
- Incluye un conjunto de ejemplos de diferentes niveles de dificultad.
FUNCIONALIDADES
- Presenta herramientas de edición para escribir algoritmos en pseudocodigos en español.
- Permite generar y editar el diagrama de flujo de algoritmo.
- Permite la edición simultanea de múltiples algoritmos.
- El pseudo-lenguaje utilizado es configurable.
- Puede interpretar (ejecutar) los algoritmos escritos.
- Puede modificar el algoritmo y ver los cambios en la ejecución inmediatamente (sin reingresar los datos).
- Permite modificar uno o mas datos selectos de una ejecución ya finalizada para observar como varían los resultados.
- Permite deshacer una ejecución para reiniciarla o repetirla desde un punto arbitrario.
- Permite ejecutar el algoritmo paso a paso controlando la velocidad e inspeccionando variables y expresiones.
- Permite convertir el algoritmo de pseudocodigo a código numerosos lenguajes de programación.
COMANDOS
- Escribir: Muestra los datos de salida.
- Leer: Recibe los datos de entrada.
- Si-Entonces: Se evalúa una condición y se ejecutan las instrucciones correspondientes.
- Según: Esta instrucción permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numérico.
- Mientras: La instrucción Mientras ejecuta una secuencia de instrucciones mientras una condición sea verdadera.
- Repetir: La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condición sea verdadera.
- Para: La instrucción Para ejecuta una secuencia de instrucciones un número determinado de veces.
VENTANA DE PSEINT
VENTAJAS
- Nos permite crear y editar diagramas de flujo y algoritmos.
- Posee un configurable lenguaje de Pseudocódigo.
- Determina y marca los errores en tiempo de ejecución.
DESVENTAJAS
- Es aplicable solo para estudiantes que inician en programación.
- En caso de accidente o que la base de datos se corrompa el proceso de recuperación es mucho más complejo.
- No avisa de ciertos errores o advertencias.
VIDEO SOBRE PSEINT
CONCLUSIONES
- Con esta investigación aprendimos un poco acerca del pseudo-lenguaje PSeInt.
- Observamos que es una herramienta útil para todos aquellos que están iniciando en el mundo de la programación.
- El uso de este programa nos favorece en gran manera para el desarrollo académico.
BIBLIOGRAFIAS







No hay comentarios.:
Publicar un comentario