práctica 1

5

Click here to load reader

Upload: christian-de-la-cruz

Post on 06-Dec-2015

215 views

Category:

Documents


1 download

DESCRIPTION

Prática 1 sobre los lenguajes y autómatas

TRANSCRIPT

Page 1: Práctica 1

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

Page 2: Práctica 1

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

Page 3: Práctica 1

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.