Skip to content

Commit

Permalink
Merge pull request #105 from marcode24/2024-02-cs
Browse files Browse the repository at this point in the history
🔧 Add Visual Studio solution file
  • Loading branch information
marcode24 authored Sep 24, 2024
2 parents 00deed6 + 1ef84d1 commit 5e6e828
Show file tree
Hide file tree
Showing 4 changed files with 139 additions and 1 deletion.
112 changes: 112 additions & 0 deletions 2024/02-funciones-y-alcance/solution.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
class FuncionesAlcance
{
// Variable global
static int globalVariable = 10;

public static void Execute()
{
// 1. Función sin parámetros ni retorno
PrintHello();

// 2. Función con un parámetro
PrintMessage("Hello, C#!");

// 3. Función con varios parámetros
AddNumbers(5, 10);

// 4. Función con retorno
int result = MultiplyNumbers(3, 4);
Console.WriteLine($"Resultado de la multiplicación: {result}");

// 5. Funciones dentro de funciones (con función local)
OuterFunction();

// 6. Variables locales y globales
int localVariable = 5;
Console.WriteLine($"Variable local: {localVariable}");
Console.WriteLine($"Variable global antes de modificar: {globalVariable}");
ModifyGlobalVariable();
Console.WriteLine($"Variable global después de modificar: {globalVariable}");

// 7. Función con dos cadenas de texto y retorno de un número (Dificultad Extra)
int count = PrintNumbersWithText("Fizz", "Buzz");
Console.WriteLine($"El número de veces que se imprimió un número es: {count}");
}

// Función sin parámetros ni retorno
public static void PrintHello()
{
Console.WriteLine("Hello, World!");
}

// Función con un parámetro
public static void PrintMessage(string message)
{
Console.WriteLine(message);
}

// Función con varios parámetros
public static void AddNumbers(int a, int b)
{
Console.WriteLine($"Suma: {a + b}");
}

// Función con retorno
public static int MultiplyNumbers(int a, int b)
{
return a * b;
}

// Función externa con función interna (local)
public static void OuterFunction()
{
// Función local dentro de una función
static void InnerFunction()
{
Console.WriteLine("Soy una función interna.");
}

Console.WriteLine("Soy la función externa.");
InnerFunction(); // Llamada a la función interna
}

// Modificar la variable global
public static void ModifyGlobalVariable()
{
globalVariable += 10;
}

// Función que recibe dos cadenas de texto y retorna un número (Dificultad Extra)
public static int PrintNumbersWithText(string text1, string text2)
{
int count = 0;

for (int i = 1; i <= 100; i++)
{
if (i % 3 == 0 && i % 5 == 0)
{
// Si es múltiplo de 3 y 5, imprime ambas cadenas concatenadas
Console.WriteLine(text1 + text2);
}
else if (i % 3 == 0)
{
// Si es múltiplo de 3, imprime la primera cadena
Console.WriteLine(text1);
}
else if (i % 5 == 0)
{
// Si es múltiplo de 5, imprime la segunda cadena
Console.WriteLine(text2);
}
else
{
// Imprime el número y aumenta el contador
Console.WriteLine(i);
count++;
}
}

// Retorna la cantidad de veces que se imprimió un número
return count;
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ dotnet run 2024 00
| :-: | ------------------------------------------------------------------------------------------- | :--------: | --------------------------------------------------------------------------------------------------------------------- |
| 00 | [Sintaxis, Variables, Tipos de datos y Hola Mundo](https://retosdeprogramacion.com/roadmap/)| 🟢 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/00-sintaxis-variables-tipos-de-datos-y-hola-mundo/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/00-sintaxis-variables-tipos-de-datos-y-hola-mundo/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/00-sintaxis-variables-tipos-de-datos-y-hola-mundo/solution.php) <br /> [![C#](https://img.shields.io/badge/C%23-239120?style=flat&logo=c-sharp&logoColor=white)](./2024/00-sintaxis-variables-tipos-de-datos-y-hola-mundo/solution.cs) |
| 01 | [Operadores y Estructuras de Control](https://retosdeprogramacion.com/roadmap/) | 🟢 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/01-operadores-y-estructuras-de-control/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/01-operadores-y-estructuras-de-control/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/01-operadores-y-estructuras-de-control/solution.php) <br /> [![C#](https://img.shields.io/badge/C%23-239120?style=flat&logo=c-sharp&logoColor=white)](./2024/01-operadores-y-estructuras-de-control/solution.cs) |
| 02 | [Funciones y alcance](https://retosdeprogramacion.com/roadmap/) | 🟢 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/02-funciones-y-alcance/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/02-funciones-y-alcance/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/02-funciones-y-alcance/solution.php) |
| 02 | [Funciones y alcance](https://retosdeprogramacion.com/roadmap/) | 🟢 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/02-funciones-y-alcance/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/02-funciones-y-alcance/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/02-funciones-y-alcance/solution.php) <br /> [![C#](https://img.shields.io/badge/C%23-239120?style=flat&logo=c-sharp&logoColor=white)](./2024/02-funciones-y-alcance/solution.cs) |
| 03 | [Estructuras de Datos](https://retosdeprogramacion.com/roadmap/) | 🟡 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/03-estructuras-de-datos/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/03-estructuras-de-datos/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/03-estructuras-de-datos/solution.php) |
| 04 | [Cadena de Caracteres](https://retosdeprogramacion.com/roadmap/) | 🟡 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/04-cadenas-de-caracteres/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/04-cadenas-de-caracteres/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/04-cadenas-de-caracteres/solution.php) |
| 05 | [Valor y Referencia](https://retosdeprogramacion.com/roadmap/) | 🟢 | [![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat&logo=javascript&logoColor=black)](./2024/05-valor-y-referencia/index.js) <br /> [![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](./2024/05-valor-y-referencia/solution.ts) <br /> [![PHP](https://img.shields.io/badge/PHP-777BB4?style=flat&logo=php&logoColor=white)](./2024/05-valor-y-referencia/solution.php) |
Expand Down
1 change: 1 addition & 0 deletions weekly-challenges.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ private class Challenge(string name, Action execute)
private static readonly Dictionary<string, Challenge> challenges2024 = new() {
{ "00", new Challenge("Sintaxis, variables, tipos de datos y ¡Hola, Mundo!", SintaxisVariables.Execute) },
{ "01", new Challenge("Operadores y estructuras de control", OperadoresEstructurasControl.Execute) },
{ "02", new Challenge("Funciones y métodos", FuncionesAlcance.Execute) },
};

private static readonly Dictionary<int, Dictionary<string, Challenge>> challengeActions = new() {
Expand Down
25 changes: 25 additions & 0 deletions weekly-challenges.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.002.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "weekly-challenges", "weekly-challenges.csproj", "{9AC8FB7D-179A-4836-81E5-618E5173EB35}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9AC8FB7D-179A-4836-81E5-618E5173EB35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AC8FB7D-179A-4836-81E5-618E5173EB35}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AC8FB7D-179A-4836-81E5-618E5173EB35}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AC8FB7D-179A-4836-81E5-618E5173EB35}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AD2B30D3-5AA5-4748-A39E-CCFC40A3CD2C}
EndGlobalSection
EndGlobal

0 comments on commit 5e6e828

Please sign in to comment.