Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Ejercicios: Alias de Tipos

Universidad Nacional de Río Negro

Prerrequisitos y Entorno de Ejecución Requerido

Para compilar y verificar las soluciones de este módulo bajo el estándar C11 estricto de cátedra, se requiere:

Objetivos Pedagógicos y Competencias (Taxonomía de Bloom)

Capítulos de Apunte Correspondientes

Cuestiones de Estilo Aplicables


Definición de Alias de Tipos

Ejercicio 2.10.01 - Clasificación de Días de la Semana con Enums ⭐⭐☆☆☆


Ejercicio 2.10.02 - Distancia Manhattan con Alias de Estructura ⭐⭐☆☆☆


---

(ej_b2_c10_03)=
### Ejercicio 2.10.03 - Aritmética de Números Complejos con Alias de Tipos ⭐⭐⭐☆☆

:::{exercise}
:label: alias_numeros_complejos

Definí un tipo con alias `complejo_t` para representar números complejos con componentes flotantes de doble precisión (`real` e `imag`).
Implementá funciones puras para sumar y multiplicar dos números complejos:
- $(a + bi) + (c + di) = (a + c) + (b + d)i$
- $(a + bi) \times (c + di) = (ac - bd) + (ad + bc)i$

```c
typedef struct {
    double real;
    double imag;
} complejo_t;

complejo_t complejo_sumar(complejo_t c1, complejo_t c2);
complejo_t complejo_multiplicar(complejo_t c1, complejo_t c2);
```

#### Contrato de las Funciones
- **Precondiciones:** Componentes numéricas finitas.
- **Postcondiciones:** Retornan por valor una nueva estructura `complejo_t` con el resultado exacto.

#### Tabla de Vectores de Prueba

| Tipo de Caso | $C_1$ | $C_2$ | Suma Esperada | Producto Esperado | Justificación Técnica |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **Normal** | $3 + 2i$ | $1 + 4i$ | $4 + 6i$ | $(3 - 8) + (12 + 2)i = -5 + 14i$ | Aritmética compleja estándar |
| **Elemento Neutro**| $5 - 7i$ | $1 + 0i$ | $6 - 7i$ | $5 - 7i$ | Neutro del producto |
| **Complejo Puro**| $0 + 1i$ | $0 + 1i$ | $0 + 2i$ | $-1 + 0i$ | Propiedad $i^2 = -1$ |

Ejercicio 2.10.04 - Álgebra Vectorial 3D con Alias de Tipos ⭐⭐⭐☆☆