1

Introducción
PseInt (Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés) para PseudoCódigo, un lenguaje de programación imperativa simple y en castellano. Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente programas en PseudoCódigo. La sencillez del lenguaje PseudoCódigo lo hacen ideal para la enseñanza de la programación. Permite escribir programas con instrucciones condicionales (SiEntonces-Sino, Segun) y ciclos (Mientras, Hasta Que, Para), y también usar valores numéricos (números decimales), lógicos, caracteres y arreglos. También provee funciones de entrada/salida y algunas funciones matemáticas. Este proyecto se encuentra en http://pseint.sourceforge.net y de allí se puede descargar la última versión del programa, acceder al foro de soporte y también unirse al equipo de desarrollo del programa. No es necesario ser programador para esto último (aunque mejor si lo sos), en muchas ocasiones es necesario el ojo crítico de un docente que usa el programa o de un alumno que quiere proponer mejoras; otras veces se necesita de quien quiera aportar documentación (esta página dinámica está para eso). En cualquiera de los casos, el desarrollador principal les espera.

Utilización del entorno
Elementos de la Ventana
• • • • • •

Barra de Título Menú de Opciones Barra de Acceso Rápido Área de Trabajo Área de Información de Ejecución Barras de scroll

Información de Ejecución La Información de Ejecución se actualiza cada vez que se ejecuta el algoritmo. En ella aparecen los errores encontrados, ya sean de sintaxis (antes de ejecutarse) o errores en tiempo de ejecución. Al hacer click sobre los mismos, automáticamente se seleccionará la línea que contiene dicho error en el área de trabajo. Si la ejecución se interrumpe de forma anormal (presionando Ctrl+Pause o finalizando el proceso por medio del sistema operativo), dicha información no puede ser actualizada. A partir de la versión 1.1 se puede redimensionar esta área manipulando la línea divisoria entre dicha área y el área de trabajo. Notar que al pasar por sobre esa línea divisoria, el cursor del ratón se mostrará como una doble flecha; manteniendo el botón izquierdo apretado podemos cambiar las dimensiones de las áreas. Problemas con el Entorno

las reglas que permiten decir si un programa está bien escrito) es definida usando una notación similar a la notación BNF (Backus-Naur Form). o en líneas separadas. Se pueden introducir comentarios luego de una instrucción. consulte la documentación adjunta. no será tomado en cuenta al interpretar el algoritmo. cada una terminada en punto y coma. Para solucionar este problema. Esto siempre debe ser así. luego le sigue una secuencia de instrucciones y finaliza con la palabra FinProceso.. Proceso <nombre> <secuencia de instrucciones> FinProceso Donde una secuencia de instrucciones es una lista de una o más instrucciones. Algoritmos Un programa escrito en PseudoCódigo comienza con la palabra clave Proceso seguida del nombre del programa. <instrucción>. debe ser creado en la carpeta junto a los ejecutables. <instrucción>. es posible que el entorno no funcione correctamente si el sistema operativo Windows no se encuentra en el directorio "c:\windows". Todo lo que precede a //. mientras que los nombres de variables y otros símbolos y expresiones que pueden variar son escritos entre corchetes angulares. Si intentó actualizar el intérprete. Si no se encuentra allí. Windows se encuentra en la carpeta "e:\windows". Debe asegurarse de ejecutar VPSeInt. Consideraciones Previas En las secciones siguientes.exe desde el directorio donde instaló la aplicación. Si esto no soluciona su problema. mediante el uso de la doble barra ( // ). se debe editar el archivo Pselnt. por ejemplo: <condición>. hasta el fin de la línea. Las palabras y símbolos que pertenecen al pseudocódigo se escriben tal como deben ir. .2 Debido a que la comunicación entre el entorno y el intérprete propiamente dicho se realiza a través de archivos temporales. En dicho archivo se debe agregar (en cualquier lugar) la siguiente línea: WinDir=E:\windows\ En este ejemplo. <instrucción>. por ejemplo: Proceso. No seria correcto "e:\windows". . Nótese que la ruta termina en "\".ini que se encuentra en el directorio de instalación..com y describa con detalle el error en cuestión. escriba a zaskar @hotmail. Otro posible problema que puede presentarse al ejecutar la aplicación es que un mensaje indique que no se encontró el intérprete. la sintaxis del lenguaje PseudoCódigo (es decir.

