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 nombre de funciones incorrectas, nombres de variables incorrectas, falta de paréntesis, 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.
Hallar la superficie de un cuadrado conociendo el valor de un lado.
Creemos un archivo con el editor Visual Studio Code: ejercicio003.go (Recordemos que lo hacemos desde el menú de opciones: Archivo->Nuevo archivo y luego para dar el nombre nuevamente desde el menú de opciones elegimos Archivo->Guardar)
Codificamos el algoritmo en Go e introducimos dos errores sintácticos:
1 - Disponemos la palabra clave var en mayúsculas y la función Print con el primer caracter en minúsculas:
package main import "fmt" func main() { var lado int VAR superficie int fmt.print("Ingrese el valor del lado del cuadrado:") fmt.Scan(&lado) superficie = lado * lado fmt.Print("La superficie del cuadrado es:",superficie) }
Cuando compilamos el programa nos informa las líneas donde se detectan errores sintácticos:
Como podemos observar aparece en la consola las líneas que tienen errores sintácticos detectado.
Hay muchos tipos de errores sintácticos que nos pueden suceder como que nos falte una llave, definir variables en forma incorrecta, nombres de funciones con caracteres equivocados, etc.
package main import "fmt" func main() { var lado int var superficie int fmt.Print("Ingrese el valor del lado del cuadrado:") fmt.Scan(&lado) superficie = lado * lado fmt.Print("La superficie del cuadrado es:",superficie) }
El mismo programa con un error lógico:
package main import "fmt" func main() { var lado int var superficie int fmt.Print("Ingrese el valor del lado del cuadrado:") fmt.Scan(&lado) superficie = lado * lado * lado fmt.Print("La superficie del cuadrado es:",superficie) }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