{"id":653,"date":"2023-11-16T08:47:25","date_gmt":"2023-11-16T11:47:25","guid":{"rendered":"https:\/\/stackcodelab.com\/blog\/?p=653"},"modified":"2023-12-03T11:27:02","modified_gmt":"2023-12-03T14:27:02","slug":"fundamentos-de-programacion-y-c","status":"publish","type":"post","link":"https:\/\/stackcodelab.com\/blog\/fundamentos-de-programacion-y-c\/","title":{"rendered":"Fundamentos de Programaci\u00f3n y C#"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">La programaci\u00f3n es el lenguaje de las computadoras, la herramienta que permite a los seres humanos comunicarse con las m\u00e1quinas y darles instrucciones para realizar tareas espec\u00edficas. En la era digital en la que vivimos, la programaci\u00f3n se ha convertido en una habilidad esencial que impulsa la innovaci\u00f3n y la creaci\u00f3n de software que mejora nuestras vidas de muchas maneras.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Importancia de la Programaci\u00f3n:<\/strong><\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Automatizaci\u00f3n:<\/strong> La programaci\u00f3n nos permite automatizar tareas repetitivas y tediosas, lo que ahorra tiempo y reduce errores.<\/li>\n\n\n\n<li><strong>Resoluci\u00f3n de Problemas:<\/strong> La programaci\u00f3n es una herramienta poderosa para abordar problemas complejos, desde el an\u00e1lisis de datos hasta la simulaci\u00f3n de escenarios.<\/li>\n\n\n\n<li><strong>Innovaci\u00f3n:<\/strong> Las aplicaciones y sistemas que usamos todos los d\u00edas, desde redes sociales hasta aplicaciones de productividad, son posibles gracias a la programaci\u00f3n.<\/li>\n\n\n\n<li><strong>Empleabilidad:<\/strong> La demanda de desarrolladores de software sigue siendo alta, lo que hace que la programaci\u00f3n sea una habilidad altamente empleable.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>El Papel de C# en la Programaci\u00f3n:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C# (pronunciado \u00abC Sharp\u00bb) es un lenguaje de programaci\u00f3n vers\u00e1til y potente desarrollado por Microsoft. Ha ganado popularidad en la comunidad de desarrollo de software debido a su facilidad de uso y su capacidad para crear una amplia gama de aplicaciones, desde aplicaciones de escritorio hasta aplicaciones web y juegos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A lo largo de este libro, exploraremos los fundamentos de la programaci\u00f3n y aprenderemos c\u00f3mo utilizar C# para crear soluciones de software efectivas y eficientes. Comenzaremos desde lo m\u00e1s b\u00e1sico y avanzaremos gradualmente hacia temas m\u00e1s avanzados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Presentaci\u00f3n de C# como un Lenguaje Vers\u00e1til y Ampliamente Utilizado<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>\u00bfQu\u00e9 es C#?<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C# (pronunciado \u00abC Sharp\u00bb) es un lenguaje de programaci\u00f3n desarrollado por Microsoft en el a\u00f1o 2000. Desde entonces, se ha convertido en uno de los lenguajes m\u00e1s populares y vers\u00e1tiles en el mundo de la programaci\u00f3n. La raz\u00f3n detr\u00e1s de su \u00e9xito radica en su capacidad para abordar una amplia variedad de aplicaciones y escenarios de desarrollo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Versatilidad de C#:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Desarrollo de Aplicaciones de Escritorio:<\/strong> C# se utiliza ampliamente en el desarrollo de aplicaciones de escritorio para Windows. Con la plataforma Windows Forms, puedes crear interfaces de usuario intuitivas y funcionales.<\/li>\n\n\n\n<li><strong>Aplicaciones Web:<\/strong> C# es una opci\u00f3n s\u00f3lida para el desarrollo de aplicaciones web, especialmente con ASP.NET Core. Esto permite la creaci\u00f3n de sitios web din\u00e1micos y seguros.<\/li>\n\n\n\n<li><strong>Juegos:<\/strong> C# se ha convertido en un lenguaje popular para el desarrollo de videojuegos a trav\u00e9s de la plataforma Unity. Puedes crear juegos 2D y 3D de alta calidad con este lenguaje.<\/li>\n\n\n\n<li><strong>Aplicaciones M\u00f3viles:<\/strong> Con la plataforma Xamarin, puedes utilizar C# para desarrollar aplicaciones m\u00f3viles multiplataforma para iOS y Android.<\/li>\n\n\n\n<li><strong>Aplicaciones Empresariales:<\/strong> C# es una elecci\u00f3n com\u00fan para el desarrollo de aplicaciones empresariales y de bases de datos, lo que permite la automatizaci\u00f3n de procesos y la gesti\u00f3n de datos.<\/li>\n\n\n\n<li><strong>IoT y Embebidos:<\/strong> C# se puede utilizar en el desarrollo de soluciones de Internet de las cosas (IoT) y sistemas embebidos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ventajas de C#:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Legibilidad:<\/strong> C# se destaca por su sintaxis clara y legible, lo que facilita la comprensi\u00f3n del c\u00f3digo.<\/li>\n\n\n\n<li><strong>Seguridad:<\/strong> C# ofrece caracter\u00edsticas de seguridad s\u00f3lidas y es conocido por su capacidad para prevenir vulnerabilidades comunes.<\/li>\n\n\n\n<li><strong>Soporte de Microsoft:<\/strong> Al ser desarrollado por Microsoft, C# cuenta con un amplio soporte y una comunidad activa de desarrolladores.<\/li>\n\n\n\n<li><strong>Herramientas Integradas:<\/strong> Visual Studio, la herramienta de desarrollo de Microsoft, es altamente compatible con C#, lo que facilita el desarrollo y la depuraci\u00f3n.<\/li>\n\n\n\n<li><strong>Lenguaje Moderno:<\/strong> C# se mantiene actualizado con las \u00faltimas tendencias de la industria y es compatible con conceptos de programaci\u00f3n modernos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Estructura de un Programa C#<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de sumergirnos en la escritura de c\u00f3digo en C#, es esencial comprender la estructura general de un programa en este lenguaje. Un programa C# consta de varias partes clave, cada una con un prop\u00f3sito espec\u00edfico. Aqu\u00ed, desglosaremos la estructura b\u00e1sica de un programa C#:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Declaraci\u00f3n de Espacios de Nombre (Namespaces):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los espacios de nombre (namespaces) son contenedores que organizan y agrupan tipos relacionados en C#. Proporcionan un contexto para evitar conflictos de nombres y facilitan la organizaci\u00f3n del c\u00f3digo. Un programa generalmente comienza con declaraciones de espacios de nombre que se ven as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Declaraci\u00f3n de Clase Principal:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada programa C# debe contener al menos una clase. La clase principal, que contiene el m\u00e9todo principal (Main), es el punto de entrada de la aplicaci\u00f3n. La estructura b\u00e1sica de una clase en C# se ve as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Program\r\n{\r\n    static void Main(string&#91;] args)\r\n    {\r\n        \/\/ Aqu\u00ed va el c\u00f3digo principal de la aplicaci\u00f3n\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. M\u00e9todo Principal (Main):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo Main es el punto de inicio de la aplicaci\u00f3n. Es donde se ejecutan las instrucciones cuando el programa se inicia. Recibe un argumento args que es una matriz de cadenas que contiene los argumentos de l\u00ednea de comandos proporcionados al programa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Instrucciones y Bloques de C\u00f3digo:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dentro del m\u00e9todo Main y otras partes del programa, escribir\u00e1s las instrucciones que definen el comportamiento de la aplicaci\u00f3n. Las instrucciones se agrupan en bloques de c\u00f3digo delimitados por llaves {}.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Ejemplo de Programa C# Simple:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes un ejemplo simple de un programa C# que muestra \u00abHola, mundo!\u00bb en la consola:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\n\nclass Program\n{\n    static void Main(string&#91;] args)\n    {\n        \/\/ Instrucci\u00f3n para imprimir en la consola\n        Console.WriteLine(\"Hola, mundo!\");\n\n        \/\/ Esperar a que el usuario presione Enter antes de salir\n        Console.ReadLine();\n    }\n}\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumen:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La estructura b\u00e1sica de un programa C# incluye declaraciones de espacios de nombre, una clase principal que contiene el m\u00e9todo Main, instrucciones y bloques de c\u00f3digo. Comprender esta estructura es fundamental antes de comenzar a programar en C#.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Variables y Tipos de Datos en C#<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En C#, las variables son contenedores que almacenan datos que pueden cambiar durante la ejecuci\u00f3n de un programa. Los tipos de datos definen qu\u00e9 tipo de datos puede contener una variable. Comprender c\u00f3mo funcionan las variables y los tipos de datos es esencial en la programaci\u00f3n en C#. Aqu\u00ed, exploraremos los tipos de datos m\u00e1s comunes en C#:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Enteros (int, long, short):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>int<\/code>: Representa n\u00fameros enteros con signo. Ejemplo: 42, -10, 0.<\/li>\n\n\n\n<li><code>long<\/code>: Para n\u00fameros enteros m\u00e1s grandes. Ejemplo: 1000000000L.<\/li>\n\n\n\n<li><code>short<\/code>: Para n\u00fameros enteros cortos. Ejemplo: 32767.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">int edad = 25;long poblacionMundial = 7700000000L;short temperatura = -5;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. N\u00fameros de Punto Flotante (float, double, decimal):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>float<\/code>: Para n\u00fameros de punto flotante de precisi\u00f3n simple. Ejemplo: 3.14f.<\/li>\n\n\n\n<li><code>double<\/code>: Para n\u00fameros de punto flotante de doble precisi\u00f3n (el m\u00e1s com\u00fan). Ejemplo: 3.14159265359.<\/li>\n\n\n\n<li><code>decimal<\/code>: Para n\u00fameros decimales de alta precisi\u00f3n. Ejemplo: 3.1415926535897932384626433m.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">float precio = 12.99f;double pi = 3.14159265359;decimal salarioMensual = 4500.50m;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Cadenas de Texto (string):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las cadenas de texto almacenan secuencias de caracteres. Son ampliamente utilizadas para manipular texto en aplicaciones. string nombre = \u00abJuan\u00bb;string mensaje = \u00abHola, \u00bfc\u00f3mo est\u00e1s?\u00bb;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Booleanos (bool):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los booleanos representan valores de verdadero (true) o falso (false). Son esenciales para la l\u00f3gica condicional. bool esMayorDeEdad = true;bool tienePermiso = false;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Caracteres (char):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los caracteres almacenan un solo car\u00e1cter Unicode. Se definen entre comillas simples (&#8216; &#8216;). char letra = &#8216;A&#8217;;char simbolo = &#8216;$&#8217;;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6. Otros Tipos de Datos:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C# tambi\u00e9n admite otros tipos de datos, como enumeraciones (<code>enum<\/code>) para definir conjuntos de valores, y tipos personalizados definidos por el usuario. enum DiasDeLaSemana { Lunes, Martes, Mi\u00e9rcoles, Jueves, Viernes, S\u00e1bado, Domingo };&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumen:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las variables y los tipos de datos son fundamentales en C# para almacenar y manipular informaci\u00f3n. Al comprender c\u00f3mo funcionan estos elementos, estar\u00e1s preparado para realizar operaciones m\u00e1s complejas en tus programas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En los siguientes cap\u00edtulos, profundizaremos en la manipulaci\u00f3n de datos y la realizaci\u00f3n de operaciones con variables en C#. \u00a1Sigue adelante en tu aprendizaje de programaci\u00f3n!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Operadores y Expresiones en C#<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En C#, los operadores son s\u00edmbolos que realizan operaciones en uno o m\u00e1s valores, llamados operandos. Las expresiones son combinaciones de operadores y operandos que producen un resultado. Comprender los operadores y c\u00f3mo usar expresiones es esencial en la programaci\u00f3n en C#. Aqu\u00ed, exploraremos algunos de los operadores m\u00e1s comunes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Operadores Aritm\u00e9ticos:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>+<\/code> (Suma): Realiza una suma de dos valores.<\/li>\n\n\n\n<li><code>-<\/code> (Resta): Realiza una resta de dos valores.<\/li>\n\n\n\n<li><code>*<\/code> (Multiplicaci\u00f3n): Realiza una multiplicaci\u00f3n de dos valores.<\/li>\n\n\n\n<li><code>\/<\/code> (Divisi\u00f3n): Realiza una divisi\u00f3n de dos valores.<\/li>\n\n\n\n<li><code>%<\/code> (M\u00f3dulo): Devuelve el resto de la divisi\u00f3n de dos valores.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">int resultado = 10 + 5; <em>\/\/ resultado es 15<\/em>int diferencia = 20 &#8211; 8; <em>\/\/ diferencia es 12<\/em>int producto = 4 * 6; <em>\/\/ producto es 24<\/em>int cociente = 15 \/ 3; <em>\/\/ cociente es 5<\/em>int resto = 10 % 3; <em>\/\/ resto es 1<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Operadores de Asignaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>=<\/code> (Asignaci\u00f3n): Asigna un valor a una variable.<\/li>\n\n\n\n<li><code>+=<\/code>, <code>-=<\/code> (Operadores de asignaci\u00f3n con suma\/resta): Agregan o restan un valor a una variable y actualizan su valor.<\/li>\n\n\n\n<li><code>*=<\/code>, <code>\/=<\/code>, <code>%=<\/code> (Operadores de asignaci\u00f3n con multiplicaci\u00f3n\/divisi\u00f3n\/m\u00f3dulo): Realizan la operaci\u00f3n correspondiente y actualizan el valor de la variable.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">int numero = 5; <em>\/\/ Asignaci\u00f3n<\/em>numero += 3; <em>\/\/ n\u00famero se convierte en 8<\/em>numero -= 2; <em>\/\/ n\u00famero se convierte en 6<\/em>numero *= 4; <em>\/\/ n\u00famero se convierte en 24<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Operadores de Comparaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>==<\/code> (Igual a): Comprueba si dos valores son iguales.<\/li>\n\n\n\n<li><code>!=<\/code> (Diferente de): Comprueba si dos valores son diferentes.<\/li>\n\n\n\n<li><code>&lt;<\/code>, <code>&gt;<\/code> (Menor que, Mayor que): Comprueban si un valor es menor o mayor que otro.<\/li>\n\n\n\n<li><code>&lt;=<\/code>, <code>&gt;=<\/code> (Menor o igual que, Mayor o igual que): Comprueban si un valor es menor o igual o mayor o igual que otro.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">bool esIgual = (5 == 5); <em>\/\/ esIgual es verdadero<\/em>bool esDiferente = (5 != 3); <em>\/\/ esDiferente es verdadero<\/em>bool esMayor = (8 &gt; 4); <em>\/\/ esMayor es verdadero<\/em>bool esMenorOigual = (6 &lt;= 6); <em>\/\/ esMenorOigual es verdadero<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Operadores L\u00f3gicos:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>&amp;&amp;<\/code> (Y l\u00f3gico): Realiza una operaci\u00f3n l\u00f3gica \u00aby\u00bb entre dos condiciones.<\/li>\n\n\n\n<li><code>||<\/code> (O l\u00f3gico): Realiza una operaci\u00f3n l\u00f3gica \u00abo\u00bb entre dos condiciones.<\/li>\n\n\n\n<li><code>!<\/code> (Negaci\u00f3n l\u00f3gica): Niega una condici\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">bool condicion1 = true;bool condicion2 = false;&nbsp;bool resultadoY = (condicion1 &amp;&amp; condicion2); <em>\/\/ resultadoY es falso<\/em>bool resultadoO = (condicion1 || condicion2); <em>\/\/ resultadoO es verdadero<\/em>bool resultadoNegacion = !condicion1; <em>\/\/ resultadoNegacion es falso<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Operadores de Concatenaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>+<\/code> (Concatenaci\u00f3n): Se utiliza para unir cadenas de texto.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">string nombre = \u00abJuan\u00bb;string apellido = \u00abP\u00e9rez\u00bb;string nombreCompleto = nombre + \u00bb \u00bb + apellido; <em>\/\/ nombreCompleto es \u00abJuan P\u00e9rez\u00bb<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumen:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los operadores y expresiones son fundamentales en la programaci\u00f3n en C#. Con ellos, puedes realizar c\u00e1lculos, comparaciones y tomar decisiones en tus programas. Comprender c\u00f3mo utilizarlos correctamente es esencial para escribir c\u00f3digo efectivo y funcional.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Mi Primer Programa en C#:<\/strong><\/a><strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes un ejemplo simple de un programa \u00abHola, Mundo\u00bb en C# y una explicaci\u00f3n paso a paso del c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        \/\/ Paso 1: Declarar una cadena de texto\r\n        string mensaje = \"\u00a1Hola, Mundo!\";\r\n\r\n        \/\/ Paso 2: Mostrar el mensaje en la consola\r\n        Console.WriteLine(mensaje);\r\n\r\n        \/\/ Paso 3: Esperar a que el usuario presione una tecla\r\n        Console.ReadKey();\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n Paso a Paso:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1:<\/strong> Comenzamos declarando una variable llamada <code>mensaje<\/code> de tipo <code>string<\/code> que almacena la cadena de texto \u00ab\u00a1Hola, Mundo!\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2:<\/strong> Usamos <code>Console.WriteLine<\/code> para mostrar el contenido de la variable <code>mensaje<\/code> en la consola. Esto imprimir\u00e1 \u00ab\u00a1Hola, Mundo!\u00bb en la pantalla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3:<\/strong> Usamos <code>Console.ReadKey<\/code> para esperar a que el usuario presione una tecla antes de que el programa se cierre. Esto evita que la ventana de la consola se cierre de inmediato despu\u00e9s de mostrar el mensaje.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Compilaci\u00f3n y Ejecuci\u00f3n:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para compilar y ejecutar este programa, sigue estos pasos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abre un entorno de desarrollo integrado (IDE) como Visual Studio o Visual Studio Code.<\/li>\n\n\n\n<li>Crea un nuevo proyecto de C# o un archivo de c\u00f3digo.<\/li>\n\n\n\n<li>Copia y pega el c\u00f3digo anterior en el archivo de c\u00f3digo.<\/li>\n\n\n\n<li>Compila el programa (generalmente, haciendo clic en un bot\u00f3n \u00abCompilar\u00bb o utilizando un comando en la terminal, como <code>csc Program.cs<\/code>).<\/li>\n\n\n\n<li>Ejecuta el programa (generalmente, haciendo clic en un bot\u00f3n \u00abEjecutar\u00bb o utilizando un comando en la terminal, como <code>.\/Program.exe<\/code> en Windows).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de ejecutar el programa, ver\u00e1s el mensaje \u00ab\u00a1Hola, Mundo!\u00bb en la consola.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este es un ejemplo simple que te permite comenzar con la programaci\u00f3n en C#. A medida que avances en tu aprendizaje, podr\u00e1s trabajar en proyectos m\u00e1s complejos y aplicaciones de C# m\u00e1s sofisticadas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Uso de Estructuras de Control: if, else, while, for<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En C#, las estructuras de control son herramientas esenciales para tomar decisiones y controlar el flujo de ejecuci\u00f3n de un programa. En este cap\u00edtulo, exploraremos las estructuras de control m\u00e1s comunes y c\u00f3mo utilizarlas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Estructura de Control <\/strong><code><strong>if<\/strong><\/code><strong> y <\/strong><code><strong>else<\/strong><\/code><strong>:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La estructura de control <code>if<\/code> permite ejecutar un bloque de c\u00f3digo si se cumple una condici\u00f3n. Si la condici\u00f3n no se cumple, puedes usar <code>else<\/code> para especificar un bloque de c\u00f3digo alternativo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int edad = 20;\r\n\r\nif (edad >= 18)\r\n{\r\n    Console.WriteLine(\"Eres mayor de edad.\");\r\n}\r\nelse\r\n{\r\n    Console.WriteLine(\"Eres menor de edad.\");\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Bucle <\/strong><code><strong>while<\/strong><\/code><strong>:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El bucle <code>while<\/code> ejecuta un bloque de c\u00f3digo repetidamente mientras se cumpla una condici\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int contador = 0;\r\n\r\nwhile (contador &lt; 5)\r\n{\r\n    Console.WriteLine(\"Iteraci\u00f3n \" + contador);\r\n    contador++;\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Bucle <\/strong><code><strong>for<\/strong><\/code><strong>:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El bucle <code>for<\/code> es \u00fatil cuando sabes cu\u00e1ntas veces deseas repetir un bloque de c\u00f3digo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for (int i = 0; i &lt; 5; i++)\r\n{\r\n    Console.WriteLine(\"Iteraci\u00f3n \" + i);\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Estructura de Control <\/strong><code><strong>switch<\/strong><\/code><strong>:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La estructura de control <code>switch<\/code> permite tomar decisiones basadas en el valor de una expresi\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int opcion = 2;\r\n\r\nswitch (opcion)\r\n{\r\n    case 1:\r\n        Console.WriteLine(\"Opci\u00f3n 1 seleccionada.\");\r\n        break;\r\n    case 2:\r\n        Console.WriteLine(\"Opci\u00f3n 2 seleccionada.\");\r\n        break;\r\n    default:\r\n        Console.WriteLine(\"Opci\u00f3n no reconocida.\");\r\n        break;\r\n}\r\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Calculadora Simple<\/strong><\/a><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Console.WriteLine(\"Calculadora Simple\");\r\nConsole.Write(\"Ingrese el primer n\u00famero: \");\r\ndouble numero1 = Convert.ToDouble(Console.ReadLine());\r\nConsole.Write(\"Ingrese el segundo n\u00famero: \");\r\ndouble numero2 = Convert.ToDouble(Console.ReadLine());\r\nConsole.Write(\"Ingrese la operaci\u00f3n (+, -, *, \/): \");\r\nchar operacion = Console.ReadKey().KeyChar;\r\n\r\nif (operacion == '+')\r\n{\r\n    Console.WriteLine($\"Resultado: {numero1 + numero2}\");\r\n}\r\nelse if (operacion == '-')\r\n{\r\n    Console.WriteLine($\"Resultado: {numero1 - numero2}\");\r\n}\r\nelse if (operacion == '*')\r\n{\r\n    Console.WriteLine($\"Resultado: {numero1 * numero2}\");\r\n}\r\nelse if (operacion == '\/')\r\n{\r\n    if (numero2 != 0)\r\n    {\r\n        Console.WriteLine($\"Resultado: {numero1 \/ numero2}\");\r\n    }\r\n    else\r\n    {\r\n        Console.WriteLine(\"Error: Divisi\u00f3n por cero.\");\r\n    }\r\n}\r\nelse\r\n{\r\n    Console.WriteLine(\"Operaci\u00f3n no v\u00e1lida.\");\r\n}\r\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Contador de N\u00fameros Pares<\/strong><\/a><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Console.WriteLine(\"Contador de N\u00fameros Pares\");\r\nConsole.Write(\"Ingrese un n\u00famero m\u00e1ximo: \");\r\nint maximo = Convert.ToInt32(Console.ReadLine());\r\n\r\nint contadorPares = 0;\r\n\r\nfor (int i = 1; i &lt;= maximo; i++)\r\n{\r\n    if (i % 2 == 0)\r\n    {\r\n        contadorPares++;\r\n    }\r\n}\r\n\r\nConsole.WriteLine($\"Hay {contadorPares} n\u00fameros pares entre 1 y {maximo}.\");<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Aplicaci\u00f3n de Estructuras de Control para Gestionar la Entrada del Usuario<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En este ejemplo, crearemos una aplicaci\u00f3n simple que le pedir\u00e1 al usuario su nombre y edad, y luego determinar\u00e1 si el usuario es elegible para votar seg\u00fan la edad ingresada.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        Console.WriteLine(\"Verificaci\u00f3n de Elegibilidad para Votar\");\r\n        Console.Write(\"Ingrese su nombre: \");\r\n        string nombre = Console.ReadLine();\r\n\r\n        Console.Write(\"Ingrese su edad: \");\r\n        int edad = Convert.ToInt32(Console.ReadLine());\r\n\r\n        if (edad >= 18)\r\n        {\r\n            Console.WriteLine($\"Hola, {nombre}.\");\r\n            Console.WriteLine(\"\u00a1Eres elegible para votar en las elecciones!\");\r\n        }\r\n        else\r\n        {\r\n            Console.WriteLine($\"Hola, {nombre}.\");\r\n            Console.WriteLine(\"Lo siento, no eres elegible para votar a\u00fan.\");\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Solicitamos al usuario que ingrese su nombre utilizando <code>Console.ReadLine()<\/code> y lo almacenamos en la variable <code>nombre<\/code>.<\/li>\n\n\n\n<li>Solicitamos al usuario que ingrese su edad utilizando <code>Console.ReadLine()<\/code>, convertimos la entrada a un entero con <code>Convert.ToInt32()<\/code>, y almacenamos el valor en la variable <code>edad<\/code>.<\/li>\n\n\n\n<li>Utilizamos una estructura de control <code>if<\/code> para verificar si la edad es mayor o igual a 18, lo que significa que el usuario es elegible para votar. Dependiendo del resultado de esta condici\u00f3n, mostramos un mensaje apropiado.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejecuci\u00f3n:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al ejecutar este programa, se le pedir\u00e1 al usuario que ingrese su nombre y edad. Luego, el programa determinar\u00e1 si el usuario es elegible para votar y mostrar\u00e1 un mensaje en consecuencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejemplo ilustra c\u00f3mo utilizar las estructuras de control <code>if<\/code> y <code>else<\/code> para tomar decisiones basadas en la entrada del usuario, lo que es una parte esencial de la programaci\u00f3n en C#.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Definici\u00f3n y Uso de Funciones y M\u00e9todos<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En C#, las funciones y m\u00e9todos son bloques de c\u00f3digo reutilizables que realizan tareas espec\u00edficas. Puedes pensar en ellos como mini-programas dentro de tu programa principal. Este cap\u00edtulo se enfocar\u00e1 en c\u00f3mo definir, utilizar y gestionar funciones y m\u00e9todos en C#.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Definici\u00f3n de Funciones y M\u00e9todos:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una funci\u00f3n o m\u00e9todo es una colecci\u00f3n de instrucciones que se agrupan y se nombran para realizar una tarea espec\u00edfica. Pueden aceptar par\u00e1metros y devolver valores. Por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int Sumar(int a, int b)\r\n{\r\n    return a + b;\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Uso de Funciones y M\u00e9todos:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que has definido una funci\u00f3n o m\u00e9todo, puedes usarlo en tu programa principal o en otras funciones. Por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int resultado = Sumar(5, 3);\r\nConsole.WriteLine(\"El resultado de la suma es: \" + resultado);\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Paso de Par\u00e1metros a Funciones:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los par\u00e1metros son valores que se pasan a una funci\u00f3n o m\u00e9todo para que los utilice en su operaci\u00f3n. Puedes pasar par\u00e1metros por valor o por referencia.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>void Saludar(string nombre)\r\n{\r\n    Console.WriteLine(\"\u00a1Hola, \" + nombre + \"!\");\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Retorno de Valores desde Funciones:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las funciones pueden devolver valores utilizando la palabra clave <code>return<\/code>. Por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int Sumar(int a, int b)\r\n{\r\n    return a + b;\r\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Calculadora de Suma y Resta<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, te presento un ejemplo pr\u00e1ctico que utiliza funciones para realizar operaciones de suma y resta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nclass Program\r\n{\r\n    static int Sumar(int a, int b)\r\n    {\r\n        return a + b;\r\n    }\r\n\r\n    static int Restar(int a, int b)\r\n    {\r\n        return a - b;\r\n    }\r\n\r\n    static void Main()\r\n    {\r\n        Console.WriteLine(\"Calculadora Simple\");\r\n        Console.Write(\"Ingrese el primer n\u00famero: \");\r\n        int numero1 = Convert.ToInt32(Console.ReadLine());\r\n\r\n        Console.Write(\"Ingrese el segundo n\u00famero: \");\r\n        int numero2 = Convert.ToInt32(Console.ReadLine());\r\n        Console.WriteLine($\"Suma: {Sumar(numero1, numero2)}\");\r\n        Console.WriteLine($\"Resta: {Restar(numero1, numero2)}\");\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos definido dos funciones, <code>Sumar<\/code> y <code>Restar<\/code>, que aceptan dos enteros como par\u00e1metros y devuelven el resultado de la operaci\u00f3n.<\/li>\n\n\n\n<li>En el m\u00e9todo <code>Main<\/code>, solicitamos al usuario dos n\u00fameros y luego utilizamos las funciones <code>Sumar<\/code> y <code>Restar<\/code> para calcular e imprimir los resultados.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejemplo ilustra c\u00f3mo definir, utilizar y gestionar funciones y m\u00e9todos en C#, lo que te permite organizar y reutilizar tu c\u00f3digo de manera eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Funciones en Acci\u00f3n &#8211; C\u00e1lculos B\u00e1sicos<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En este ejemplo, crearemos funciones que realicen c\u00e1lculos matem\u00e1ticos b\u00e1sicos, como suma, resta, multiplicaci\u00f3n y divisi\u00f3n. Luego, invocaremos estas funciones para obtener resultados.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nclass Program\r\n{\r\n    static int Sumar(int a, int b)\r\n    {\r\n        return a + b;\r\n    }\r\n    static int Restar(int a, int b)\r\n    {\r\n        return a - b;\r\n    }\r\n\r\n    static int Multiplicar(int a, int b)\r\n    {\r\n        return a * b;\r\n    }\r\n\r\n    static double Dividir(double a, double b)\r\n    {\r\n        if (b != 0)\r\n        {\r\n            return a \/ b;\r\n        }\r\n        else\r\n        {\r\n            Console.WriteLine(\"Error: Divisi\u00f3n por cero.\");\r\n            return double.NaN; \/\/ Valor \"No es un N\u00famero\" en caso de divisi\u00f3n por cero.\r\n        }\r\n    }\r\n\r\n    static void Main()\r\n    {\r\n        Console.WriteLine(\"Calculadora B\u00e1sica\");\r\n\r\n        Console.Write(\"Ingrese el primer n\u00famero (entero): \");\r\n        int num1 = Convert.ToInt32(Console.ReadLine());\r\n        Console.Write(\"Ingrese el segundo n\u00famero (entero): \");\r\n        int num2 = Convert.ToInt32(Console.ReadLine());\r\n\r\n        Console.WriteLine($\"Suma: {Sumar(num1, num2)}\");\r\n        Console.WriteLine($\"Resta: {Restar(num1, num2)}\");\r\n        Console.WriteLine($\"Multiplicaci\u00f3n: {Multiplicar(num1, num2)}\");\r\n\r\n        Console.Write(\"Ingrese el primer n\u00famero (decimal): \");\r\n        double num3 = Convert.ToDouble(Console.ReadLine());\r\n\r\n        Console.Write(\"Ingrese el segundo n\u00famero (decimal): \");\r\n        double num4 = Convert.ToDouble(Console.ReadLine());\r\n\r\n        double resultadoDivision = Dividir(num3, num4);\r\n\r\n        if (!double.IsNaN(resultadoDivision))\r\n        {\r\n            Console.WriteLine($\"Divisi\u00f3n: {resultadoDivision}\");\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos definido cuatro funciones (<code>Sumar<\/code>, <code>Restar<\/code>, <code>Multiplicar<\/code> y <code>Dividir<\/code>) que aceptan n\u00fameros como par\u00e1metros y realizan las operaciones matem\u00e1ticas correspondientes.<\/li>\n\n\n\n<li>En el m\u00e9todo <code>Main<\/code>, solicitamos al usuario n\u00fameros enteros y decimales, y luego utilizamos las funciones para calcular e imprimir los resultados.<\/li>\n\n\n\n<li>Hemos incluido una verificaci\u00f3n para evitar la divisi\u00f3n por cero y manejarla de manera adecuada.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejecuci\u00f3n:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al ejecutar este programa, podr\u00e1s ingresar dos n\u00fameros enteros y dos n\u00fameros decimales, y obtendr\u00e1s los resultados de las operaciones de suma, resta, multiplicaci\u00f3n y divisi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejemplo demuestra c\u00f3mo crear funciones para realizar c\u00e1lculos matem\u00e1ticos b\u00e1sicos y c\u00f3mo invocar estas funciones para obtener resultados \u00fatiles en una calculadora b\u00e1sica.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Introducci\u00f3n a la Gesti\u00f3n de Colecciones en C#<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En C#, las colecciones son estructuras de datos que te permiten almacenar y manipular conjuntos de elementos. Este cap\u00edtulo se enfoca en c\u00f3mo trabajar con colecciones en C#, incluyendo listas, arrays y ejemplos de su uso en aplicaciones pr\u00e1cticas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Listas y Arrays en C#:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Listas:<\/strong> Una lista es una colecci\u00f3n din\u00e1mica que puede crecer o reducirse seg\u00fan sea necesario. Puedes agregar, eliminar y acceder a elementos de una lista de manera eficiente.<\/li>\n\n\n\n<li><strong>Arrays:<\/strong> Un array es una colecci\u00f3n est\u00e1tica con un tama\u00f1o fijo. Los arrays son m\u00e1s eficientes en t\u00e9rminos de memoria, pero no pueden cambiar de tama\u00f1o despu\u00e9s de ser creados.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Uso de Listas en Aplicaciones Pr\u00e1cticas:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las listas son ampliamente utilizadas en aplicaciones C# para gestionar conjuntos de datos. Algunos ejemplos de c\u00f3mo trabajar con listas incluyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Almacenar y gestionar una lista de contactos en una aplicaci\u00f3n de agenda.<\/li>\n\n\n\n<li>Registrar elementos en un carrito de compras en l\u00ednea.<\/li>\n\n\n\n<li>Administrar una lista de tareas pendientes en una aplicaci\u00f3n de gesti\u00f3n de tareas.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Gesti\u00f3n de una Lista de Tareas<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, se muestra un ejemplo pr\u00e1ctico que utiliza una lista para administrar una lista de tareas pendientes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\nusing System.Collections.Generic;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        List&lt;string> tareasPendientes = new List&lt;string>();\r\n\r\n        while (true)\r\n        {\r\n            Console.WriteLine(\"Lista de Tareas Pendientes:\");\r\n            for (int i = 0; i &lt; tareasPendientes.Count; i++)\r\n            {\r\n                Console.WriteLine($\"{i + 1}. {tareasPendientes&#91;i]}\");\r\n            }\r\n\r\n            Console.WriteLine(\"\\nOpciones:\");\r\n            Console.WriteLine(\"1. Agregar Tarea\");\r\n            Console.WriteLine(\"2. Completar Tarea\");\r\n            Console.WriteLine(\"3. Salir\");\r\n\r\n            int opcion = Convert.ToInt32(Console.ReadLine());\r\n\r\n            if (opcion == 1)\r\n            {\r\n                Console.Write(\"Ingrese la nueva tarea: \");\r\n                string nuevaTarea = Console.ReadLine();\r\n                tareasPendientes.Add(nuevaTarea);\r\n                Console.WriteLine(\"Tarea agregada con \u00e9xito.\");\r\n            }\r\n            else if (opcion == 2)\r\n            {\r\n                Console.Write(\"Ingrese el n\u00famero de la tarea completada: \");\r\n                int indice = Convert.ToInt32(Console.ReadLine()) - 1;\r\n\r\n                if (indice >= 0 &amp;&amp; indice &lt; tareasPendientes.Count)\r\n                {\r\n                    tareasPendientes.RemoveAt(indice);\r\n                    Console.WriteLine(\"Tarea completada y eliminada de la lista.\");\r\n                }\r\n                else\r\n                {\r\n                    Console.WriteLine(\"N\u00famero de tarea inv\u00e1lido.\");\r\n                }\r\n            }\r\n            else if (opcion == 3)\r\n            {\r\n                break;\r\n            }\r\n            else\r\n            {\r\n                Console.WriteLine(\"Opci\u00f3n inv\u00e1lida. Por favor, elija una opci\u00f3n v\u00e1lida.\");\r\n            }\r\n        }\r\n\r\n        Console.WriteLine(\"\u00a1Hasta luego!\");\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado una lista (<code>List&lt;string&gt; tareasPendientes<\/code>) para almacenar las tareas pendientes.<\/li>\n\n\n\n<li>El programa permite al usuario agregar nuevas tareas, completar tareas y salir del programa.<\/li>\n\n\n\n<li>Utilizamos un bucle <code>while<\/code> para mantener el programa en funcionamiento hasta que el usuario decida salir.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Gesti\u00f3n de Tareas &#8211; Uso de Listas en C#<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En este ejemplo, crearemos una aplicaci\u00f3n de gesti\u00f3n de tareas utilizando listas en C#. La aplicaci\u00f3n permitir\u00e1 al usuario agregar tareas, listarlas y eliminarlas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\nusing System.Collections.Generic;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        List&lt;string> tareas = new List&lt;string>();\r\n\r\n        while (true)\r\n        {\r\n            Console.WriteLine(\"\\n--- Aplicaci\u00f3n de Gesti\u00f3n de Tareas ---\");\r\n            Console.WriteLine(\"Opciones:\");\r\n            Console.WriteLine(\"1. Agregar Tarea\");\r\n            Console.WriteLine(\"2. Listar Tareas\");\r\n            Console.WriteLine(\"3. Eliminar Tarea\");\r\n            Console.WriteLine(\"4. Salir\");\r\n\r\n            int opcion = Convert.ToInt32(Console.ReadLine());\r\n\r\n            switch (opcion)\r\n            {\r\n                case 1:\r\n                    Console.Write(\"Ingrese la nueva tarea: \");\r\n                    string nuevaTarea = Console.ReadLine();\r\n                    tareas.Add(nuevaTarea);\r\n                    Console.WriteLine(\"Tarea agregada con \u00e9xito.\");\r\n                    break;\r\n\r\n                case 2:\r\n                    if (tareas.Count > 0)\r\n                    {\r\n                        Console.WriteLine(\"\\nLista de Tareas:\");\r\n                        for (int i = 0; i &lt; tareas.Count; i++)\r\n                        {\r\n                            Console.WriteLine($\"{i + 1}. {tareas&#91;i]}\");\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        Console.WriteLine(\"No hay tareas en la lista.\");\r\n                    }\r\n                    break;\r\n\r\n                case 3:\r\n                    if (tareas.Count > 0)\r\n                    {\r\n                        Console.Write(\"Ingrese el n\u00famero de la tarea que desea eliminar: \");\r\n                        int indiceEliminar = Convert.ToInt32(Console.ReadLine());\r\n\r\n                        if (indiceEliminar >= 1 &amp;&amp; indiceEliminar &lt;= tareas.Count)\r\n                        {\r\n                            string tareaEliminada = tareas&#91;indiceEliminar - 1];\r\n                            tareas.RemoveAt(indiceEliminar - 1);\r\n                            Console.WriteLine($\"Tarea '{tareaEliminada}' eliminada con \u00e9xito.\");\r\n                        }\r\n                        else\r\n                        {\r\n                            Console.WriteLine(\"N\u00famero de tarea inv\u00e1lido.\");\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        Console.WriteLine(\"No hay tareas en la lista.\");\r\n                    }\r\n                    break;\r\n\r\n                case 4:\r\n                    Console.WriteLine(\"\u00a1Hasta luego!\");\r\n                    return;\r\n                default:\r\n                    Console.WriteLine(\"Opci\u00f3n inv\u00e1lida. Por favor, elija una opci\u00f3n v\u00e1lida.\");\r\n                    break;\r\n            }\r\n        }\r\n    }\r\n}\r\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hemos utilizado una lista (<code>List&lt;string&gt; tareas<\/code>) para almacenar las tareas.<\/li>\n\n\n\n<li>El programa permite al usuario agregar tareas, listarlas y eliminarlas.<\/li>\n\n\n\n<li>Utilizamos un bucle <code>while<\/code> para mantener el programa en funcionamiento hasta que el usuario decida salir.<\/li>\n\n\n\n<li>Se utiliza un <code>switch<\/code> para manejar las diferentes opciones del men\u00fa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejemplo muestra c\u00f3mo crear una aplicaci\u00f3n simple de gesti\u00f3n de tareas utilizando listas en C#. El usuario puede interactuar con la lista de tareas agregando, listando y eliminando tareas seg\u00fan sea necesario. Las listas son una forma efectiva de manejar conjuntos de datos din\u00e1micos en aplicaciones C#.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumen:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo, hemos explorado los fundamentos de la programaci\u00f3n y C#, proporcionando una base s\u00f3lida para su viaje en el desarrollo de software con este lenguaje. Aqu\u00ed hay una recapitulaci\u00f3n de los conceptos clave aprendidos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Introducci\u00f3n a la Programaci\u00f3n: <\/strong>Comenzamos con una breve introducci\u00f3n a la programaci\u00f3n y su importancia en el mundo moderno.<\/li>\n\n\n\n<li><strong>C# como Lenguaje Vers\u00e1til: <\/strong>Presentamos C# como un lenguaje de programaci\u00f3n vers\u00e1til y ampliamente utilizado en el desarrollo de software.<\/li>\n\n\n\n<li><strong>Estructura de un Programa C#: <\/strong>Exploramos la estructura b\u00e1sica de un programa C#, incluyendo la declaraci\u00f3n de clases y m\u00e9todos.<\/li>\n\n\n\n<li><strong>Variables y Tipos de Datos: <\/strong>Aprendimos sobre variables y tipos de datos en C#, incluyendo enteros, cadenas, booleanos y m\u00e1s.<\/li>\n\n\n\n<li><strong>Operadores y Expresiones: <\/strong>Exploramos operadores aritm\u00e9ticos, de comparaci\u00f3n y l\u00f3gicos, as\u00ed como c\u00f3mo usarlos en expresiones.<\/li>\n\n\n\n<li><strong>Mi Primer Programa en C#: <\/strong>Creamos un ejemplo de \u00abHola, Mundo\u00bb en C#, lo compilamos y ejecutamos paso a paso.<\/li>\n\n\n\n<li><strong>Estructuras de Control: <\/strong>Introdujimos estructuras de control como <code>if<\/code>, <code>else<\/code>, <code>while<\/code> y <code>for<\/code>, y c\u00f3mo se utilizan para controlar el flujo del programa.<\/li>\n\n\n\n<li><strong>Ejemplo de Aplicaci\u00f3n de Estructuras de Control: <\/strong>Demostramos c\u00f3mo usar estructuras de control para gestionar la entrada del usuario en una aplicaci\u00f3n pr\u00e1ctica.<\/li>\n\n\n\n<li><strong>Funciones y M\u00e9todos en C#: <\/strong>Definimos funciones y m\u00e9todos, explicamos c\u00f3mo se pasan par\u00e1metros y c\u00f3mo se devuelven valores desde funciones.<\/li>\n\n\n\n<li><strong>Ejemplo: Funciones en Acci\u00f3n: C\u00e1lculos B\u00e1sicos: <\/strong>Creamos funciones para realizar c\u00e1lculos matem\u00e1ticos b\u00e1sicos y mostramos c\u00f3mo invocarlas.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Importancia de los Fundamentos:<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Estos fundamentos son esenciales para cualquier desarrollador de software en C#. Proporcionan las bases necesarias para comprender conceptos m\u00e1s avanzados y desarrollar aplicaciones m\u00e1s complejas. La comprensi\u00f3n de variables, tipos de datos, estructuras de control y funciones es crucial antes de adentrarse en temas m\u00e1s avanzados. As\u00ed que, \u00a1sigue construyendo sobre estos fundamentos s\u00f3lidos para convertirte en un experto en C#!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejercicio Pr\u00e1ctico: C\u00e1lculo del \u00c1rea de un Tri\u00e1ngulo en C#<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, te presento un ejemplo de un programa en C# que calcula el \u00e1rea de un tri\u00e1ngulo dado su base y altura. Puedes utilizar este c\u00f3digo como gu\u00eda y pr\u00e1ctica para comprender mejor los conceptos aprendidos en este cap\u00edtulo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        Console.WriteLine(\"Calculadora de \u00c1rea de Tri\u00e1ngulo\");\r\n        Console.WriteLine(\"---------------------------------\");\r\n\r\n        \/\/ Solicitar la base del tri\u00e1ngulo al usuario\r\n        Console.Write(\"Ingrese la longitud de la base (en unidades): \");\r\n        double baseTriangulo = Convert.ToDouble(Console.ReadLine());\r\n\r\n        \/\/ Solicitar la altura del tri\u00e1ngulo al usuario\r\n        Console.Write(\"Ingrese la altura (en unidades): \");\r\n        double alturaTriangulo = Convert.ToDouble(Console.ReadLine());\r\n\r\n        \/\/ Calcular el \u00e1rea del tri\u00e1ngulo (\u00c1rea = (Base * Altura) \/ 2)\r\n        double areaTriangulo = (baseTriangulo * alturaTriangulo) \/ 2;\r\n\r\n        \/\/ Mostrar el resultado\r\n        Console.WriteLine($\"El \u00e1rea del tri\u00e1ngulo es: {areaTriangulo} unidades cuadradas\");\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explicaci\u00f3n:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>El programa comienza solicitando al usuario la longitud de la base y la altura del tri\u00e1ngulo.<\/li>\n\n\n\n<li>Luego, calcula el \u00e1rea del tri\u00e1ngulo utilizando la f\u00f3rmula del \u00e1rea: \u00c1rea = (Base * Altura) \/ 2.<\/li>\n\n\n\n<li>Finalmente, muestra el resultado del c\u00e1lculo del \u00e1rea en la pantalla.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejercicio te ayudar\u00e1 a aplicar los conceptos de variables, entrada de usuario, c\u00e1lculos y salida de datos en C#. \u00a1Divi\u00e9rtete practicando!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La programaci\u00f3n es el lenguaje de las computadoras, la herramienta que permite a los seres humanos comunicarse con las m\u00e1quinas y darles instrucciones para realizar tareas espec\u00edficas. En la era digital en la que vivimos, la programaci\u00f3n se ha convertido en una habilidad esencial que impulsa la innovaci\u00f3n y la creaci\u00f3n de software que mejora [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2105,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[34],"tags":[],"class_list":["post-653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-y-otras-hierbas"],"uagb_featured_image_src":{"full":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C.jpg",1000,666,false],"thumbnail":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C-150x150.jpg",150,150,true],"medium":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C-300x200.jpg",300,200,true],"medium_large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C-768x511.jpg",768,511,true],"large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C.jpg",1000,666,false],"1536x1536":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C.jpg",1000,666,false],"2048x2048":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Fundamentos-de-Programacion-y-C.jpg",1000,666,false]},"uagb_author_info":{"display_name":"arquitecto","author_link":"https:\/\/stackcodelab.com\/blog\/author\/arquitecto\/"},"uagb_comment_info":0,"uagb_excerpt":"La programaci\u00f3n es el lenguaje de las computadoras, la herramienta que permite a los seres humanos comunicarse con las m\u00e1quinas y darles instrucciones para realizar tareas espec\u00edficas. En la era digital en la que vivimos, la programaci\u00f3n se ha convertido en una habilidad esencial que impulsa la innovaci\u00f3n y la creaci\u00f3n de software que mejora&hellip;","_links":{"self":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/comments?post=653"}],"version-history":[{"count":2,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/653\/revisions"}],"predecessor-version":[{"id":2106,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/653\/revisions\/2106"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media\/2105"}],"wp:attachment":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media?parent=653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/categories?post=653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/tags?post=653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}