Notebook

Para usar el cuaderno de notas o notebook en obsidian.md debemos instalar el plugin obsidian-execute-code y el compilador de C# con dotnet tool install -g dotnet-script.

Estructuras de control en CS

If…Else

El condicional if…else se utiliza para ejecutar un bloque de código si se cumple una condición, y otro bloque si la condición no se cumple.

NOTE

Codebook no permite compilar cs sino rust, go, js. Hay que usar “Polyglot” en vscode o “Execute Code” plugin de Obsidian.md

  • Consideraciones el profesor Fernando de programación:
    • No usar Try Parse sino Try Catch
    • Prefiere condiciones compuestas que separadas. Y que lo pienses primero con cajas de Nassim Hedername.
int edad = 18;
if (edad >= 18)
{
    Console.WriteLine("Eres mayor de edad.");
}
else
{
    Console.WriteLine("Eres menor de edad.");
}

Switch

La estructura de control switch se utiliza para realizar múltiples comprobaciones y ejecutar código según el valor de una variable.

int diaDeLaSemana = 3;
string nombreDelDia;
switch (diaDeLaSemana)
{
    case 1:
        nombreDelDia = "Lunes";
        break;
    case 2:
        nombreDelDia = "Martes";
        break;
    case 3:
        nombreDelDia = "Miércoles";
        break;
    default:
        nombreDelDia = "Día no válido";
        break;
}
Console.WriteLine("Hoy es " + nombreDelDia);

While Loop

El bucle while se utiliza para repetir un bloque de código mientras una condición sea verdadera.

int contador = 0;
while (contador < 5)
{
    Console.WriteLine("Iteración " + contador);
    contador++;
}

For Loop

El bucle for se utiliza para realizar un número específico de iteraciones.

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine("Iteración " + i);
}

Funciones o métodos

  • Console.ReadLine()
Console.WriteLine("Escribe tu nombre");
string nombre = Console.ReadLine();
 
Console.WriteLine("Mi nombre es " + nombre);
  • Sumatorio
int max = 20;
int[] lista = new int [max];
int suma = 0;
 
for (int i = 0; i < max; i++) 
{
	suma += i;
	lista[i] = suma;
	Console.WriteLine($"El elemento de ínidice {i+1}, {lista[i]}");
}

  • Búsqueda lineal
float[] datos = { 1.1f, 10, -3.5f, 0.0004f};
float DATO_BUSCADO = 10;
int i = 0; // contador
 
// Mientras dato buscado sea distinto del elemento del array y sea menor que la última posición
while (DATO_BUSCADO != datos[i] && i < datos.Length - 1)
{
    i++;
}
if (DATO_BUSCADO != datos[i])
{
	Console.WriteLine($"Dato {DATO_BUSCADO} no encontrado");
}
else
{
	Console.WriteLine($"Dato {DATO_BUSCADO} encontrado en la posición {i+1} está en el array.");
}

  • Búsqueda datos usuario, secuencias de datos nombre y número de teléfono.
  • Si introduce nombre vacío parar y no pedir nada más. Y como máximo 20 usuarios.
  • Solicitar al usuario para buscar un nº de teléfono y decir a quién corresponde.

Para hacer pruebas: type .\prueba_datos.txt | .\bin\Debug\net7.0\BusquedaTfno.exe

Alberto
123
Beatriz
234
Carlota
456
David
567

David

Ejemplos

Console.WriteLine("Hola, como te llamas?");
 
string nombre = Console.ReadLine();
 
Console.WriteLine("Me llamo " + nombre);

Tabla salarios mes

Tabla de 4x4 (4 filas y 4 columnas) con los salarios, las filas son los meses y las columnas las personas. Así lo entiendo yo.

  • Opción A (opción elegida)
AnaBeaCarlosDaniel
Mes antepenúltimo1500 €1210 €1220 €1320 €
Mes penúltimo1210 €1220 €1320 €1280 €
Mes último1210 €1220 €1320 €1260 €
  • Opción B
Mes antepenúltimoMes penúltimoMes último
Ana1500 €1210 €1220 €
Bea1500 €1210 €1220 €
Carlos1210 €1220 €1320 €
Daniel1210 €1220 €1320 €
  • Tabla Persona
IDNombreApellido1Apellido2
1JuanPérezGarcía
2MaríaLópezRodríguez
3CarlosGonzálezPérez