Curso/Tutorial de Pascal (Turbo Pascal)
C/C++/C# HTML Java JavaScript Linux PHP Python Swift
 Principal
 Inicio
 Libros
 Librerías
 Bibliotecas
 Mapa Web
 
 Recursos
 Artículos
 Cursos
 Ejercicios
 Guías de uso
 Mini Diccionario 
  
 Sintaxis
 ANSI C
 Ordinogramas
 Pascal
 Pseudocódigo 
  
 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

Programa (.PAS): 'Errores de sintaxis'

Existen cuatro errores de sintaxis:
  1. Se ha escrito programa en vez de program.
  2. Al declarar las variables AB, entre ellas, hay que escribir una coma (,): A, B.
  3. Falta un punto y coma (;) después de la llamada a ClrScr.
  4. 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.

Programa (.PAS): 'Error de ejecución'

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.

Programa (.PAS): 'Error de lógica'

Su salida por pantalla es:

El area es: 8.4

 

No existen errores de sintaxis ni de ejecución, sin embargo, la salida esperada es:

El area es: 12.6

 

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
 Más información
Texto extraído del libro EMPEZAR DE CERO A PROGRAMAR EN PASCAL.
 Contenidos > Apartado siguiente
2.1 Alternativa doble ( la instrucción if )