|
Contenidos > 1.11
Tipos de errores |
|
|
|
Una
vez escrito el código
fuente de un programa,
siempre se debe
comprobar si se han cometido errores. Estos pueden ser de tres tipos:
Errores de sintaxis
Los errores de sintaxis son los más fáciles de
detectar. Un error de
sintaxis se produce al escribir, incorrectamente, alguna
parte del código.
Ejemplo
1:
Estúdiese el siguiente código fuente:
programa
EJE11471;
uses Crt;
var A B : Integer;
begin
ClrScr
A := 5;
B := A * 6;
Write( B )
end
|
Existen cuatro errores de sintaxis:
- Se ha
escrito programa
en vez de program.
- Al declarar las
variables A
y B,
entre ellas, hay que escribir una coma (,): A,
B.
- Falta un punto y
coma (;)
después de la llamada a ClrScr.
- Falta un
punto (.) después
de end.
Errores de ejecución
Una vez corregidos los errores de
sintaxis, se debe revisar que no se puede producir ningún
error
en la ejecución del programa. Un error de
ejecución se
produce cuando el ordenador
no puede ejecutar alguna instrucción
de forma correcta.
Ejemplo 2:
En el programa:
program EJE11481;
uses Crt;
var
A : Integer;
B : Real;
begin
ClrScr;
A := 0;
B := 6.4
/ A;
Write( B )
end.
|
se produce un error de ejecución, ya que, al intentar
evaluar la expresión
6.4 / A
A
vale 0,
y no se puede dividir entre cero.
Errores de lógica
Los errores de lógica son los más
difíciles de
detectar. Cuando un programa no tiene errores de sintaxis ni de
ejecución, pero, aún así, no funciona
bien, esto
es debido a la existencia de algún error lógico.
De manera
que, un error de lógica se produce cuando los resultados
obtenidos no son los esperados.
Ejemplo 3:
Estúdiese el siguiente código:
program EJE11491;
uses Crt;
var Base, Altura :
Real;
begin
ClrScr;
Base := 6.3;
Altura := 4;
Write( 'El
area es: ', Base * Altura / 3:0:1 )
end.
|
Su salida por pantalla es:
No existen errores de sintaxis ni de ejecución, sin embargo,
la salida esperada es:
Por
consiguiente, existe algún error lógico que hay
que corregir. El error está en la
expresión
Base
* Altura
/ 3
que, aunque no es incorrecta, no sirve para calcular el área
de un triángulo. En su lugar se debe escribir
Base
* Altura
/ 2
|
|
|
|
Contenidos > Apartado siguiente |
|
2.1 Alternativa
doble ( la instrucción if
) |
|
|
|
|