Leer Valorl.Acumulador + 1. Las constantes de tipo carácter se escriben entre comillas ( " ). Por ejemplo. El tipo de la variable y el de la expresión deben coincidir. Leer <variablel> . Dimension. Pueden incluirse una o más variables. Las constantes lógicas son Verdadero y Falso. pero la estructura contenida debe comenzar y finalizar dentro de la contenedora. Acerca de constantes.. // asigna el número 1 a var Acumulador <. Ejemplos : var <.. <expr2> . Segun. aunque sí comentarios.<expresión> .1. . por lo tanto el comando leerá uno o más valores. Escribir <exprl> . <variableN> . Esta instrucción lee N valores desde el ambiente (en este caso el teclado) y los asigna a las N variables mencionadas.. <exprN> . el punto ( .3 Note que no puede haber instrucciones fuera del programa. deben constar sólo de letras y números.Valor3. Las palabras reservadas no llevan acentos.Valor2. . <variable2> . comenzando siempre con una letra. primero se evalúa la expresión de la derecha y luego se asigna el resultado a la variable de la izquierda. En las constantes numéricas. Asignación La instrucción de asignación permite almacenar una valor en una variable.. Salida La instrucción Escribir permite mostrar valores al ambiente. <variable> <. // incrementa el valor del Acumulador en 1 Entrada La instrucción Leer permite ingresar información desde el ambiente. . Las estructuras no secuenciales pueden anidarse. . Al ejecutarse la asignación. . Es decir. pueden contener otras adentro. o nombres de variables. ) es el separador decimal. identificadores y palabras reservadas • • • • • Los identificadores. Ejemplos : Leer Cantidad.

.. Leer Alumno (1).3. Dimesion <identificador> (<maxl>.3).. Ejemplos: Escribir "Ingrese el nombre:". Dado que puede incluir una o más expresiones.<maxN>). Dimension Tabla (10... Dimension <ident1> (<max11>.. <identM> (<maxM1>. o las instrucciones que le siguen al Sino si la condición es falsa.. x*2 . Se pueden definir más de un arreglo en una misma instrucción. La cantidad de dimensiones puede ser una o más.)... Escribir Tabla (1. Escribir "Resultado:" . separándolos con una coma (. La condición debe ser una expresión lógica. mostrará uno o más valores.<maxMN>) Es importante notar que es necesario definir un arreglo antes de utilizarlo.. Ejemplos: Dimension Alumnos (10). Condicional La secuencia de instrucciones ejecutadas por la instrucción Si-Entonces-Sino depende del valor de una condición lógica.<max1N>). Dimensionamiento La instrucción Dimension permite definir un arreglo. Los N parámetros indican la cantidad de dimensiones y el valor máximo de cada una de ellas..2).. indicando sus dimensiones.5. y la máxima cantidad de elementos debe ser una expresión numérica positiva. Esta instrucción define un arreglo con el nombre indicado en <indentificador> y N dimensiones.. .. se evalúa la condición y se ejecutan las instrucciones que correspondan: las instrucciones que le siguen al Entonces si la condición es verdadera..4 Esta instrucción imprime al ambiente (en este caso en la pantalla) los valores obtenidos de evaluar N expresiones. que al ser evaluada retorna Verdadero o Falso.. Si <condición> Entonces <instrucciones> Sino <instrucciones> FinSi Al ejecutarse esta instrucción. Resultados (5).

Segun a Hacer 0.<número3>: <instrucciones> <. Al ejecutarse. se evalúa el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor. Ejemplo : Leer a. Si una opción incluye varios números. menor o igual".5 La cláusula Entonces debe aparecer siempre. si la condición es falsa no se ejecuta ninguna instrucción y la ejecución del programa continúa con la instrucción siguiente. cuya secuencia de instrucciones asociada se ejecutará sólo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores.2. De Otro Modo: Escribir "Aprobado".. la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos números. "Demasiados articulos.5. Ejemplos : Si A>B Entonces Escribir "Es Sino Escribir "Es FinSi Leer Muchos.1. denominada De Otro Modo. Selección Multiple La secuencia de instrucciones ejecutada por una instrucción Segun depende del valor de una variable numérica. dependiendo del valor almacenado en una variable de tipo numérico. Segun <variable> Hacer <número1>: <instrucciones> <número2>. En ese caso. FinSegun . Opcionalmente. dos puntos y una secuencia de instrucciones.> De Otro Modo: <instrucciones> FinSegun Esta instrucción permite ejecutar opcionalmente varias acciones posibles. Cada opción está formada por uno o más números separados por comas.6: Escribir "Condicional". pero la cláusla Sino puede no estar.".3: Escribir "Desaprobado". se puede agregar una opción final. "Solo se consideraran los 10 primeros. Si Muchos = 10 Entonces Escribir Sino Escribir FinSi mayor".". 4.. 10: Escribir "Excelente!".

Ejemplo : Escribir "Ingrese un número (0 para salir)". de modo que ésta sea falsificada en algún momento y así finalice la ejecución del ciclo. Si la condición es falsa. Leer a. la ejecución se repite. Estos pasos se repiten mientras la condición sea verdadera.6 Mientras Hacer La instrucción Mientras ejecuta una secuencia de instrucciones mientras una condición sea verdadera. Mientras a<>0 Hacer Tot <. si es verdadera. Si la condición resulta verdadera. A fin de evitarlo.Tot. al ejecutar esta instrucción se produce un ciclo infinito. Repetir <instrucciones> Hasta Que <condición> Al ejecutarse esta instrucción. Esto se repite hasta que la condición sea verdadera. Si la condición siempre es verdadera. . Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca. se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Leer a. Note que. Mientras <condición> Hacer <instrucciones> FinMientras Al ejecutarse esta instrucción. FinMientras Escribir "Total:".Tot+a. dado que la condición se evalúa al final. el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condición. Escribir "Ingrese otro número (0 para salir)". las instrucciones del cuerpo del ciclo serán ejecutadas al menos una vez. Al finalizar la ejecución del cuerpo del ciclo se vuelve a evaluar la condición y. las instrucciones del cuerpo del ciclo deben contener alguna instrucción que modifique la o las variables involucradas en la condición. si al evaluar por primera vez la condición resulta ser falsa. la condición es evaluada. la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evalúa la condición. Repetir Hasta Que La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condición sea verdadera.

Para a<-10 Hasta 20 Con Paso 2 Hacer Escribir a. la variable <variable> se incrementará en 1.7 Además. a fin de evitar ciclos infinitos. FinPara Operadores Operador Significado Ejemplo 3>2 'ABC'<'abc' 4=3 Relacionales > Mayor que < = <= >= Menor que Igual que Menor o igual que 'a'<='b' Mayor o igual que 4>=5 . Para La instrucción Para ejecuta una secuencia de instrucciones un número determinado de veces. Ejemplo : Escribir "Números pares de 10 a 20:". Si esto es falso se repite hasta que <variable> supere a <final>.<inicial> Hasta <final> ( Con Paso <paso> ) Hacer <instrucciones> FinPara Al ingresar al bloque.Tot. Si se omite la cláusula Con Paso <paso>. Escribir "Ingrese un número (0 para salir)". Escribir "Total:". Para <variable> <. el cuerpo del ciclo debe contener alguna instrucción que modifique la o las variables involucradas en la condición de modo que en algún momento la condición sea verdadera y se finalice la ejecución del ciclo. la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable <variable> en <paso> unidades y se evalúa si el valor almacenado en <variable> superó al valor <final>. Leer a. Hasta Que a=0. Ejemplo : Repetir Tot <.Tot+a.

Mensajes de Error La siguiente es una lista de errores posibles en un programa que son detectados por el intérprete. Asignación incompleta Este error se produce por la ausencia de alguna de las dos partes de una asignación: la variable o la expresión a asignar. Disyunción (o). aunque puede alterarse mediante el uso de paréntesis. Negación (no). junto con su explicación. La función exponencial no debe recibir un argumento menor o igual a cero. (7>4) & (2=1) //falso (1=1 | 2=1) //verdadero ~(2<5) //falso Suma La jerarquía de los operadores matemáticos es igual a la del álgebra. Ejemplos : . Los errores están en orden alfabético.8 Lógicos & | ~ Algebraicos * / ^ Multiplicación División Potenciación Conjunción (y). Funciones Matemáticas Función RC(X) ABS(X) LN(X) EXP(X) SEN(X) COS(X) ATAN(X) Significado Raíz Cuadrada de X Valor Absoluto de X Logaritmo Natural de X Función Exponencial de X Seno de X Coseno de X Arcotangente de X TRUNC(X) Parte entera de X REDON(X) Entero más cercano a X La función raíz cuadrada no debe recibir un argumento negativo.

°. %. Ejemplo: a <.9 Para <-3 hasta 5 hacer a<-.Tot + Primer_Var.5. Falta cerrar comillas Este error es ocasionado por una constante de tipo caracter incorrecta. // el símbolo '_' no puede ser parte de un identificador Escribir 3. Tampoco pueden usarse palabras reservadas como identificadores. Ejemplos : Escribir 1erVar. Caracter no válido Se encontró un caracter no permitido en el PseudoCódigo. . // la operación 7/a equivale a 7/0 y es imposible. de lo contrario está mal colocada. Se deben delimitar con comillas ( " ) tanto el inicio como el final de la misma. // 1 y 3 son dos parámetros División por cero Una expresión matemática no debe intentar dividir por cero. \. -. // el número tiene dos puntos decimales Escribir Para.0. Este error puede ser causado también por una constante incorrectamente escrita. // No puede empezar con número Tot <. #. Escribir 7/a.3. // 'Para' es una palabra reservada Demasiados Parámetros Ocurre cuando una instrucción que admite sólo un parámetro recibe más de uno. Constante o Identificador no válido Los identificadores deben comenzar siempre con una letra y pueden continuar sólo con letras o números.4. Entonces mal colocado La cláusula Entonces siempre debe estar después de un Si. Ejemplo: a <. Estos símbolos sólo pueden aparecer dentro de constantes de tipo caracter. Ejemplos: &.1.

Se deben cerrar todos los paréntesis que se abren. Mientras y Segun deben ser seguidas por la palabra Hacer. . Falta cerrar Si/Para/Mientras/Repetir/Según Todas las estructuras deben tener un comienzo y un final dentro del algoritmo. Ejemplo: Escribir (3+4/(2*a). Este error se produce porque falta la palabra reservada FinSi/FinPara/FinMientras/Hasta Que/FinSegun o porque una de esas palabras está mal ubicada. Falta cerrar paréntesis Este error se produce cuando en alguna expresión se abre un paréntesis que luego no se cierra.10 Ejemplo: Escribir "Total:. Ejemplos: Para a<. Ejemplos: Para a<-1 hacer Falta nombre de proceso Todos los programas deben comenzar con la palabra reservada Proceso y a continuación un nombre válido (un identificador) para el programa. Ejemplos: Si Hasta Que Según Hacer Mientras Falta Hacer Las condiciones lógicas en las instrucciones Para.1 Hasta c Según a Falta Hasta La instrucción Para siempre debe contener la cláusula Hasta <final>. Falta condición Las estructuras de control repetitivas (Mientras y Repetir-Hasta Que) y las condicionales (Si y Segun) requieren que exista una condición lógica. Tot.

Ejemplo: Dimensión C. es decir que si están anidadas deben incluirse completamente una dentro de otra. No pueden ser palabras reservadas. FinSegun/FinSi/FinPara/FinMientras/FinProceso/Hasta que mal colocado Estas estructuras deben tener su comienzo y su final en el mismo nivel. // falta expresión Leer . // falta identificador de variable Dimension . En el caso de un programa. Ejemplos : Leer 1erVar. el Proceso es único y debe ser el primero en abrirse y el último en cerrarse. // Para es palabra reservada Instrucción fuera de proceso . Identificador no válido Los identificadores deben comenzar siempre con una letra y pueden continuar sólo con letras o números.). // No puede empezar con número Leer Para. Ejemplos: Escribir 1 Leer a Dimension b(10) Faltan Parámetros Este error se produce cuando se intenta ejecutar una instrucción sin los parámetros mínimos necesarios.11 Ejemplo: Proceso // aquí se coloca el nombre Falta punto y coma Cada instrucción en una secuencia debe finalizar siempre con punto y coma (. Ejemplos: Escribir . // falta identificador de arreglo Para B // falta asignación y valor final Faltan subíndices En la declaración de un arreglo siempre deben indicarse las dimensiones y sus cantidades máximas de elementos.

Si a=1. FinMientras. c <.4). <-) deben finalizar con punto y coma ( . La instrucción no debe tener parámetros Este error ocurre cuando una instrucción que no espera parámetros los recibe. Ejemplos: Para a<-1 Hasta 3 Hacer. FinSi. FinProceso y FinSegun no llevan parámetros. Repetir. expresiones y variables deben ser siempre de tipo numérico.2). No coinciden los tipos Este error se produce cuando se utilizan variables. // a es caracter Si 1='3' // '3' es caracter. // a es caracter Según a. Logaritmo de 0 o negativo No se puede calcular el logaritmo de un número menor o igual a cero. Ejemplos: a <-'b'. Ejemplos: Escribir Cos(20. En las instrucciones Segun y Para la constantes.12 Todas las acciones deben estar contenidas dentro del programa. Número de parámetros o subíndices incorrecto Este error puede ser causado por acceder a un elemento de un arreglo utilizando una cantidad de índices diferente a las dimensiones declaradas o al invocar una función matemática con más de un parámetro. 1 es numérica No lleva punto y coma Sólo las instrucciones secuenciales (Leer. // Cos es la función matemática coseno Dimension a(10. Cualquier acción posterior a la palabra FinProceso ocasiona este error. FinPara. Escribir. ). Dimension. Repetir.5+a. Escribir a(2). constantes u operadores correspondientes a tipos de datos diferentes. // el arreglo a fue definido como bidimensional .

