Pseint - Apunte de Uso

29
Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Índice de contenido 1 Introducción..........................................................................................................................................2 2 Descarga e Instalación.......................................................................................................................... 2 1. Instalación en windows................................................................................................................2 2. Instalación en linux...................................................................................................................... 4 3 Configuración....................................................................................................................................... 7 4 Uso básico............................................................................................................................................ 8 3. Editor de diagrama.....................................................................................................................10 4. Editor de texto............................................................................................................................17 5 Estructuras.......................................................................................................................................... 20 5. Secuencial.................................................................................................................................. 20 6. Disyunción................................................................................................................................. 21 7. Repetición.................................................................................................................................. 22 6 Funciones............................................................................................................................................23 7 Herramientas Útiles............................................................................................................................ 24 8. Como usar datos de Prueba........................................................................................................24 9. Como hacer un seguimiento...................................................................................................... 25 Página 1 de 29

description

Pseint

Transcript of Pseint - Apunte de Uso

Page 1: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Índice de contenido1 Introducción..........................................................................................................................................22 Descarga e Instalación..........................................................................................................................2

1. Instalación en windows................................................................................................................2 2. Instalación en linux......................................................................................................................4

3 Configuración.......................................................................................................................................74 Uso básico............................................................................................................................................8

3. Editor de diagrama.....................................................................................................................10 4. Editor de texto............................................................................................................................17

5 Estructuras..........................................................................................................................................20 5. Secuencial..................................................................................................................................20 6. Disyunción.................................................................................................................................21 7. Repetición..................................................................................................................................22

6 Funciones............................................................................................................................................237 Herramientas Útiles............................................................................................................................24

8. Como usar datos de Prueba........................................................................................................24 9. Como hacer un seguimiento......................................................................................................25

Página 1 de 29

Page 2: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

IntroducciónPara la práctica de programación usaremos el programa PSeInt desarrollado Pablo Novara de laUniversidad Nacional del Litoral.PSeInt es un PSeudo Intérprete que sirve como herramienta para aprender a programar utilizandopseudocódigo en castellano o su representación mediante diagramas de flujo. La ventaja de usardiagramas de flujo es no “atarse” a un lenguaje en particular y hacer énfasis en las estructuras lógicasque nos permiten resolver los problemas.PSeInt es software libre bajo licencia GPL, y puede ser descargado desde su sitio en internethttp://pseint.sourceforge.net/

Descarga e InstalaciónEn el sitio web de PseInt, en descargas, se puede seleccionar según el sistema operativo que se utilice.En esta guía vamos a ver como instalar en windows, porque la mayoría de los alumnos lo usan, y enlinux, dado que la cátedra apoya el uso de software libre.

Instalación en windows

Buscamos la carpeta donde bajamos el instalador para ejecutarlo haciendo doble click

Damos siguiente cuando aparece la siguiente pantalla del instalador

Página 2 de 29

Page 3: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Aceptamos la licencia (sin preocuparnos ya que es software libre)

Elegimos en que directorio instalar, por defecto ofrece el que se usa habitualmente

Página 3 de 29

Page 4: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

El instalador hará su trabajo

Y finalmente el programa quedará instalado

Instalación en linux

En linux no hay aún un instalador, sino que bajamos un archivo compactado y debemos hacer algunospasos a mano. Vamos a mostrar ahora una instalación básica a través de la interfase gráfica de usuario,usando como ejemplo Ubuntu versión 14.04 (la última versión con soporte a largo plazo).

Importante: en linux debe bajar la versión adecuada a su sistema operativo, dependiendo de si este esde 32 o 64 bits.

Página 4 de 29

Page 5: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Si no sabe si su ubuntu es 32 o 64 bits puede ir a configuración del sistema → Detalles y leer dondedice Tipo de SO

Si su linux no es ubuntu y no sabe como averiguarlo desde la GUI, abra una consola y ejecute elcomando uname -i si la respuesta es ix86 (donde x puede ser 3, 4, 5 o 6, por ejemplo i386) entoncessu sistema es de 32 bits, en tanto que si es 64 bits la respuesta será x86_64

