0

Estructuras de Datos en C# 01: Introducción a los Algoritmos y su importancia en C#

Introducción a la clase

En esta primera clase, exploraremos qué es un algoritmo, por qué es importante en la programación y cómo los algoritmos se aplican en C#. También veremos algunos ejemplos prácticos para entender su funcionamiento.

¿Qué obtendrás de esta clase?

  • Comprender qué es un algoritmo.
  • Conocer su importancia en la programación y el desarrollo de software.
  • Aprender cómo se representan los algoritmos.
  • Implementar un primer algoritmo en C#.

¿Qué es un algoritmo?

Un algoritmo es un conjunto de pasos definidos y ordenados que resuelven un problema o realizan una tarea.

Ejemplo cotidiano de un algoritmo:

  1. Despertar.
  2. Levantarse de la cama.
  3. Cepillarse los dientes.
  4. Preparar el desayuno.

Un algoritmo en programación sigue la misma lógica, pero en lugar de pasos físicos, usamos instrucciones en código.

Importancia de los algoritmos en C#

Los algoritmos son la base de la programación porque permiten:

  • Resolver problemas de manera eficiente.
  • Optimizar el uso de recursos como tiempo y memoria.
  • Aplicar buenas prácticas en el desarrollo de software.

Ejemplo de su aplicación en la vida real:

  • Un algoritmo de búsqueda en una tienda en línea para encontrar productos.
  • Un algoritmo de encriptación para proteger datos de usuarios.

Representación de un algoritmo

Los algoritmos pueden representarse de varias maneras:

Pseudocódigo

Escrito en lenguaje natural con estructura lógica.

Inicio
    Leer número A  
    Leer número B  
    Sumar A + B  
    Mostrar resultado  
Fin

Diagramas de flujo

Uso de gráficos y símbolos para representar el flujo del algoritmo.

Código en un lenguaje de programación

Implementación real en C#.

Implementación de un primer algoritmo en C#

Vamos a escribir un programa en C# que suma dos números ingresados por el usuario.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Ingrese el primer número:");
        int numero1 = Convert.ToInt32(Console.ReadLine());

        Console.WriteLine("Ingrese el segundo número:");
        int numero2 = Convert.ToInt32(Console.ReadLine());

        int suma = numero1 + numero2;

        Console.WriteLine("La suma de los dos números es: " + suma);
    }
}

Explicación del código:

  1. Pedimos al usuario que ingrese dos números.
  2. Convertimos las entradas de texto a enteros.
  3. Sumamos los números.
  4. Mostramos el resultado en pantalla.

Caso de uso real

Un cajero automático utiliza algoritmos para gestionar las transacciones de los clientes. Un cliente puede depositar dinero, retirar efectivo o consultar su saldo.

Proceso del algoritmo en un cajero automático:

  1. Toma el monto ingresado por el usuario.
  2. Verifica que sea un valor válido (no negativo).
  3. Suma el monto al saldo de la cuenta.
  4. Actualiza la base de datos con el nuevo saldo.
  5. Muestra al usuario el saldo actualizado.

Implementación en C#:

using System;

class CajeroAutomatico
{
    static void Main()
    {
        decimal saldo = 1000m;

        Console.WriteLine("Ingrese el monto a depositar:");
        decimal deposito = Convert.ToDecimal(Console.ReadLine());

        if (deposito > 0)
        {
            saldo += deposito;
            Console.WriteLine("Depósito exitoso. Su nuevo saldo es: " + saldo);
        }
        else
        {
            Console.WriteLine("El monto ingresado no es válido.");
        }
    }
}

Este algoritmo asegura que el usuario solo pueda ingresar montos válidos y actualiza el saldo de manera correcta.

Desafío práctico

Ejercicio: Modifica el programa del cajero automático para que permita elegir entre depósito, retiro o consulta de saldo.

Resumen de la clase

  • Un algoritmo es un conjunto de pasos para resolver un problema.
  • Son fundamentales para optimizar soluciones en programación.
  • Pueden representarse en pseudocódigo, diagramas de flujo y código.
  • Implementamos un primer algoritmo en C#.
  • Vimos un caso de uso real aplicado a cajeros automáticos.

Próxima clase: Complejidad Algorítmica – Big O Notation

En la siguiente clase aprenderemos cómo medir la eficiencia de un algoritmo utilizando Big O Notation, una herramienta clave para evaluar el rendimiento del código y optimizarlo.

Fernando Sonego

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *