# Variables y condicionales

Las variables en programación son espacios de memoria reservados para almacenar un valor. Estos valores pueden ser números, cadenas de texto, objetos, entre otros. Las variables permiten a los programadores almacenar y manipular datos durante la ejecución de un programa.

En C#, se puede declarar una variable especificando primero su tipo de datos, seguido de un nombre para la variable y, opcionalmente, un valor inicial. Por ejemplo:

```csharp
int miVariable = 42;
```

En este ejemplo, se declara una variable de tipo `int` llamada `miVariable` con un valor inicial de `42`.

***

## **Tipos de datos integrados (Built-in Data Types)**

Hay varios tipos de datos integrados en C#. Los más comunes son:

**int** - entero.

**float** - número de punto flotante.

**double** - versión de doble precisión de float.

**char** - un solo carácter.

**bool** - booleano que solo puede tener uno de dos valores: Verdadero o Falso.

**string** - una secuencia de caracteres.

Las declaraciones a continuación usan tipos de datos de C#:

```csharp
int x = 42;
double pi = 3.14;
char y = 'Z';
bool isOnline = true;
string firstName = "David";
```

> Nota: Los valores de **char** se asignan usando comillas simples y los valores de **string** requieren comillas dobles.

***

## El famoso if

El **if** es una estructura de control de flujo en programación que permite ejecutar un bloque de código si se cumple una condición determinada. La sintaxis básica de un **if** en C# es la siguiente:

```csharp
if (condición) {
  // código a ejecutar si la condición es verdadera
}

```

Por ejemplo, si se desea imprimir un mensaje en la consola solo si una variable llamada `edad` es mayor o igual a 18, se podría utilizar un **if** de la siguiente manera:

```csharp
if (edad >= 18) {
  Console.WriteLine("Eres mayor de edad");
}

```

En este caso, si la variable `edad` es mayor o igual a 18, se imprimirá el mensaje "Eres mayor de edad" en la consola. Si la variable `edad` es menor que 18, el bloque de código dentro del **if** no se ejecutará.

También es posible utilizar una estructura **if-else** para ejecutar un bloque de código si la condición es verdadera y otro bloque de código si la condición es falsa. La sintaxis básica de un **if-else** en C# es la siguiente:

```csharp
if (condición) {
  // código a ejecutar si la condición es verdadera
} else {
  // código a ejecutar si la condición es falsa
}

```

Por ejemplo, si se desea imprimir un mensaje en la consola si la variable `edad` es mayor o igual a 18 y otro mensaje si es menor de 18, se podría utilizar un **if-else** de la siguiente manera:

```csharp
if (edad >= 18) {
  Console.WriteLine("Eres mayor de edad");
} else {
  Console.WriteLine("Eres menor de edad");
}

```

En este caso, si la variable `edad` es mayor o igual a 18, se imprimirá el mensaje "Eres mayor de edad" en la consola. Si la variable `edad` es menor que 18, se imprimirá el mensaje "Eres menor de edad".

## Operadores relacionales (Mantienen una relacion entre 2 valores, o mas…)

En C#, los operadores relacionales se utilizan de manera similar a como se utilizan en C y en muchos otros lenguajes de programación. Los operadores relacionales en C# comparan dos valores y devuelven un valor booleano (true o false) que indica si la relación es verdadera o falsa. Aquí tienes una lista de los operadores relacionales en C#:

**== (igualdad)**: Comprueba si dos valores son iguales.

```csharp
int a = 5;
int b = 7;
if (a == b) {
    // Esta condición se cumple o no se cumple?
}
```

**!= (desigualdad)**: Comprueba si dos valores no son iguales.

```csharp
int a = 5;
int b = 7;
if (a != b) {
    // Esta condición se cumple o no se cumple?
}
```

**< (menor que)**: Comprueba si un valor es estrictamente menor que otro.

```csharp
int a = 5;
int b = 7;
if (a < b) {
    // Esta condición se cumple o no se cumple?
}
```

**> (mayor que)**: Comprueba si un valor es estrictamente mayor que otro.

```csharp
int a = 5;
int b = 7;
if (a > b) {
    // Esta condición se cumple o no se cumple?
}
```

**<= (menor o igual que)**: Comprueba si un valor es menor o igual que otro.

```csharp
int a = 5;
int b = 7;
if (a <= b) {
    // Esta condición se cumple o no se cumple? 
}
```

**>= (mayor o igual que)**: Comprueba si un valor es mayor o igual que otro.

```csharp
int a = 5;
int b = 7;
if (a >= b) {
    // Esta condición se cumple. no se cumple
}
```

Estos operadores relacionales son fundamentales en la programación en C# para controlar el flujo del programa mediante estructuras de control condicionales como **`if`**, **`else if`** y **`while`**, entre otras.

***

## ACTIVIDAD!

Escribe el codigo necesario para calcular si una persona se puede jubilar o no.\
Ten en cuenta la edad minima 60 en mujeres, 65 en varones. Y mas de 30 a**ñ**os trabajados.\
Si no cumple los a**ñ**os minimos trabajados pero si la edad, devuelve una jubilacion minima.
