Lihuen
RSSRSS AtomAtom

Programando con Pseint

Propósito

Esta aplicación permitirá trabajar de manera paralela diagramas de flujo y algoritmos con el objetivo de facilitar el aprendizaje para el alumno. Esta herramienta está diseñada en c++ y está soportada en Linux(32 y 64 bit), Mac y Windows.

¿Para qué sirve? Características & Funcionalidades de PSeInt

Usuarios docentes

Docentes

Instalación Pseint

PSeInt no necesita instalación, pero si necesita ser descargado desde su web.

1-Vamos a descargar el programa

Enlaces descargas 2º Enlace

wget http://prdownloads.sourceforge.net/pseint/pseint-"versión".tgz?download -O pseint-"versión".tgz

ó 2-Descomprimimos el paquete pseint-"versión".tgz:

$tar xzvf pseint-l32-20120316.tgz.tar.gz

3-Contenido

ejemplos  
imgs
perfiles
pseint      
psexport
version
wxPSeInt
help      
linux.txt
psdraw
pseint.dir
updatem.bin
windows.txt
wxPSeInt.bin

4-Ejecución

$./wxPSeInt



Ejemplo ordenando una lista

Proceso OrdenaLista
         
          Dimension lista[200];
         
          Escribir "Ingrese los nombres (enter en blanco para terminar):";
         
          // leer la lista
          cant<-0;
          Leer nombre;
          Mientras nombre<>"" Hacer
                    cant<-cant+1;
                    lista[cant]<-nombre;
                    Repetir // leer un nombre y ver que no este ya en la lista
                              Leer nombre;
                              se_repite<-Falso;
                              Para i<-1 Hasta cant Hacer
                                        Si nombre=lista[i] Entonces
                                                  se_repite<-Verdadero;
                                        FinSi
                              FinPara
                    Hasta Que NO se_repite
          FinMientras
         
          // ordenar
          Para i<-1 Hasta cant-1 Hacer
                    // busca el menor entre i y cant
                    pos_menor<-i;
                    Para j<-i+1 Hasta cant Hacer
                              Si lista[j]<lista[pos_menor] Entonces
                                        pos_menor<-j;
                              FinSi
                    FinPara
                    // intercambia el que estaba en i con el menor que encontro
                    aux<-lista[i];
                    lista[i]<-lista[pos_menor];
                    lista[pos_menor]<-aux;
          FinPara         
         
         // mostrar como queda la lista
          Escribir "La lista ordenada es:";
          Para i<-1 Hasta cant Hacer
                    Escribir "   ",lista[i];
          FinPara
         
FinProceso
Ejecutando el código con el botón verde en forma de play.
Ejecutando el botón que se encuentra seguido del ejecutar paso a paso en forma de flechas nos permite ver en forma de diagrama de flujo.
También nos permite exportar código a c++
Exportando código
Código exportando en c++
// Este código ha sido generado por el modulo psexport 20120206-l32 de PSeInt
// dado que dicho módulo se encuentra aun en desarrollo y en etapa experimental puede que el código generado no sea completamente correcto
// si encuentra errores, por favor reportelos a zaskar_84@yahoo.com.ar 

#include<iostream>
using namespace std;

// para leer variables de texto se utiliza el operador << del objeto cin, que lee solo una palabra
// para leer una linea completa se debe utilzar getline (ej, reemplazar cin>>x por getline(cin,x),
// pero obliga a agregar un cin.ignore() si antes del getline se leyó otra variable con >>.

// para las variables que no se pudo determinar el tipo se utiliza la constante SIN_TIPO
// el usuario debe reemplazar sus ocurrencias por el tipo adecuado (usualmente int,float,string o bool)
#define SIN_TIPO string

int main() {
 
	float i;
	float j;
	SIN_TIPO aux;
 	float cant;
	SIN_TIPO falso; 
 	float i;
	SIN_TIPO j;
	string lista[200];
	string nombre;
	SIN_TIPO pos_menor;
	bool se_repite;
 	SIN_TIPO verdadero; 
 
...

Pero cuando vamos a la consola para ver si el código puede ser compilado nos encontramos con algunos errores

$g++ archivo.cpp

por lo visto aún hay cosas por mejorar pero eso no quita que podamos explorar y conocer c++ apartir de pseudocódigo.

Conclusión

  • Permite seleccionar perfiles de programación
  • Es simple.
  • Permite al usuario observar el desarrollo de un programa desde linea de código.
  • Permite ver diagrama de flujos.
  • Pemite la ejecución del programa sin cerrar la aplicación.
  • etc

Quizá sea una desventaja para algunos prefeccionistas que la codificación esté en español mientras que la exportación es directa a c++, quizá lo mejor sería migrar a los usuarios directamente al inglés nativo para luego no forzarlos al cambio brusco del español-ingles.

Links interesantes