Você está na página 1de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

ndice de contenido
1 Introduccin..........................................................................................................................................2
2 Descarga e Instalacin..........................................................................................................................2
1. Instalacin en windows................................................................................................................2
2. Instalacin en linux......................................................................................................................4
3 Configuracin.......................................................................................................................................7
4 Uso bsico............................................................................................................................................8
3. Editor de diagrama.....................................................................................................................10
4. Editor de texto............................................................................................................................17
5 Estructuras..........................................................................................................................................20
5. Secuencial..................................................................................................................................20
6. Disyuncin.................................................................................................................................21
7. Repeticin..................................................................................................................................22
6 Funciones............................................................................................................................................23
7 Herramientas tiles............................................................................................................................24
8. Como usar datos de Prueba........................................................................................................24
9. Como hacer un seguimiento......................................................................................................25

Pgina 1 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Introduccin
Para la prctica de programacin usaremos el programa PSeInt desarrollado Pablo Novara de la
Universidad Nacional del Litoral.
PSeInt es un PSeudo Intrprete que sirve como herramienta para aprender a programar utilizando
pseudocdigo en castellano o su representacin mediante diagramas de flujo. La ventaja de usar
diagramas de flujo es no atarse a un lenguaje en particular y hacer nfasis en las estructuras lgicas
que nos permiten resolver los problemas.
PSeInt es software libre bajo licencia GPL, y puede ser descargado desde su sitio en internet
http://pseint.sourceforge.net/

Descarga e Instalacin
En el sitio web de PseInt, en descargas, se puede seleccionar segn el sistema operativo que se utilice.
En esta gua vamos a ver como instalar en windows, porque la mayora de los alumnos lo usan, y en
linux, dado que la ctedra apoya el uso de software libre.

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

Damos siguiente cuando aparece la siguiente pantalla del instalador

Pgina 2 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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

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

Pgina 3 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

El instalador har su trabajo

Y finalmente el programa quedar instalado

Instalacin en linux
En linux no hay an un instalador, sino que bajamos un archivo compactado y debemos hacer algunos
pasos a mano. Vamos a mostrar ahora una instalacin bsica a travs de la interfase grfica de usuario,
usando como ejemplo Ubuntu versin 14.04 (la ltima versin con soporte a largo plazo).
Importante: en linux debe bajar la versin adecuada a su sistema operativo, dependiendo de si este es
de 32 o 64 bits.
Pgina 4 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Si no sabe si su ubuntu es 32 o 64 bits puede ir a configuracin del sistema Detalles y leer donde
dice Tipo de SO

Si su linux no es ubuntu y no sabe como averiguarlo desde la GUI, abra una consola y ejecute el
comando uname -i si la respuesta es ix86 (donde x puede ser 3, 4, 5 o 6, por ejemplo i386) entonces
su sistema es de 32 bits, en tanto que si es 64 bits la respuesta ser x86_64
Sobre el archivo descargado hacemos click con botn derecho para descompactarlo eligiendo la opcin
Extraer aqu.

Pgina 5 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Como resultado deja en el mismo directorio una carpeta con los archivos del pseint. Si bien podemos
dejarla ah un lugar ms razonable sera la carpeta personal del usuario (no es el mejor lugar, pero este
es un ejemplo de instalacin bsica, luego haremos comentarios sobre posibles variantes).

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

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

Luego vienen otras configuraciones que explicaremos ms adelante por ser comunes tanto a linux
Pgina 6 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

como windows, pero una vez terminadas dichas configuraciones y con el programa an abierto
haremos click derecho en el icono del pseint que se muestra en el lanzador de modo de tenerlo fijo ah
para la prxima vez que querramos ejecutarlo.

Notas sobre la instalacin en linux: Dada la diversidad de distribuciones y escritorios disponibles el


como instalarlo puede variar un poco. A continuacin algunos comentarios al respecto.
Es cuestin de gusto personal si quiere dejar creado un icono en el Escritorio para lanzar luego
el programa.
Si no tiene en su GUI un descompactador puede hacerlo tambin desde una consola, parado en
el directorio donde baj el archivo compactado usa el comando tar -xzvf pseint-xxx.tgz
donde xxx depende de la versin que se est instalando.
El lugar cannico para instalar un programa que no tiene paquete de instalacin es /opt dando
de paso la posibilidad a que se usado por todos los usuarios. Para ello se necesita permiso de
administrador y hacer algunos cambios en los permisos. Dicha explicacin excede el alcance de
esta gua pero si quiere hacerlo y no sabe como puede consultar a la ctedra cuando hagamos
prctica.

Configuracin
Sin importar que sistema operativo use la primera vez que lance el programa le pedir que elija un
perfil para adaptar el comportamiento del programa. Es MUY IMPORTANTE no olvidar este paso
porque de no hacerlo el programa puede permitirle hacer cosas que en la ctedra consideraremos un
error, o darle error en casos que no debiera darlos.

