4 - Errores sintácticos y lógicos


Confeccionaremos un problema y agregaremos adrede una serie de errores tipográficos. Este tipo de errores siempre son detectados por el COMPILADOR, antes de ejecutar el programa.
A los errores tipográficos, como por ejemplo nombres de variables incorrectas, falta de paréntesis, palabras claves mal escritas, etc. los llamamos errores SINTACTICOS.
Un programa no se puede ejecutar sin corregir absolutamente todos los errores sintácticos.

Existe otro tipo de errores llamados ERRORES LOGICOS. Este tipo de errores en programas grandes (miles de líneas) son más difíciles de localizar. Por ejemplo un programa que permite hacer la facturación pero la salida de datos por impresora es incorrecta.

Problema:

Hallar la superficie de un cuadrado conociendo el valor de un lado.

Diagrama de flujo:

diagrama flujo superficie cuadrado

Proyecto:

Creemos un proyecto llamado SuperficieCuadrado.

Recordemos que si tenemos un proyecto abierto actualmente debemos cerrarlo desde Archivo -> Cerrar solución:

Cerrar solucion visual studio

Codificamos el algoritmo en Visual Basic .Net e introducimos dos errores sintáctico:
1 - Disponemos el nombre del objeto Console sin la e final.
2 - Tratamos de imprimir el nombre de la variable superficie sin la primer letra.

programa Visual Basic .Net con error sintáctico
Como podemos observar aparece subrayado la línea donde disponemos Consol sin la letra e, como en la línea que imprimimos la variable superficie sin la letra s. Si modificamos y corregimos los dos errores sintácticos podremos ejecutar nuestro programa.

Programa correctamente codificado:

Module Module1

    Sub Main()
        Dim lado As Integer
        Dim superficie As Integer
        Console.Write("Ingrese el valor del lado del cuadrado:")
        lado = Console.ReadLine()
        superficie = lado * lado
        Console.Write("La superficie del cuadrado es:")
        Console.Write(superficie)
        Console.ReadKey()
    End Sub

End Module

Programa con un error lógico:

Module Module1

    Sub Main()
        Dim lado As Integer
        Dim superficie As Integer
        Console.Write("Ingrese el valor del lado del cuadrado:")
        lado = Console.ReadLine()
        superficie = lado * lado * lado
        Console.Write("La superficie del cuadrado es:")
        Console.Write(superficie)
        Console.ReadKey()
    End Sub

End Module

Como podemos observar si ejecutamos el programa no presenta ningún error de compilación. Pero luego de ingresar el valor del lado del cuadrado (por ejemplo el valor 10) obtenemos como resultado un valor incorrecto (imprime el 1000), esto debido que definimos incorrectamente la fórmula para calcular la superficie del cuadrado:

            superficie = lado * lado * lado

Retornar