Skip to content

Commit 2a706e0

Browse files
committed
✨ Add csharp solution challenge-02
1 parent 2ab3295 commit 2a706e0

File tree

2 files changed

+113
-0
lines changed

2 files changed

+113
-0
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
class FuncionesAlcance
2+
{
3+
// Variable global
4+
static int globalVariable = 10;
5+
6+
public static void Execute()
7+
{
8+
// 1. Función sin parámetros ni retorno
9+
PrintHello();
10+
11+
// 2. Función con un parámetro
12+
PrintMessage("Hello, C#!");
13+
14+
// 3. Función con varios parámetros
15+
AddNumbers(5, 10);
16+
17+
// 4. Función con retorno
18+
int result = MultiplyNumbers(3, 4);
19+
Console.WriteLine($"Resultado de la multiplicación: {result}");
20+
21+
// 5. Funciones dentro de funciones (con función local)
22+
OuterFunction();
23+
24+
// 6. Variables locales y globales
25+
int localVariable = 5;
26+
Console.WriteLine($"Variable local: {localVariable}");
27+
Console.WriteLine($"Variable global antes de modificar: {globalVariable}");
28+
ModifyGlobalVariable();
29+
Console.WriteLine($"Variable global después de modificar: {globalVariable}");
30+
31+
// 7. Función con dos cadenas de texto y retorno de un número (Dificultad Extra)
32+
int count = PrintNumbersWithText("Fizz", "Buzz");
33+
Console.WriteLine($"El número de veces que se imprimió un número es: {count}");
34+
}
35+
36+
// Función sin parámetros ni retorno
37+
public static void PrintHello()
38+
{
39+
Console.WriteLine("Hello, World!");
40+
}
41+
42+
// Función con un parámetro
43+
public static void PrintMessage(string message)
44+
{
45+
Console.WriteLine(message);
46+
}
47+
48+
// Función con varios parámetros
49+
public static void AddNumbers(int a, int b)
50+
{
51+
Console.WriteLine($"Suma: {a + b}");
52+
}
53+
54+
// Función con retorno
55+
public static int MultiplyNumbers(int a, int b)
56+
{
57+
return a * b;
58+
}
59+
60+
// Función externa con función interna (local)
61+
public static void OuterFunction()
62+
{
63+
// Función local dentro de una función
64+
static void InnerFunction()
65+
{
66+
Console.WriteLine("Soy una función interna.");
67+
}
68+
69+
Console.WriteLine("Soy la función externa.");
70+
InnerFunction(); // Llamada a la función interna
71+
}
72+
73+
// Modificar la variable global
74+
public static void ModifyGlobalVariable()
75+
{
76+
globalVariable += 10;
77+
}
78+
79+
// Función que recibe dos cadenas de texto y retorna un número (Dificultad Extra)
80+
public static int PrintNumbersWithText(string text1, string text2)
81+
{
82+
int count = 0;
83+
84+
for (int i = 1; i <= 100; i++)
85+
{
86+
if (i % 3 == 0 && i % 5 == 0)
87+
{
88+
// Si es múltiplo de 3 y 5, imprime ambas cadenas concatenadas
89+
Console.WriteLine(text1 + text2);
90+
}
91+
else if (i % 3 == 0)
92+
{
93+
// Si es múltiplo de 3, imprime la primera cadena
94+
Console.WriteLine(text1);
95+
}
96+
else if (i % 5 == 0)
97+
{
98+
// Si es múltiplo de 5, imprime la segunda cadena
99+
Console.WriteLine(text2);
100+
}
101+
else
102+
{
103+
// Imprime el número y aumenta el contador
104+
Console.WriteLine(i);
105+
count++;
106+
}
107+
}
108+
109+
// Retorna la cantidad de veces que se imprimió un número
110+
return count;
111+
}
112+
}

weekly-challenges.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ private class Challenge(string name, Action execute)
1111
private static readonly Dictionary<string, Challenge> challenges2024 = new() {
1212
{ "00", new Challenge("Sintaxis, variables, tipos de datos y ¡Hola, Mundo!", SintaxisVariables.Execute) },
1313
{ "01", new Challenge("Operadores y estructuras de control", OperadoresEstructurasControl.Execute) },
14+
{ "02", new Challenge("Funciones y métodos", FuncionesAlcance.Execute) },
1415
};
1516

1617
private static readonly Dictionary<int, Dictionary<string, Challenge>> challengeActions = new() {

0 commit comments

Comments
 (0)