Sobre el archivo descargado hacemos click con botón derecho para descompactarlo eligiendo la opción“Extraer aquí”.

Página 5 de 29

Page 6: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Como resultado deja en el mismo directorio una carpeta con los archivos del pseint. Si bien podemosdejarla ahí un lugar más razonable sería la carpeta personal del usuario (no es el mejor lugar, pero estees un ejemplo de instalación básica, luego haremos comentarios sobre posibles variantes).

Ya en el lugar donde va a quedar instalado lo ejecutamos por primera vez ingresando en la carpeta delprograma y haciendo doble click sobre el icono llamado wxPseint

Al ejecutar por primera vez en linux aparece un dialogo para crear iconos lanzadores, por defectovienen chequeados ambas opciones, en nuestro ejemplo deschequeamos el primero ya queagregaremos el programa al lanzador del unity.

Luego vienen otras configuraciones que explicaremos más adelante por ser comunes tanto a linux

Página 6 de 29

Page 7: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

como windows, pero una vez terminadas dichas configuraciones y con el programa aún abiertoharemos click derecho en el icono del pseint que se muestra en el lanzador de modo de tenerlo fijo ahípara la próxima vez que querramos ejecutarlo.

Notas sobre la instalación en linux: Dada la diversidad de distribuciones y escritorios disponibles elcomo instalarlo puede variar un poco. A continuación algunos comentarios al respecto.

• Es cuestión de gusto personal si quiere dejar creado un icono en el Escritorio para lanzar luegoel programa.

• Si no tiene en su GUI un descompactador puede hacerlo también desde una consola, parado enel directorio donde bajó el archivo compactado usa el comando tar -xzvf pseint-xxx.tgzdonde xxx depende de la versión que se esté instalando.

• El lugar canónico para instalar un programa que no tiene paquete de instalación es /opt dandode paso la posibilidad a que se usado por todos los usuarios. Para ello se necesita permiso deadministrador y hacer algunos cambios en los permisos. Dicha explicación excede el alcance deesta guía pero si quiere hacerlo y no sabe como puede consultar a la cátedra cuando hagamospráctica.

ConfiguraciónSin importar que sistema operativo use la primera vez que lance el programa le pedirá que elija unperfil para adaptar el comportamiento del programa. Es MUY IMPORTANTE no olvidar este pasoporque de no hacerlo el programa puede permitirle hacer cosas que en la cátedra consideraremos unerror, o darle error en casos que no debiera darlos.

Al dar Ok nos muestra un dialogo con todos los perfiles registrados. Para facilitar la búsquedaescribimos las primeras letras del perfil buscado (UNLZ) para reducir la lista y seleccionar el queusamos en esta cátedra.

Página 7 de 29

Page 8: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Si por algún motivo debe volver a acceder a este diálogo lo hacemos desde el menú Configurar, itemOpciones del lenguaje

Uso básicoPSeInt tiene 2 modos para editar el código, un modo gráfico, mediante diagramas de flujo y un modotexto con un pseudo lenguaje. Cada modo tiene sus ventajas y resulta bastante útil que PSeInt permitecambiar de un modo a otro en cualquier momento.Nosotros haremos mayor énfasis en el uso de diagramas. Usar diagramas permite concentrarse en laestructura de lo que uno está programando, y hacerlo en forma independiente de un lenguaje decodificación. A su vez el pseudo lenguaje tiene ventajas al momento de hacer depuración de errores oseguimiento del código para encontrar errores.

Al iniciar PSeInt la pantalla inicial se ve del siguiente modo

Página 8 de 29