Al dar Ok nos muestra un dialogo con todos los perfiles registrados. Para facilitar la bsqueda
escribimos las primeras letras del perfil buscado (UNLZ) para reducir la lista y seleccionar el que
usamos en esta ctedra.

Pgina 7 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Si por algn motivo debe volver a acceder a este dilogo lo hacemos desde el men Configurar, item
Opciones del lenguaje

Uso bsico
PSeInt tiene 2 modos para editar el cdigo, un modo grfico, mediante diagramas de flujo y un modo
texto con un pseudo lenguaje. Cada modo tiene sus ventajas y resulta bastante til que PSeInt permite
cambiar de un modo a otro en cualquier momento.
Nosotros haremos mayor nfasis en el uso de diagramas. Usar diagramas permite concentrarse en la
estructura de lo que uno est programando, y hacerlo en forma independiente de un lenguaje de
codificacin. A su vez el pseudo lenguaje tiene ventajas al momento de hacer depuracin de errores o
seguimiento del cdigo para encontrar errores.
Al iniciar PSeInt la pantalla inicial se ve del siguiente modo

Pgina 8 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Inicia con lo bsico de un proceso, su inicio y su fin. El mismo an no tiene nombre y el documento no
ha sido guardado, por eso figura como <sin_titulo>. Por otro lado entre el men y el documento hay
una barra de iconos para acceder en forma rpida a las acciones ms habituales. Los primero 4 de
izquierda a derecha son: nuevo, abrir, guardar y guardar como. Los ltimos 4 de derecha a izquierda
son: ayuda, editor de diagrama, ejecutar paso a paso y ejecutar.
Con el icono de editor de diagrama activamos dicho editor en otra ventana

Pgina 9 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Vemos que el contenido en el editor de diagramas es equivalente a lo que tenamos en el editor de


texto.

Editor de diagrama
Lo primero que haremos en el editor de diagrama es modificar algo existente. Para ello vamos a
cambiar el nombre del proceso. Para ello llevo el ratn encima del bloque a modficar, notar que
cambia el color de fondo para indicar cul es el bloque sobre el que estoy.

Haciendo click con el botn derecho se activa la edicin (notar el cambio a verde que indica que la
edicin est activada)
Pgina 10 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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

Ahora vamos a agregar un nuevo bloque. Notar en el grfico anterior que sobre la derecha dice
comandos y estructuras. Si pasamos el ratn por encima se despliegan dichas opciones y podemos
elegir de acuerdo a la que querramos agregar. En este caso vamos a agregar el comando Escribir

Pgina 11 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Pgina 12 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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

Al agregar un bloque ya viene con la edicin activanda, simplemente escribimos el mensaje que
queremos se muestre por pantalla al ejecutar el proceso

Pgina 13 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Ahora que tenemos un proceso mnimo, pero que hace algo, lo probaremos eligiendo ejecutar.

En otra ventana se muestra el resultado de la ejecucin. Tener en cuenta que la accin de ejecutar el
proceso desde el editor de diagrama hace que el editor de texto se sincronice y tenga el contenido
equivalente.

Habiendo ejecutado podemos cerrar la ventana del editor de diagramas y volveramos al editor de texto
ya sincronizado, es decir, con el cdigo en pseudo lenguaje equivalente al diagrama. Si editamos el
diagrama pero no ejecutamos al cerrar la ventana nos pregunta con el siguiente dilogo si queremos
sincronizar o si vamos a descartar los cambios hechos.

Pgina 14 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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 no
perderlo. En particular durante un examen debe grabar peridicamente por si ocurren eventos que le
pueden hacer perder lo que ya hizo, por ejemplo cuelgue de su computadora, se qued sin bara, etc.
Otro punto a tener en cuenta es grabar antes de ejecutar (ojo, ejecutar sincroniza los editores pero NO
GRABA a disco) ya que ante un cdigo de su proceso mal hecho, es posible colgar el PSeInt.
Como cualquier programa al elegir grabar le permite elegir donde

Pgina 15 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Note que el nombre del archivo no debe coincidir necesariamente con el nombre del proceso. Al
grabarlo el archivo lleva la extensin .psc (por pseudocdigo).

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

Seleccionamos el bloque a borrar con un click

Pgina 16 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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 tambin tenemos las estructuras a disposicin sobre el margen derecho

Pgina 17 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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

Completamos con algo adecuado


Pgina 18 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Noten que en el nombre del archivo PrimerEjemplo.psc aparece un asterisco, esto significa que hay
cambios 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 automticamente, si lo abro en este
punto se ve del siguiente modo

Pgina 19 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Tambin se puede editar simplemente escribiendo lo que se debe. Al hacerlo de ese modo el editor nos
ayuda a travs del auto-completado predictivo

