práctica 1
DESCRIPTION
Prática 1 sobre los lenguajes y autómatasTRANSCRIPT
Instituto Tecnológico Superior de Lerdo
Ingeniería en Sistemas Computacionales
Lenguajes y Autómatas II
Lic. Roberto García Flores
Práctica 1
Árboles de expresiones
Christian Daniel de la Cruz Rodríguez
Grupo 7A
Lerdo, Durango 20 de agosto del 2015
Desarrollo de la Práctica
Materia: Lenguajes y autómatas II
Unidad de aprendizaje: Unidad I.- Análisis semántico
Práctica número:
1
Nombre de la práctica: Arboles de expresiones
Objetivo: Los alumnos serán capaces de identificar los errores de código en una cadena de caracteres dados por un programa.
Lugar: LC1 Duración: 3 horas
Materiales Maquinaria y equipo Herramientas
Lenguaje de programación.Copias de la practica Computadora
Procedimiento
1.- Definir que errores son los que se van a identificar2.- el programa deberá desplegar cuales son los errores capturados generando un arboles de expresiones3.- el código dado ya estará predeterminado por la cadena de caracteres.
Los errores en la programación pueden ser de los siguientes tipos:• Léxicos, producidos al escribir mal un identificador, una palabra clave o un Operador.
num1 = Cnsole.ReadLine();
Este error léxico se genera porque la palabra reservada “Console” está mal escrita.
• Sintácticos, por una expresión aritmética o paréntesis no equilibrados.
Console.WriteLine("El resultado es: " + verResultado;
Este error sintáctico sucede porque falta un paréntesis que equilibre el comando.
• Semánticos, como un operador aplicado a un operando incompatible.
double resultado = Convert.ToDouble(num1) > Convert.ToDouble(num2);
Este error semántico se presenta porque se aplicó un operador que no puede ser usado en datos incompatibles.
• Lógicos, puede ser una llamada infinitamente recursiva.
for (; ; ) { }
Este error lógico se genera porque no se especifica la recursividad del ciclo “for”.
• De corrección, cuando el programa no hace lo que el programador realmente Deseaba.
double resultado = Convert.ToDouble(num1) / Convert.ToDouble(num2);
En realidad este programa debía realizar una multiplicación de dos números.