Skip to content

Commit e5e95ca

Browse files
authored
Merge pull request #8983 from isco-mtz/main
Ejercicio de funciones y alcance
2 parents ac5d2ee + f261df6 commit e5e95ca

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
using System;
2+
3+
internal class Program
4+
{
5+
// Variables globales válidas (dentro de la clase)
6+
static int globalCounter = 0;
7+
static string globalMessage = "Soy una variable global";
8+
9+
static void Main(string[] args)
10+
{
11+
Console.WriteLine("=== 1. Funciones sin parámetros ni retorno ===");
12+
FuncionSinParametros();
13+
14+
Console.WriteLine("\n=== 2. Funciones con parámetros ===");
15+
FuncionConUnParametro("Carlos");
16+
FuncionConDosParametros(10, 20);
17+
18+
Console.WriteLine("\n=== 3. Funciones con retorno ===");
19+
int resultado = Sumar(7, 5);
20+
Console.WriteLine($"Resultado de Sumar(7, 5) = {resultado}");
21+
22+
Console.WriteLine("\n=== 4. Funciones dentro de funciones (¿se puede?) ===");
23+
FuncionesAnidadas();
24+
25+
Console.WriteLine("\n=== 5. Uso de funciones del lenguaje (built-in) ===");
26+
UsoDeFuncionesDelLenguaje();
27+
28+
Console.WriteLine("\n=== 6. Variable LOCAL vs GLOBAL ===");
29+
VariablesLocalYGlobal();
30+
31+
// Ejercicio extra
32+
// Llamamos a la función y recibimos el resultado
33+
Console.WriteLine("\n=== 7. Reto Extra ===");
34+
int vecesNumero = ImprimirNumeros("Fizz", "Buzz");
35+
36+
Console.WriteLine();
37+
Console.WriteLine($"Cantidad de veces que se imprimió un número: {vecesNumero}");
38+
}
39+
40+
// 1. Función sin parámetros ni retorno
41+
static void FuncionSinParametros()
42+
{
43+
Console.WriteLine("Soy una función sin parámetros y sin retorno.");
44+
}
45+
46+
// 2. Funciones con parámetros
47+
static void FuncionConUnParametro(string nombre)
48+
{
49+
Console.WriteLine($"Hola {nombre}, esta función recibe un parámetro.");
50+
}
51+
52+
static void FuncionConDosParametros(int a, int b)
53+
{
54+
Console.WriteLine($"Los parámetros son: {a} y {b}. Su suma es: {a + b}");
55+
}
56+
57+
// 3. Función con retorno
58+
static int Sumar(int x, int y)
59+
{
60+
return x + y;
61+
}
62+
63+
// 4. Funciones locales dentro de otra función
64+
static void FuncionesAnidadas()
65+
{
66+
Console.WriteLine("C# permite funciones locales dentro de un método:");
67+
68+
int FuncionLocal(int n)
69+
{
70+
return n * 2;
71+
}
72+
73+
Console.WriteLine($"FuncionLocal(10) = {FuncionLocal(10)}");
74+
}
75+
76+
// 5. Funciones built-in
77+
static void UsoDeFuncionesDelLenguaje()
78+
{
79+
Console.WriteLine("Ejemplos de funciones built-in:");
80+
Console.WriteLine("hola mundo".ToUpper());
81+
Console.WriteLine(Math.Sqrt(16));
82+
Console.WriteLine(DateTime.Now);
83+
}
84+
85+
// 6. Variable local vs global
86+
static void VariablesLocalYGlobal()
87+
{
88+
int localCounter = 5;
89+
90+
Console.WriteLine($"Variable LOCAL = {localCounter}");
91+
Console.WriteLine($"Variable GLOBAL antes = {globalMessage}");
92+
93+
globalMessage = "La variable global cambió";
94+
95+
Console.WriteLine($"Variable GLOBAL después = {globalMessage}");
96+
}
97+
98+
/// <summary>
99+
/// 7. Recibe dos textos y retorna cuántas veces se imprimieron números reales.
100+
/// </summary>
101+
static int ImprimirNumeros(string texto3, string texto5)
102+
{
103+
int contadorNumeros = 0; // Lleva el conteo de cuántas veces se imprimió un número
104+
105+
// Recorremos los números del 1 al 100
106+
for (int i = 1; i <= 100; i++)
107+
{
108+
bool multiplo3 = (i % 3 == 0); // true si i es múltiplo de 3
109+
bool multiplo5 = (i % 5 == 0); // true si i es múltiplo de 5
110+
111+
if (multiplo3 && multiplo5)
112+
{
113+
// Si es múltiplo de 3 y 5
114+
Console.WriteLine(texto3 + texto5);
115+
}
116+
else if (multiplo3)
117+
{
118+
// Solo múltiplo de 3
119+
Console.WriteLine(texto3);
120+
}
121+
else if (multiplo5)
122+
{
123+
// Solo múltiplo de 5
124+
Console.WriteLine(texto5);
125+
}
126+
else
127+
{
128+
// No es múltiplo ni de 3 ni de 5 ⇒ imprimimos el número
129+
Console.WriteLine(i);
130+
contadorNumeros++; // Contamos esta impresión
131+
}
132+
}
133+
134+
return contadorNumeros;
135+
}
136+
}

0 commit comments

Comments
 (0)