Estructuras
Secuencial
Son los bloques bsicos con los que vamos armando el programa. En PSeInt hay 3 tipos de estos
bloques. El ms genrico es el que usamos para hacer una asignacin. El mismo bloque se usa tambin
para definir variables o dimensionar vectores y matrices.
Los otros dos son para leer y para mostrar datos. Recuerde que para mostrar datos podemos poner
entre comillas un cartel fijo. Aqu vemos ejemplos de los tres bloques:

Pgina 20 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Disyuncin
Hay dos tipos de disyunciones, la primera es la estructura Si-Entonces en la cual debemos colocar una
expresin que puede evaluarse por verdadero o falso, y dependiendo de dicha evaluacin ejecuta una u
otra rama de la disyuncin.
Al arrastrar la estructura se muestra vaca:

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

Resumiendo en el rombo va la condicin y en cada rama agregamos los bloques que correspondan
segn el caso. La rama etiquetada con NO puede quedar vaca (la opcin por SI es obligatoria).
La otra estructura de disyuncin es la estructura Segn, en esta estructura se evala una variable o
expresin numrica y se crean ramas de ejecucin segn el valor que toma esa variable. Existe tambin
la posibilidad de crear una rama que ejecute si la evaluacin 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 ningn valor contemplado
se cumple. Para poder agregar valores hacemos click en el smbolo + , esto nos permite ingresar un
valor y deja un nuevo + por si queremos seguir agregando valores.
En el siguiente ejemplo evaluamos la variable Puesto y segn ella mostramos el resultado obtenido en
la competicin:

Pgina 21 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Repeticin
Hay 3 tipos de estructura de repeticin, la primera y ms genrica se la conoce como estructura
Mientras. La idea es colocar una comprobacin al inicio del ciclo y mientras se cumpla la condicin
se ejecuta el ciclo. Notar que al tener la comprobacin al inicio es posible que el ciclo no se ejecute
nunca.
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 antes
de llegar al ciclo ya era menor a 10 no ejecutar ninguna vez.

La segunda estructura de repeticin es la estructura Repetir que es muy similar a la que vimos recin
pero con dos cambios. El primero es que la comprobacin est al final del ciclo y por lo tanto se
asegura que ejecutar al menos una vez. La segunda es que cicla hasta que la comprobacin sea
verdadera, o dicho de otra manera, mientras que sea falsa.
Al agregar la estructura repetir hasta que, se presenta del siguiente modo:

Pgina 22 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

El siguiente ejemplo es similar al que hicimos con el ciclo mientras, pero en este caso siempre muestra
el 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 notacin simplificada
para un subconjunto de casos del ciclo mientras. La idea es establecer un contador de ciclos. Al agregar
la 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 un
valor numrico, sea ste una constante o una variable o una expresin. Es el valor inicial. Abajo a la
derecha 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 y
la ltima con valor 10.

Funciones
Tanto para los operadores como las funciones recomendamos ver la ayuda del programa. Sin embargo
mencionamos aqu algunas de las funciones que usaremos con ms frecuencia:

Pgina 23 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Funcin

Descripcin

ABS(X)

Valor Absoluto de X

TRUNC(X)

Parte entera de X

REDON(X)

Entero ms cercano a X

AZAR(X)

Entero aleatorio entre 0 y x-1

Procesos Lgicos

Herramientas tiles
Como usar datos de Prueba
Suponga que tiene un procesos que ingresa nmeros mayores a cero, calculando la sumatoria de los
nmeros ingresados que sean pares y la productoria de los impares. El proceso dejar de pedir nmeros
cuando se le ingrese uno menor o igual a cero, luego de lo cul mostrar los resultados.
En este y en otros programas es til tener un juego de datos para el cul conocemos el resultado y as ir
probando 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 rengln 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 opcin utilizar una entrada predefinida para este
algoritmo para que nos deje ingresar los datos

Pgina 24 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Como dijimos los datos van uno por rengln

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 ejecucin del proceso y que valores van tomando las variables.
Primero es necesario desplegar la solapa de seguimiento. Para ello hacemos click en Ejecucin paso a
paso que se encuentra sobre el borde derecho de la ventana

Pgina 25 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Al hacerlo se despliega la solapa de seguimiento. Vamos a chequear el la opcin Prueba de escritorio


de modo que abajo se despliegue la solapa correspondiente como se ve en la siguiente imagen

Haciendo click en el botn 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 botn Primer paso
Pgina 26 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

En la imagen siguiente muestra el programa ya en seguimiento. La flecha amarilla apunta a la prxima


sentencia a ejecutar y en las solapa de abajo nos muestra los valores de las variables en seguimiento
(que a esta altura de avance an no han sido definidas)

Avanzamos unas lneas y vemos como van cambiando los valores. En la imagen siguiente se est por
ejecutar el comando Escribir de la lnea 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 lnea antes).

Pgina 27 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

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

Pgina 28 de 29

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniera

Procesos Lgicos

Valiendo 2 n es par y por tanto va a sumarlo

Vemos como el valor de sumatoria cambia.

Pgina 29 de 29