P. 1
Manual Pseint

Manual Pseint

|Views: 2.173|Likes:
Publicado porMelestu

More info:

Published by: Melestu on Sep 18, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/04/2014

pdf

text

original

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

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

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

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

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

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

Luego se incrementa la variable <variable> en <paso> unidades y se evalúa si el valor almacenado en <variable> superó al valor <final>. Ejemplo : Repetir Tot <. Leer a.7 Además.Tot+a. 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 . Escribir "Ingrese un número (0 para salir)". Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la cláusula Con Paso <paso>. Para a<-10 Hasta 20 Con Paso 2 Hacer Escribir a. la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Para <variable> <. Ejemplo : Escribir "Números pares de 10 a 20:". Escribir "Total:". 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. Para La instrucción Para ejecuta una secuencia de instrucciones un número determinado de veces. la variable <variable> se incrementará en 1. Hasta Que a=0.<inicial> Hasta <final> ( Con Paso <paso> ) Hacer <instrucciones> FinPara Al ingresar al bloque.Tot.

(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. La función exponencial no debe recibir un argumento menor o igual a cero. Ejemplos : . Disyunción (o). aunque puede alterarse mediante el uso de paréntesis. Mensajes de Error La siguiente es una lista de errores posibles en un programa que son detectados por el intérprete. Los errores están en orden alfabético. 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. 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. junto con su explicación.8 Lógicos & | ~ Algebraicos * / ^ Multiplicación División Potenciación Conjunción (y). Negación (no).

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

Ejemplo: Escribir (3+4/(2*a). . Tot.1 Hasta c Según a Falta Hasta La instrucción Para siempre debe contener la cláusula Hasta <final>. Falta cerrar Si/Para/Mientras/Repetir/Según Todas las estructuras deben tener un comienzo y un final dentro del algoritmo. 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. Falta cerrar paréntesis Este error se produce cuando en alguna expresión se abre un paréntesis que luego no se cierra. Ejemplos: Para a<. Se deben cerrar todos los paréntesis que se abren. 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.10 Ejemplo: Escribir "Total:. Mientras y Segun deben ser seguidas por la palabra Hacer. Ejemplos: Si Hasta Que Según Hacer Mientras Falta Hacer Las condiciones lógicas en las instrucciones Para. Este error se produce porque falta la palabra reservada FinSi/FinPara/FinMientras/Hasta Que/FinSegun o porque una de esas palabras está mal ubicada.

). Ejemplos : Leer 1erVar. En el caso de un programa. es decir que si están anidadas deben incluirse completamente una dentro de otra. // 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. // falta identificador de variable Dimension .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 (. No pueden ser palabras reservadas. Ejemplos: Escribir . // No puede empezar con número Leer Para. el Proceso es único y debe ser el primero en abrirse y el último en cerrarse. Identificador no válido Los identificadores deben comenzar siempre con una letra y pueden continuar sólo con letras o números. // Para es palabra reservada Instrucción fuera de proceso . FinSegun/FinSi/FinPara/FinMientras/FinProceso/Hasta que mal colocado Estas estructuras deben tener su comienzo y su final en el mismo nivel. Ejemplo: Dimensión C. // falta expresión Leer . 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.

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

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

// falta coma u operador Escribir "21" B. de lo contrario está mal colocada. Sino mal colocado La cláusula Sino siempre debe estar dentro de un Si. Se esperaba Entonces La instrucción condicional Si siempre debe tener una cláusula Entonces (es decir. Ejemplos : Si a=1 Sino Escribir 2. 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.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. // 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. Todas las acciones deben estar contenidas dentro del programa. Ejemplo : Escribir C B. Ejemplo : . una secuencia de instrucciones a ejecutarse cuando la condición es verdadera). Ejemplos : Para a<-1 Hasta 3 Leer a. 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.

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->