You are on page 1of 3

tutorialesya.com.

ar

http://www.tutorialesya.com.ar/cmasmasya/detalleconcepto.php?punto=4&codigo=131&inicio=0

4 - Errores sintcticos y lgicos

Confeccionaremos un problema y agregaremos adrede una serie de errores tipogrficos. Este tipo de errores
siempre son detectados por el COMPILADOR, antes de ejecutar el programa.
A los errores tipogrficos, como por ejemplo la falta de puntos y comas, nombres de variables incorrectas, falta
de parntesis, palabras claves mal escritas, etc. los llamamos errores SINTACTICOS.
Un programa no se puede ejecutar sin corregir absolutamente todos los errores sintcticos.
Existe otro tipo de errores llamados ERRORES LOGICOS. Este tipo de errores en programas grandes (miles de
lneas) son ms difciles de localizar. Por ejemplo un programa que permite hacer la facturacin 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:

Proyecto:
Creemos un proyecto llamado SuperficieCuadrado.
Luego recordemos que tenemos que crear un archivo donde
disponer nuestro programa (presionamos el botn derecho del
mouse en la ventana del "Explorador de Soluciones"(Solution
Explorer) y seleccionamos la opcin: Agregar -> Nuevo
elemento (Add -> New Item...), en la ventana de dialogo
seleccionamos "Archivo c++" (c++ File) y finalmente
disponemos como nombre: archivo1, la extensin cpp la
agrega automticamente el Visual Studio)
Codificamos el algoritmo en C++ e introducimos dos errores
sintctico:
1 - Disponemos el nombre del objeto cout con maysculas.
2 - Tratamos de imprimir el nombre de la variable superficie con
el primer caracter en maysculas.

Como podemos observar aparece subrayado la lnea donde disponemos Cout con maysculas como en la lnea
que imprimimos la variable superficie con maysculas. Si modificamos y corregimos los dos errores sintcticos
podremos ejecutar nuestro programa.

Programa correctamente codificado:


#include<iostream>
using namespace std;
void main()
{
int lado;
int superficie;
cout <<"Ingrese el valor del lado del cuadrado:";
cin >>lado;
superficie = lado * lado;
cout <<"La superficie del cuadrado es:";
cout <<superficie;

cin.get();
cin.get();
}
Este proyecto lo puede descargar en un zip desde este enlace : SuperficieCuadrado

Programa con un error lgico:


#include<iostream>
using namespace std;
void main()
{
int lado;
int superficie;
cout <<"Ingrese el valor del lado del cuadrado:";
cin >>lado;
superficie = lado * lado * lado;
cout <<"La superficie del cuadrado es:";
cout <<superficie;
cin.get();
cin.get();
}
Como podemos observar si ejecutamos el programa no presenta ningn error de compilacin. 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 frmula para calcular la superficie del cuadrado:
superficie = lado * lado * lado;

Retornar

You might also like