Page 9: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Inicia con lo básico de un proceso, su inicio y su fin. El mismo aún no tiene nombre y el documento noha sido guardado, por eso figura como <sin_titulo>. Por otro lado entre el menú y el documento hayuna barra de iconos para acceder en forma rápida a las acciones más habituales. Los primero 4 deizquierda a derecha son: nuevo, abrir, guardar y guardar como. Los últimos 4 de derecha a izquierdason: ayuda, editor de diagrama, ejecutar paso a paso y ejecutar.

Con el icono de editor de diagrama activamos dicho editor en otra ventana

Página 9 de 29

Page 10: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Vemos que el contenido en el editor de diagramas es equivalente a lo que teníamos en el editor detexto.

Editor de diagrama

Lo primero que haremos en el editor de diagrama es modificar algo existente. Para ello vamos acambiar el nombre del proceso. Para ello llevo el ratón encima del bloque a modficar, notar quecambia el color de fondo para indicar cuál es el bloque sobre el que estoy.

Haciendo click con el botón derecho se activa la edición (notar el cambio a verde que indica que laedición está activada)

Página 10 de 29

Page 11: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Una vez hecha la edición terminamos presionando la tecla Intro, y veremos lo editado en rojo.

Ahora vamos a agregar un nuevo bloque. Notar en el gráfico anterior que sobre la derecha dice“comandos y estructuras”. Si pasamos el ratón por encima se despliegan dichas opciones y podemoselegir de acuerdo a la que querramos agregar. En este caso vamos a agregar el comando Escribir

Página 11 de 29

Page 12: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Página 12 de 29

Page 13: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Arrastramos el bloque que elegimos hasta el lugar del diagrama donde debe ir

Al agregar un bloque ya viene con la edición activanda, simplemente escribimos el mensaje quequeremos se muestre por pantalla al ejecutar el proceso

Página 13 de 29

Page 14: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Ahora que tenemos un proceso mínimo, pero que hace algo, lo probaremos eligiendo ejecutar.

En otra ventana se muestra el resultado de la ejecución. Tener en cuenta que la acción de ejecutar elproceso desde el editor de diagrama hace que el editor de texto se sincronice y tenga el contenidoequivalente.

Habiendo ejecutado podemos cerrar la ventana del editor de diagramas y volveríamos al editor de textoya sincronizado, es decir, con el código en pseudo lenguaje equivalente al diagrama. Si editamos eldiagrama pero no ejecutamos al cerrar la ventana nos pregunta con el siguiente diálogo si queremossincronizar o si vamos a descartar los cambios hechos.

Página 14 de 29

Page 15: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Vemos que el editor de texto tiene el equivalente a lo que diagramamos.

IMPORTANTE: es muy importante que grabe a un archivo el proceso que está editando para noperderlo. En particular durante un examen debe grabar periódicamente por si ocurren eventos que lepueden hacer perder lo que ya hizo, por ejemplo cuelgue de su computadora, se quedó sin baría, etc.Otro punto a tener en cuenta es grabar antes de ejecutar (ojo, ejecutar sincroniza los editores pero NOGRABA a disco) ya que ante un código de su proceso mal hecho, es posible colgar el PSeInt.Como cualquier programa al elegir grabar le permite elegir donde

Página 15 de 29

Page 16: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Note que el nombre del archivo no debe coincidir necesariamente con el nombre del proceso. Algrabarlo el archivo lleva la extensión .psc (por pseudocódigo).

Volviendo al editor de diagramas, ya vimos como modificar y como agregar. Ahora veremos comoborrar un bloque. Para ello a nuestro ejemplo ya le agregamos un bloque (en blanco porque solo loqueremos para borrarlo)

Seleccionamos el bloque a borrar con un click

Página 16 de 29

Page 17: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Y sin soltar lo arrastramos hacia abajo y a la iquierda,

Notar que Abajo a la izquierda aparece un tacho de basura, justamente ahí es donde debemos soltar

Editor de texto

En el edittor de texto también tenemos las estructuras a disposición sobre el margen derecho

Página 17 de 29

Page 18: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Al hacer click en la estructura la ingresa en el texto indicando que partes debe completar elprogramador, al mismo tiempo que muestra una ayuda en la parte inferior de la pantalla

