top of page
Errores Sintácticos Y Lógicos

Realizaremos un programa donde a propósito ocasionaremos algunos errores de sintaxis estos errores no permiten que nuestro programa compile, un programa no puede ejecutar con errores de sintaxis hay que solucionarlos. Estos errores son ocasionados al no saber algunas características del lenguaje mismo. Existe una ventaja con el IDE Visual Studio la cual es que nos detecta los errores y nos ayuda a ubicarlos.

 

También existen otro tipo de errores estos son los lógicos este tipo de error es más difícil encontrarlo sobre todo en grandes programas (donde hay miles de líneas) en programas pequeños es más fácil debido al escaso código.

 

Para el ejemplo seguiremos usando el programa que creamos en el capítulo anterior.

En la imagen podemos observar que cada error es resaltado con una línea roja y también nos indica la causa del error. Cuando presionamos doble clic en un error nos lleva a la línea y posición donde se encuentra para que lo podamos solucionar en este caso:
Error 1 se debe a que el método Writeline está mal escrito ya que debe ir así WriteLine la W y L deben ser mayúsculas
Error 2 se debe a que faltan los paréntesis del método ReadLine()
Error 3 se debe a que faltan los paréntesis del método ReadLine()
Error 4 se debe a que la clase console debe iniciar con mayúscula Console
Error 5 se debe a que se olvidó escribir el final de instrucción que sería punto y coma
Error 6  se debe a que falta un paréntesis de cierre que pertenece a la conversión con Parse
Si ven las causas de los errores hay una causa que me genero 2 errores e incluso hay errores que pueden genera aún más.
Ahora veremos un programa con un error lógico en grandes programas son complicados de ubicar ya que es el error que no marca error (error del desarrollador o programador)

Es el mismo programa pero esta vez con un error lógico véanlo y analícenlo…
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sueldos
{
    class Program
    {
        static void Main(string[] args)
        {
            int horatrabajadas = 0;
            float costohora = 0;
            float sueldo = 0;
            Console.WriteLine("Ingrese las horas trabajadas");
            horatrabajadas = int.Parse(Console.ReadLine());
            Console.WriteLine("El costo por hora");
            costohora = float.Parse(Console.ReadLine());
            sueldo = horatrabajadas + costohora * costohora;
            Console.WriteLine("Su sueldo es: "+sueldo);
            Console.ReadKey();
        }
    }
}

¿Ya encontraron el error?
Les dejo el programa correcto y compárenlo si no lo han hallado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sueldos
{
    class Program
    {
        static void Main(string[] args)
        {
            int horatrabajadas = 0;
            float costohora = 0;
            float sueldo = 0;
            Console.WriteLine("Ingrese las horas trabajadas");
            horatrabajadas = int.Parse(Console.ReadLine());
            Console.WriteLine("El costo por hora");
            costohora = float.Parse(Console.ReadLine());
            sueldo = horatrabajadas * costohora;
            Console.WriteLine("Su sueldo es: "+sueldo);
            Console.ReadKey();
        }
    }
}
Espero lo hayan ubicado… sino sigan analizando el código.

Ambos programas ejecutan pero solo uno está correctamente codificado  es decir sin errores sintácticos y sin errores lógicos.

¡SÍGUEME! 

  • Facebook Classic
  • c-youtube

Creado Por Leonardo Herrera © 2016

bottom of page