| Docencia | Autor |
Ejercicios sobre Strings
Desarrollando un evaluador de expresiones (un interpretador de expresiones algebraicas), lo primero a desarrollar es hacer un algoritmo que valide la sintaxis de la expresión (que es ingresada por el usuario).
Parte I (sin usar variables, ni funciones algebraicas)
Error: dos o más signos estén seguidos. Ejemplo: 2++4, 5-*3
Error: Un signo seguido de un paréntesis que cierra. Ejemplo: 2-(4+)-7
Error: Que empiece con signo +, *, / . Ejemplo: /12-5*2 , *17-4
Error: Que termine con signo . Ejemplo: 12-67* 2/3-
Error: Que los paréntesis estén desbalanceados. Ejemplo: 3-(2*4))
Error: Que haya paréntesis vacío. Ejemplo: 2-()*3
Error: Así estén balanceados los paréntesis no corresponde el que abre con el que cierra. Ejemplo: 2+3)-2*(4
Error: Un paréntesis que cierra seguido de un número. Ejemplo: (12-4)7-1
Error: Un número seguido de un paréntesis que abre. Ejemplo: 7-2(5-6)
Error: Doble punto en un número de tipo real. Ejemplo: 3-2..4+1 7-6.46.1+2
Error: Que existan caracteres extraños. Ejemplo: 4-@*3+?*4
Parte II (usando variables)
Error: Las variables solo son de una sola letra, no debe haber dos letras seguidas. Ejemplo: 3-xy+2*ab
Error: Una variable seguida de un paréntesis que abre. Ejemplo: 7-x(5-6)
Error: Un paréntesis que cierra seguido de una variable. Ejemplo: (12-4)y-1
Error: Una variable seguida de un punto. Ejemplo: 4-z.1+3
Error: Un punto seguido de una variable. Ejemplo: 7-2.p+1
Error: Un número antes o después de una variable. Ejemplo: 3x+1 x21+4 . Nota: Algebraicamente es aceptable 3x+1 pero entonces vuelve mas complejo un evaluador porque debe saber que 3x+1 es en realidad 3*x+1
Parte III (usando funciones)
Las funciones están predefinidas por el desarrollador: define el tamaño de las funciones (por lo general son tres letras) y por lo general se usan de esta manera: "3-sen(4+x)", la función sigue paréntesis que abre. Luego al analizar la expresión debe identificar las funciones y separarla de los posibles errores de sintaxis.
Paso 1: Defina un arreglo unidimensional de "strings" y allí registra las funciones algebraicas. Ejemplo:
string[] sFunciones = new string[10];
sFunciones[0]="sen";
sFunciones[1]="cos";
sFunciones[2]="tan";
sFunciones[3]="abs";
sFunciones[4]="sqr";
Paso 2: Valide la sintaxis del uso de funciones
Error: Función inexistente: Ejemplo: xyz(45)
Error: Función no seguida de paréntesis. Ejemplo: 2-sen5
Error: Función seguida de paréntesis que cierra. Ejemplo: 17-(sen)78
Error: Antes de la función no hay signo. Ejemplo: 12cos(3)
Parte IV (validaciones matemáticas)
Error: Que haya división entre cero. Ejemplo: 4/0+1, 12/0.0+1