. // el 2do parámetro está vacío Leer b.. Ejemplo : Segun a Hacer Escribir b. Ejemplos : Escribir a. También ocurre cuando se encuentran dos operadores seguidos sin una constante o variable en medio. Se esperaba <opción>: La instrucción de selección múltiple Segun deben incluir al menos una opción. Se esperaba asignación La instrucción Para siempre debe contener la asignación que inicialice la variable de control.5*/3. Se cerraron paréntesis demás Este error se produce cuando en alguna expresión matemática sobran paréntesis. seguidos por dos puntos ( : ) y luego la secuencia de instrucciones a ejecutar. // dos operadores ('*' y '/'. Ejemplo : Escribir 2+(2*a)-b) .13 Operador incorrecto Este error se produce cuando se encuentra un operador mal ubicado o desconocido. multiplicación y división) seguidos Escribir 5_2. // el símbolo '_' no es un operador Parámetro nulo Este error se produce cuando falta un parámetro. por lo que no se puede calcular la raíz cuadrada de un número negativo. Ejemplo: . // el 2do parámetro está vacío Escribir (). Para estar bien construída.2. la opción debe constar de uno o más números. // el parámetro () es un parámetro nulo Raíz de negativo PseudoCódigo sólo trabaja con números reales. Ejemplos : a <.