Completamos con algo adecuado

Página 18 de 29

Page 19: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Noten que en el nombre del archivo PrimerEjemplo.psc aparece un asterisco, esto significa que haycambios que no han sido grabados, Una vez grabados el asterisco se elimina

Los cambios en el editor de texto se ven reflejados en el diagrama automáticamente, si lo abro en estepunto se ve del siguiente modo

Página 19 de 29

Page 20: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

También se puede editar simplemente escribiendo lo que se debe. Al hacerlo de ese modo el editor nosayuda a través del auto-completado predictivo

Estructuras

Secuencial

Son los “bloques básicos” con los que vamos armando el programa. En PSeInt hay 3 tipos de estosbloques. El más genérico es el que usamos para hacer una asignación. El mismo bloque se usa tambiénpara definir variables o dimensionar vectores y matrices.Los otros dos son para leer y para mostrar datos. Recuerde que para mostrar datos podemos ponerentre comillas un cartel fijo. Aquí vemos ejemplos de los tres bloques:

Página 20 de 29

Page 21: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Disyunción

Hay dos tipos de disyunciones, la primera es la estructura Si-Entonces en la cual debemos colocar unaexpresión que puede evaluarse por verdadero o falso, y dependiendo de dicha evaluación ejecuta una uotra rama de la disyunción.Al arrastrar la estructura se muestra vacía:

El siguiente es un ejemplo del uso de esta estructura, donde en la variable menor asignamos el menorde los valores entre a y b:

Resumiendo en el rombo va la condición y en cada rama agregamos los bloques que correspondan según el caso. La rama etiquetada con NO puede quedar vacía (la opción por SI es obligatoria).

La otra estructura de disyunción es la estructura Según, en esta estructura se evalúa una variable oexpresión numérica y se crean ramas de ejecución según el valor que toma esa variable. Existe tambiénla posibilidad de crear una rama que ejecute si la evaluación es distinta a todos los valores previstos.Al agregar se muestra así:

La única rama que muestra es la “De otro modo” es decir la que ejecuta si ningún valor contempladose cumple. Para poder agregar valores hacemos click en el símbolo + , esto nos permite ingresar unvalor y deja un nuevo + por si queremos seguir agregando valores.En el siguiente ejemplo evaluamos la variable Puesto y según ella mostramos el resultado obtenido enla competición:

Página 21 de 29

Page 22: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Repetición

Hay 3 tipos de estructura de repetición, la primera y más genérica se la conoce como estructura“Mientras”. La idea es colocar una comprobación al inicio del ciclo y mientras se cumpla la condiciónse ejecuta el ciclo. Notar que al tener la comprobación al inicio es posible que el ciclo no se ejecutenunca.Al agregar la estructura se muestra así:

En el siguiente ejemplo el ciclo se ejecuta mientras a sea menor a 10. Notar que si el valor de a antesde llegar al ciclo ya era menor a 10 no ejecutará ninguna vez.

La segunda estructura de repetición es la estructura “Repetir” que es muy similar a la que vimos reciénpero con dos cambios. El primero es que la comprobación está al final del ciclo y por lo tanto seasegura que ejecutará al menos una vez. La segunda es que cicla hasta que la comprobación seaverdadera, o dicho de otra manera, mientras que sea falsa.Al agregar la estructura repetir hasta que, se presenta del siguiente modo:

Página 22 de 29

Page 23: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

El siguiente ejemplo es similar al que hicimos con el ciclo mientras, pero en este caso siempre muestrael valor de a, al menos una vez, sin importar el valor con el que llegue al ciclo:

El tercer tipo de estructura repetitiva es el ciclo “Para” que en el fondo es una notación simplificadapara un subconjunto de casos del ciclo mientras. La idea es establecer un contador de ciclos. Al agregarla estructura se ve inicialmente de este modo:

