David Gimenez Agustin
David Gimenez Agustin
Parte Teórica:
1. El length devuelve la longitud de una cadena de texto mientras que el substring extrae
una sub cadena de una cadena de texto. BIEN
2. El operador lógico && (AND) en C# se utiliza para combinar dos o más condiciones en
una estructura de control condicional, como un if. Este operador devuelve true si todas
las condiciones son verdaderas y false en caso contrario. BIEN
En C#, una iteración se puede implementar usando un bucle for. Un bucle for tiene tres
componentes: la inicialización, la condición y la iteración. BIEN
Console.WriteLine(i);
ejemplo:
if (numero > 0)
else
switch: se utiliza cuando hay una variable que puede igualar a una serie de valores y
quieres realizar diferentes acciones dependiendo de este valor.
ejemplo:
switch (grado)
case 'A':
Console.WriteLine("Excelente!");
break;
case 'B':
Console.WriteLine("Buen trabajo!");
break;
case 'C':
Console.WriteLine("Bien hecho");
break;
default:
Console.WriteLine("Inválido");
break;
}
5. Los bucles for, while y do while son estructuras de control que repiten un bloque de
código varias veces, pero se utilizan en diferentes escenarios. BIEN
for: Se utiliza cuando sabes el número exacto de veces que queres que se ejecute el
bucle. En un bucle for, inicializas una variable, estableces la condición de terminación y
defines cómo cambiar la variable en cada iteración
ejemplo:
Console.WriteLine(i);
while: Se utiliza cuando queres que el bucle se ejecute mientras se cumpla una
condición, pero no sabes cuántas veces se ejecutará el bucle
ejemplo:
int i = 0;
Console.WriteLine(i);
i++;
do while: casi igual al bucle while, pero se ejecuta al menos una vez porque la
condición se verifica después de la primera iteración
ejemplo:
int i = 0;
do
Console.WriteLine(i);
i++;
if (cadena.Length == 0)
else
7. El operador lógico || (OR) se usa para combinar dos o más condiciones en una
estructura de control condicional, como un if. Este operador devuelve true si
cualquiera de las condiciones es verdadera y false en caso contrario.BIEN
Ejemplo:
9. Un bucle infinito es un bucle que nunca termina porque su condición de salida nunca
se cumple. Esto puede pasar por errores en la condición de salida, ciclos que se
desvían o errores en el código. Para evitar un bucle infinito, debes asegurarte de que la
condición del bucle eventualmente sea false` Esto se puede hacer utilizando un
contador o modificando la variable de la condición dentro del bucle. Por ejemplo, en
un bucle while, puedes incrementar un contador en cada iteración para asegurarte de
que el bucle eventualmente termine. BIEN
Ejemplos
int i = 0;
while (i >= 0)
{
Console.WriteLine(i);
}
int i = 0;
while (i < 10)
{
Console.WriteLine(i);
i++;
}
Parte Práctica
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
// Inicializar el inventario
Dictionary<string, int> inventario = new Dictionary<string, int>
{
{ "Producto1", 10 },
{ "Producto2", 20 }
};
while (true)
{
Console.WriteLine("1 - Ver productos y stock");
Console.WriteLine("2 - Agregar stock a un producto");
Console.WriteLine("3 - Eliminar stock de un producto");
Console.WriteLine("0 - Salir");
switch (opcion)
{
case "1":
foreach (var item in inventario)
{
Console.WriteLine($"Producto: {item.Key}, Stock: {item.Value}");
}
break;
case "2":
Console.WriteLine("Ingrese el nombre del producto:");
string productoAgregar = Console.ReadLine();
Console.WriteLine("Ingrese la cantidad a agregar:");
int cantidadAgregar = int.Parse(Console.ReadLine());
if (cantidadAgregar < 0)
{
Console.WriteLine("La cantidad no puede ser negativa.");
}
else
{
if (inventario.ContainsKey(productoAgregar))
{
inventario[productoAgregar] += cantidadAgregar;
}
else
{
Console.WriteLine("El producto no existe en el inventario.");
}
}
break;
case "3":
Console.WriteLine("Ingrese el nombre del producto:");
string productoEliminar = Console.ReadLine();
Console.WriteLine("Ingrese la cantidad a eliminar:");
int cantidadEliminar = int.Parse(Console.ReadLine());
if (cantidadEliminar < 0)
{
Console.WriteLine("La cantidad no puede ser negativa.");
}
else
{
if (inventario.ContainsKey(productoEliminar))
{
if (inventario[productoEliminar] >= cantidadEliminar)
{
inventario[productoEliminar] -= cantidadEliminar;
}
else
{
Console.WriteLine("No hay suficiente stock para eliminar.");
}
}
else
{
Console.WriteLine("El producto no existe en el inventario.");
}
}
break;
case "0":
return;
default:
Console.WriteLine("Opción no válida.");
break;
}
}
}
}