Ejemplo : Escribir C B. de lo contrario está mal colocada. Todas las acciones deben estar contenidas dentro del programa. Ejemplos : Si a=1 Sino Escribir 2. // falta coma u operador Mientras a='A'Hacer // falta un espacio Se esperaba Proceso <nombre> Todos los programas deben comenzar con la palabra Proceso y a continuación un nombre válido (un identificador) para el programa. Subíndices fuera de rango Este error se produce cuando se usa como índice de un arreglo a un valor fuera de las posiciones definidas en la instrucción Dimension que se usó para declarar el arreglo. // falta coma u operador Escribir "21" B. una secuencia de instrucciones a ejecutarse cuando la condición es verdadera). FinSi // Para evitar este error se puede negar la condición: a<>1 // y transformar la cláusula Sino en una cláusula Entonces Se esperaba espacio o coma Este error se produce cuando se encuentran dos variables o constantes consecutivas sin ningún separador en medio.14 Para a Hasta 5 Hacer Se esperaba Con Paso o fin de instrucción Este error se produce cuando en una instrucción Para se incluye un parámetro (u otra instrucción) no válido. Ejemplos : Para a<-1 Hasta 3 Leer a. Sino mal colocado La cláusula Sino siempre debe estar dentro de un Si. Ejemplo : . Se esperaba Entonces La instrucción condicional Si siempre debe tener una cláusula Entonces (es decir.

// el arreglo a sólo tiene 5 elementos. Escribir a(6).15 Dimension a(5). .

Sign up to vote on this title
UsefulNot useful