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:
- Despertar.
- Levantarse de la cama.
- Cepillarse los dientes.
- 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:
- Pedimos al usuario que ingrese dos números.
- Convertimos las entradas de texto a enteros.
- Sumamos los números.
- 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:
- Toma el monto ingresado por el usuario.
- Verifica que sea un valor válido (no negativo).
- Suma el monto al saldo de la cuenta.
- Actualiza la base de datos con el nuevo saldo.
- 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.