Introducción
Para los que quieran aprender programación voy a hacer una serie de posts con fundamentos de programación. He elegido el lenguaje c# porque es usado por el framework dotnet que es abierto y multiplataforma. Con este lenguaje, de proposito general, podemos desarrollar en múltiples ambitos. Aquí tienes algunos ejemplos de usos:
- Desarrollo Web: Utilizado extensamente en el desarrollo de aplicaciones web a través de ASP.NET, framework que facilita la creación de sitios web dinámicos y robustos.
- Aplicaciones de Escritorio: C# es ampliamente utilizado para desarrollar aplicaciones de Windows con interfaces gráficas de usuario mediante Windows Forms y WPF (Windows Presentation Foundation).
- Desarrollo de Juegos: Gracias a su integración con el motor de juegos Unity, C# se ha convertido en un lenguaje clave en el desarrollo de videojuegos para diferentes plataformas.
- Aplicaciones Móviles: Con Xamarin, los desarrolladores pueden utilizar C# para crear aplicaciones nativas para Android e iOS.
- Desarrollo Empresarial: C# es también popular en la construcción de aplicaciones empresariales, sistemas de bases de datos y aplicaciones cliente-servidor.
- Internet de las Cosas (IoT): Su eficiencia y escalabilidad lo hacen adecuado para dispositivos IoT donde los recursos pueden ser limitados.
- Inteligencia Artificial y Ciencia de Datos: Aunque no tan popular como Python en estos campos, C# se está utilizando cada vez más en proyectos de IA y análisis de datos gracias a diversas bibliotecas y frameworks.
Por otro lado dotnet es un marco de desarrollo (framework) de software gratuito y de código abierto para Windows, Linux y macOS. Es mantenido por Microsoft y la comunidad de desarrolladores. Inicialmente, fue lanzado en el año 2002 exclusivamente para Windows, pero desde el lanzamiento de .NET Core (ahora .NET 5 y más allá) en 2016, ha expandido su compatibilidad a múltiples sistemas operativos. El proyecto es de código abierto https://github.com/dotnet Estos son sus componentes principales.
- Lenguajes de Programación: Incluye varios lenguajes de programación como C#, F# y Visual Basic.
- Bibliotecas Estándar: Una extensa biblioteca estándar que ofrece una gran variedad de funciones y componentes listos para usar.
- CLR (Common Language Runtime): Es el entorno de ejecución que maneja la ejecución del código y proporciona servicios como la gestión de memoria, hilos, excepciones, etc.
- SDK y herramientas de desarrollo: Conjunto de herramientas de desarrollo para facilitar el desarrollo, la depuración y la publicación de aplicaciones.
Comenzando por crear un proyecto.
Comúnmente, C# se ha vinculado con el entorno de desarrollo integrado (IDE) Visual Studio en sistemas operativos Windows. Sin embargo, este panorama ha evolucionado significativamente desde que el proyecto se convirtió en de código abierto. En el video que sigue, se muestra cómo crear un proyecto en C# utilizando Visual Studio Code en un sistema operativo Linux, específicamente Ubuntu. Cabe destacar que estos mismos pasos son aplicables tanto en sistemas Windows como en macOS, haciendo uso de la herramienta dotnet CLI.
¿Por donde empezamos con la programación?
En el ejemplo ‘HolaMundo’, que se genera utilizando la plantilla de aplicación de consola, estamos ejecutando una serie de sentencias, cada una representada por una línea de código. Aunque estas sentencias actúan como órdenes dadas al ordenador, es importante tener en cuenta que el flujo de ejecución puede variar. Esto puede suceder debido a condiciones específicas o a la necesidad de repetir un bloque de código múltiples veces. Para gestionar estos escenarios, se emplean las estructuras de control. C# ofrece varias estructuras de control que nos permiten diseñar algoritmos complejos de una manera más organizada y legible. Este artículo aborda las estructuras de control básicas en C#: if-else
, switch-case
, for
, while
y do-while
.
Estructuras condicionales
If-else
La estructura if-else
es posiblemente la más reconocible de todas. Permite evaluar condiciones y ejecutar bloques de código en función de si la condición es true
o false
.
int numero = 10; if (numero > 5) { Console.WriteLine("El número es mayor que cinco."); } else { Console.WriteLine("El número no es mayor que cinco."); }
switch-Case
es otra estructura condicional que facilita la evaluación de múltiples condiciones. Es especialmente útil cuando una variable puede tener varios valores y se debe realizar una acción diferente para cada uno.
char grado = 'A'; switch (grado) { case 'A': Console.WriteLine("Excelente"); break; case 'B': Console.WriteLine("Muy bien"); break; default: Console.WriteLine("Calificación no reconocida"); break; }
Estructuras de Bucle o Repetición.
for
El bucle for
es útil cuando sabemos cuántas veces queremos que se ejecute un bloque de código.
for (int i = 0; i < 5; i++) { Console.WriteLine("Iteración " + i); }
while
La estructura while
ejecuta un bloque de código mientras una condición específica sea verdadera (true
).
int contador = 0; while (contador < 5) { Console.WriteLine("Contador: " + contador); contador++; }
do-while
Similar al while
, pero la condición se evalúa después de ejecutar el bloque de código al menos una vez.
int valor = 0; do { Console.WriteLine("Valor: " + valor); valor++; } while (valor < 5);
Conclusión
Las estructuras de control son basicas para cualquier programador y conocerlas en programador. Son los peldaños básicos para construir algoritmos. Con estas estructuras de control seguiremos trabajando en posteriores videos y entradas en este blog
¡Gracias!