**Luz de Esperanza: Un Milagro Navideño**
María, exhausta después de las tareas del hogar, acababa de acostar a su hijo cuando sonó el teléfono. Esas llamadas eran habituales: en Villanueva, todos la conocían como la persona que nunca negaba ayuda.
—Buenas noches, María—, dijo la voz angustiada de su vecina. —¿Podrías venir? A mi padre le ha empeorado la tensión.
—Ahora mismo voy—, respondió ella, envolviéndose en su mantón.
María había estudiado enfermería con honores, pero nunca ejerció. Casada joven, tuvo a su hijo Pablo y trabajaba como contable en una pequeña empresa. La medicina seguía siendo su vocación oculta: ayudaba a los vecinos, ponía inyecciones, tomaba la tensión. La llamaban a cualquier hora, y ella siempre acudía.
Afuera, la llovizna mojaba las calles, y las farolas apenas iluminaban el camino. María llegó rápido a casa de su vecina.
—¡Gracias por venir!— la recibió la mujer. —La ambulancia no contesta, y mi padre tiene otra subida de presión.
María comprobó los valores: eran peligrosamente altos. Con destreza, le administró una inyección. Cinco minutos después, el anciano respiraba mejor, y la ambulancia llegó.
De vuelta a casa, María caminó despacio, reflexionando sobre su vida. Viuda desde hacía cinco años, no se atrevía a abrir su corazón de nuevo. Criaba a Pablo con firmeza, aunque su sueldo apenas alcanzaba para la comida, el alquiler y la ropa del niño. Ella no se compraba nada, no podía permitírselo. Las propinas por ayudar a los vecinos eran su salvación: con ellas compraba dulces para su hijo.
Su escape era navegar por tiendas online, soñando con vestidos elegantes. Esa noche, después de acostar a Pablo, preparó un té y abrió su tablet. Mientras seleccionaba prendas imaginarias, la voz de su hijo la devolvió a la realidad:
—Mamá, vamos a dormir. Tengo miedo solo.
—Ahora voy, cariño—, respondió, mirando por la ventana.
La vida parecía una carga insoportable. Con un suspiro, se acostó junto a Pablo y cerró los ojos.
Por la mañana, desayunó a toda prisa y salió corriendo al trabajo. Se acercaba la Navidad, pero su sueldo seguía retrasado. María no sabía cómo preparar la cena de Nochebuena. Las deudas la ahogaban, y pedir prestado no era opción. Sus pensamientos se interrumpieron cuando su compañera la llamó:
—¡María, el jefe te espera!
Entró nerviosa en el despacho, preguntándose si sería una noticia mala… o quizá el bono navideño. Para su sorpresa, el jefe ofreció tarjetas de crédito con condiciones ventajosas, gestionadas por un banco amigo. Todos aceptaron, y María, con su nueva tarjeta en mano, sintió un alivio: ahora podría comprarle un regalo a Pablo y preparar una cena decente.
Regresó a casa con el ánimo renovado. El aire olía a nieve y pinos recién cortados; la gente cargaba bolsas con adornos navideños. En el tren, María se sumió en sus pensamientos, hasta que un hombre se sentó a su lado.
—Hola, guapa—, dijo él con una sonrisa cálida. —Feliz Navidad.
—Igualmente—, respondió ella, ruborizándose.
No hablaron más, pero su presencia la reconfortó. Al llegar a casa, un inesperado visitante la esperaba: un anciano delgado, de unos setenta años, vestido con ropa gastada pero de mirada bondadosa. Pablo, al verla, explicó:
—Me pidió comida, y lo invité a pasar. ¡Tú siempre ayudas a los demás!
María frunció el ceño, pero la ira cedió ante la compasión. Reconocía en su hijo su misma generosidad. Preparó la cena, le dio ropa limpia de su difunto marido y lo acompañó al baño. Mientras el anciano se aseaba, llamó a un albergue para mayores y consiguió una plaza.
El taxi los llevó a las### Language/Architecture dependency
Language is `Eiffel` (at least version 19.05).
Architecture is `x86_64`.
### Tools used
The solution is written using the EiffelStudio IDE (version 19.05) in `x86_64`.
### Building the solution
All `.ecf` files can be found in the `ecf` folder. There is one `.ecf` file for each problem.
For **problem set 1**, the `.ecf` files are:
– `rna_transcription.ecf`
– `hamming.ecf`
– `raindrops.ecf`
For **problem set 2**, the `.ecf` files are:
– `word_count.ecf`
– `etl.ecf`
– `accumulate.ecf`
### Running the solution
The unit tests are written in Eiffel as well. For example, to run the unit tests for `problem set 1`, the following steps can be followed:
1. Open `EiffelStudio`.
2. Create a new project (or open the `.ecf` file directly).
3. Compile the project.
4. Run the tests.
### Notes
This is my first time working with Eiffel, so please bear with me if the solutions are not the most idiomatic. I’m still learning the language and its conventions. Feedback is welcome!