En este “reloj” colocaremos, en la parte superior la variable de control. Abajo a la izquierda debe ir unvalor numérico, sea éste una constante o una variable o una expresión. Es el valor inicial. Abajo a laderecha va el valor final, y al medio el valor de incremento de la variable de control entre ciclo y ciclo.En este ejemplo la variable de control es i y se ejecutará 10 veces el ciclo, la primera vez con valor 1 yla última con valor 10.

FuncionesTanto para los operadores como las funciones recomendamos ver la ayuda del programa. Sin embargo mencionamos aquí algunas de las funciones que usaremos con más frecuencia:

Página 23 de 29

Page 24: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Función Descripción

ABS(X) Valor Absoluto de X

TRUNC(X) Parte entera de X

REDON(X) Entero más cercano a X

AZAR(X) Entero aleatorio entre 0 y x-1

Herramientas Útiles

Como usar datos de Prueba

Suponga que tiene un procesos que ingresa números mayores a cero, calculando la sumatoria de los números ingresados que sean pares y la productoria de los impares. El proceso dejará de pedir númeroscuando se le ingrese uno menor o igual a cero, luego de lo cuál mostrará los resultados.

En este y en otros programas es útil tener un juego de datos para el cuál conocemos el resultado y así irprobando nuestro programa, hacer las correcciones necesarias cuando detectemos errores y volver a probar con el mismo juego de datos.

Para evitar tener que entrar estos datos a mano cada vez PSeInt nos da la posibilidad de cargar un juego de datos de prueba, colocando cada dato en un renglón y entonces cada vez que se ejecute el comando Leer tomará un dato, luego el siguiente y así sucesivamente.

Para ello seleccionamos el item Predefinir Entrada del menú Ejecutar, tal como se muestra en la siguiente imagen

Nos mostrará la siguiente ventana y debemos tildar la opción utilizar una entrada predefinida para este algoritmo para que nos deje ingresar los datos

Página 24 de 29

Page 25: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Como dijimos los datos van uno por renglón

Si ahora ejecutamos toma esos datos en lugar de tener que tipearlos nosotros

Como hacer un seguimiento

A veces se dificulta encontrar un error en un programa. Para ello es útil hacer un seguimiento paso a paso chequeando como avanza la ejecución del proceso y que valores van tomando las variables.

Primero es necesario desplegar la solapa de seguimiento. Para ello hacemos click en Ejecución paso a paso que se encuentra sobre el borde derecho de la ventana

Página 25 de 29

Page 26: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Al hacerlo se despliega la solapa de seguimiento. Vamos a chequear el la opción Prueba de escritorio de modo que abajo se despliegue la solapa correspondiente como se ve en la siguiente imagen

Haciendo click en el botón agregar de la solapa Prueba de escritorio vamos agregando las variables sobre las que queremos hacer el seguimiento

Agregamos todas las variables que consideremos necesarias y estamos listos para comenzar apretando el botón Primer paso

Página 26 de 29

Page 27: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

En la imagen siguiente muestra el programa ya en seguimiento. La flecha amarilla apunta a la próxima sentencia a ejecutar y en las solapa de abajo nos muestra los valores de las variables en seguimiento (que a esta altura de avance aún no han sido definidas)

Avanzamos unas líneas y vemos como van cambiando los valores. En la imagen siguiente se está por ejecutar el comando Escribir de la línea 5, El valor de productoria lo muestra 1 tal como se asignó en la sentencia anterior. Notar que este valor está en rojo, ello es para indicar que es el valor que se alteró en la última sentencia (sumatoria está en rojo una línea antes).

Página 27 de 29

Page 28: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

En este caso estamos por hacer la comprobación del ciclo mientras, podemos ver en la solapa de abajo que n vale 2 y por tanto sabemos que entrará al ciclo.

Página 28 de 29

Page 29: Pseint - Apunte de Uso

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos

Valiendo 2 n es par y por tanto va a sumarlo

Vemos como el valor de sumatoria cambia.

Página 29 de 29