Está en la página 1de 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

Universidad Nacional de Lomas de Zamora

Facultad de Ingeniería

Procesos Lógicos

Introducción
Para la práctica de programación usaremos el programa PSeInt desarrollado Pablo Novara de la
Universidad Nacional del Litoral.
PSeInt es un PSeudo Intérprete que sirve como herramienta para aprender a programar utilizando
pseudocódigo en castellano o su representación 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 lógicas
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 Instalación
En 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 en
linux, 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

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 .

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. Vamos a mostrar ahora una instalación básica a través de la interfase gráfica de usuario. sino que bajamos un archivo compactado y debemos hacer algunos pasos a mano. Importante: en linux debe bajar la versión adecuada a su sistema operativo. Página 4 de 29 . usando como ejemplo Ubuntu versión 14.04 (la última versión con soporte a largo plazo). dependiendo de si este es de 32 o 64 bits.

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 donde dice Tipo de SO Si su linux no es ubuntu y no sabe como averiguarlo desde la GUI. 4. 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 . por ejemplo i386) entonces su sistema es de 32 bits. abra una consola y ejecute el comando uname -i si la respuesta es ix86 (donde x puede ser 3. 5 o 6.

en nuestro ejemplo deschequeamos el primero ya que agregaremos el programa al lanzador del unity. por defecto vienen chequeados ambas opciones.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. pero este es un ejemplo de instalación básica. Luego vienen otras configuraciones que explicaremos más adelante por ser comunes tanto a linux Página 6 de 29 . luego haremos comentarios sobre posibles variantes). Si bien podemos dejarla ahí un lugar más razonable sería la carpeta personal del usuario (no es el mejor lugar. 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.

• Es cuestión de gusto personal si quiere dejar creado un icono en el Escritorio para lanzar luego el programa. Es MUY IMPORTANTE no olvidar este paso porque de no hacerlo el programa puede permitirle hacer cosas que en la cátedra consideraremos un error. o darle error en casos que no debiera darlos. Configuración 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. parado en el directorio donde bajó el archivo compactado usa el comando tar -xzvf pseint-xxx. Dicha explicación excede el alcance de esta guía pero si quiere hacerlo y no sabe como puede consultar a la cátedra cuando hagamos práctica. • El lugar canónico para instalar un programa que no tiene paquete de instalación es /opt dando de paso la posibilidad a que se usado por todos los usuarios. Notas sobre la instalación en linux: Dada la diversidad de distribuciones y escritorios disponibles el como instalarlo puede variar un poco.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos como windows. Página 7 de 29 .tgz donde xxx depende de la versión que se esté instalando. Para facilitar la búsqueda escribimos las primeras letras del perfil buscado (UNLZ) para reducir la lista y seleccionar el que usamos en esta cátedra. A continuación algunos comentarios al respecto. Al dar Ok nos muestra un dialogo con todos los perfiles registrados. pero una vez terminadas dichas configuraciones y con el programa aún abierto haremos 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. • Si no tiene en su GUI un descompactador puede hacerlo también desde una consola. Para ello se necesita permiso de administrador y hacer algunos cambios en los permisos.

Al iniciar PSeInt la pantalla inicial se ve del siguiente modo Página 8 de 29 . mediante diagramas de flujo y un modo texto con un pseudo lenguaje. item Opciones del lenguaje Uso básico PSeInt tiene 2 modos para editar el código. Usar diagramas permite concentrarse en la estructura de lo que uno está programando. Nosotros haremos mayor énfasis en el uso de diagramas. y hacerlo en forma independiente de un lenguaje de codificación.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. Cada modo tiene sus ventajas y resulta bastante útil que PSeInt permite cambiar de un modo a otro en cualquier momento. A su vez el pseudo lenguaje tiene ventajas al momento de hacer depuración de errores o seguimiento del código para encontrar errores. un modo gráfico.

Con el icono de editor de diagrama activamos dicho editor en otra ventana Página 9 de 29 . por eso figura como <sin_titulo>. Los últimos 4 de derecha a izquierda son: ayuda. Los primero 4 de izquierda a derecha son: nuevo. abrir. Por otro lado entre el menú y el documento hay una barra de iconos para acceder en forma rápida a las acciones más habituales. El mismo aún no tiene nombre y el documento no ha sido guardado. guardar y guardar como. editor de diagrama. su inicio y su fin.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Inicia con lo básico de un proceso. ejecutar paso a paso y ejecutar.

Editor de diagrama Lo primero que haremos en el editor de diagrama es modificar algo existente. Para ello llevo el ratón encima del bloque a modficar.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 de texto. Haciendo click con el botón derecho se activa la edición (notar el cambio a verde que indica que la edición está activada) Página 10 de 29 . notar que cambia el color de fondo para indicar cuál es el bloque sobre el que estoy. Para ello vamos a cambiar el nombre del proceso.

En este caso vamos a agregar el comando Escribir Página 11 de 29 . Si pasamos el ratón por encima se despliegan dichas opciones y podemos elegir de acuerdo a la que querramos agregar.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”.

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Página 12 de 29 .

simplemente escribimos el mensaje que queremos se muestre por pantalla al ejecutar el proceso Página 13 de 29 .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.

es decir. Página 14 de 29 . En otra ventana se muestra el resultado de la ejecución. con el código en pseudo lenguaje equivalente al diagrama.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Ahora que tenemos un proceso mínimo. Habiendo ejecutado podemos cerrar la ventana del editor de diagramas y volveríamos al editor de texto ya sincronizado. Si editamos el diagrama pero no ejecutamos al cerrar la ventana nos pregunta con el siguiente diálogo si queremos sincronizar o si vamos a descartar los cambios hechos. lo probaremos eligiendo ejecutar. pero que hace algo. Tener en cuenta que la acción de ejecutar el proceso desde el editor de diagrama hace que el editor de texto se sincronice y tenga el contenido equivalente.

es posible colgar el PSeInt. por ejemplo cuelgue de su computadora. IMPORTANTE: es muy importante que grabe a un archivo el proceso que está editando para no perderlo. Como cualquier programa al elegir grabar le permite elegir donde Página 15 de 29 . se quedó sin baría. En particular durante un examen debe grabar periódicamente por si ocurren eventos que le pueden hacer perder lo que ya hizo.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. ejecutar sincroniza los editores pero NO GRABA a disco) ya que ante un código de su proceso mal hecho. etc. Otro punto a tener en cuenta es grabar antes de ejecutar (ojo.

ya vimos como modificar y como agregar. 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 Página 16 de 29 . Ahora veremos como borrar un bloque.psc (por pseudocódigo). Al grabarlo el archivo lleva la extensión . Volviendo al editor de diagramas.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.

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 .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.

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 el programador. al mismo tiempo que muestra una ayuda en la parte inferior de la pantalla Completamos con algo adecuado Página 18 de 29 .

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Noten que en el nombre del archivo PrimerEjemplo. si lo abro en este punto se ve del siguiente modo Página 19 de 29 . Una vez grabados el asterisco se elimina Los cambios en el editor de texto se ven reflejados en el diagrama automáticamente.psc aparece un asterisco. esto significa que hay cambios que no han sido grabados.

Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos También se puede editar simplemente escribiendo lo que se debe. Aquí vemos ejemplos de los tres bloques: Página 20 de 29 . El mismo bloque se usa también para definir variables o dimensionar vectores y matrices. Recuerde que para mostrar datos podemos poner entre comillas un cartel fijo. En PSeInt hay 3 tipos de estos bloques. El más genérico es el que usamos para hacer una asignación. Al hacerlo de ese modo el editor nos ayuda a través del auto-completado predictivo Estructuras Secuencial Son los “bloques básicos” con los que vamos armando el programa. Los otros dos son para leer y para mostrar datos.

la primera es la estructura Si-Entonces en la cual debemos colocar una expresión que puede evaluarse por verdadero o falso. La otra estructura de disyunción es la estructura Según. Existe también la posibilidad de crear una rama que ejecute si la evaluación es distinta a todos los valores previstos. esto nos permite ingresar un valor y deja un nuevo + por si queremos seguir agregando valores. Al agregar se muestra así: La única rama que muestra es la “De otro modo” es decir la que ejecuta si ningún valor contemplado se cumple. en esta estructura se evalúa una variable o expresión numérica y se crean ramas de ejecución según el valor que toma esa variable.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Disyunción Hay dos tipos de disyunciones. En el siguiente ejemplo evaluamos la variable Puesto y según ella mostramos el resultado obtenido en la competición: Página 21 de 29 . donde en la variable menor asignamos el menor de 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. y dependiendo de dicha evaluación ejecuta una u otra rama de la disyunción. Al arrastrar la estructura se muestra vacía: El siguiente es un ejemplo del uso de esta estructura. La rama etiquetada con NO puede quedar vacía (la opción por SI es obligatoria). Para poder agregar valores hacemos click en el símbolo + .

Al agregar la estructura repetir hasta que. El primero es que la comprobación está al final del ciclo y por lo tanto se asegura que ejecutará al menos una vez. Notar que si el valor de a antes de llegar al ciclo ya era menor a 10 no ejecutará ninguna vez. se presenta del siguiente modo: Página 22 de 29 . mientras que sea falsa. o dicho de otra manera. Al agregar la estructura se muestra así: En el siguiente ejemplo el ciclo se ejecuta mientras a sea menor a 10. La segunda es que cicla hasta que la comprobación sea verdadera. La idea es colocar una comprobación al inicio del ciclo y mientras se cumpla la condición se ejecuta el ciclo. la primera y más genérica se la conoce como estructura “Mientras”.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos Repetición Hay 3 tipos de estructura de repetición. La segunda estructura de repetición es la estructura “Repetir” que es muy similar a la que vimos recién pero con dos cambios. Notar que al tener la comprobación al inicio es posible que el ciclo no se ejecute nunca.

la primera vez con valor 1 y la última con valor 10.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. Sin embargo mencionamos aquí algunas de las funciones que usaremos con más frecuencia: Página 23 de 29 . sea éste una constante o una variable o una expresión. pero en este caso siempre muestra el valor de a. 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 simplificada para un subconjunto de casos del ciclo mientras. Abajo a la derecha va el valor final. Abajo a la izquierda debe ir un valor numérico. Es el valor inicial. Funciones Tanto para los operadores como las funciones recomendamos ver la ayuda del programa. en la parte superior la variable de control. al menos una vez. y al medio el valor de incremento de la variable de control entre ciclo y ciclo. Al agregar la estructura se ve inicialmente de este modo: En este “reloj” colocaremos. En este ejemplo la variable de control es i y se ejecutará 10 veces el ciclo. La idea es establecer un contador de ciclos.

En este y en otros programas es útil tener un juego de datos para el cuál conocemos el resultado y así ir probando nuestro programa. 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 . 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. hacer las correcciones necesarias cuando detectemos errores y volver a probar con el mismo juego de datos. luego de lo cuál mostrará los resultados. El proceso dejará de pedir números cuando se le ingrese uno menor o igual a cero. luego el siguiente y así sucesivamente. Para ello seleccionamos el item Predefinir Entrada del menú Ejecutar. calculando la sumatoria de los números ingresados que sean pares y la productoria de los impares.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería 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 Procesos Lógicos Herramientas Útiles Como usar datos de Prueba Suponga que tiene un procesos que ingresa números mayores a cero.

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. 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 .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. Primero es necesario desplegar la solapa de seguimiento.

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 .

El valor de productoria lo muestra 1 tal como se asignó en la sentencia anterior. 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.Universidad Nacional de Lomas de Zamora Facultad de Ingeniería Procesos Lógicos En la imagen siguiente muestra el programa ya en seguimiento. En la imagen siguiente se está por ejecutar el comando Escribir de la línea 5. Página 27 de 29 . 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).

podemos ver en la solapa de abajo que n vale 2 y por tanto sabemos que entrará al ciclo.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. Página 28 de 29 .

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 .