diff --git a/fundamentos-programacion/PR2/README.md b/fundamentos-programacion/PR2/README.md index 12ae7cb..d893e10 100644 --- a/fundamentos-programacion/PR2/README.md +++ b/fundamentos-programacion/PR2/README.md @@ -848,37 +848,73 @@ end algorithm 2. Solución -```c +```alg +const + SALDO_INICIAL: real = 0.0; +end const + +action actualizarsaldo(inout saldo: real, in cargo: real) + saldo:= saldo + cargo; +end action + +algorithm main + var + saldo, cargo: real; + continuar: string; + end var + + saldo:= SALDO_INICIAL; + + writeString("[i] El saldo actual de la cuenta corriente es de "); + writeReal(saldo); + writeString(" Petrodolares"); + + while continuar = "n" do + writeString("[+] Introduce el cargo o imposición: "); + cargo:= readReal(); + + actualizarsaldo(saldo, cargo); + + writeString("[i] El saldo actual de la cuenta corriente es de "); + writeReal(saldo); + writeString(" Petrodolares"); + + writeString("[+] Quiere realizar otra operación? (s/n): "); + continuar:= readString(); + + end while + +end algorithm ``` 3. Solución -```c +```alg ``` 4. Solución -```c +```alg ``` 4b. Solución -```c +```alg ``` 5. Solución -```c +```alg ``` 5b. Solución -```c +```alg ``` diff --git a/fundamentos-programacion/PR2/soluciones_c/solucion1/fibonacci.c b/fundamentos-programacion/PR2/soluciones_c/solucion1/fibonacci.c index a7145d3..332c632 100644 --- a/fundamentos-programacion/PR2/soluciones_c/solucion1/fibonacci.c +++ b/fundamentos-programacion/PR2/soluciones_c/solucion1/fibonacci.c @@ -1,6 +1,7 @@ -#include +/* Función que, dado un entero n, calcule la suma +de los primeros n números de la serie Fibonacci.*/ -/* Función que, dado un entero n, calcule la suma de los primeros n números de la serie Fibonacci.*/ +#include int fibonacci(int n) { diff --git a/fundamentos-programacion/PR2/soluciones_c/solucion2/saldo_cuenta b/fundamentos-programacion/PR2/soluciones_c/solucion2/saldo_cuenta new file mode 100755 index 0000000..0b94379 Binary files /dev/null and b/fundamentos-programacion/PR2/soluciones_c/solucion2/saldo_cuenta differ diff --git a/fundamentos-programacion/PR2/soluciones_c/solucion2/saldo_cuenta.c b/fundamentos-programacion/PR2/soluciones_c/solucion2/saldo_cuenta.c new file mode 100644 index 0000000..beb0f3f --- /dev/null +++ b/fundamentos-programacion/PR2/soluciones_c/solucion2/saldo_cuenta.c @@ -0,0 +1,41 @@ +/* Acción que, dados un real que representa el saldo de una cuenta corriente y +otro real que representa un cargo o imposición, +actualice el saldo de la cuenta. */ + +#include + +/* Constantes */ + +#define SALDO_INICIAL 0.0 // Saldo inicial de la cuenta + +void actualizarsaldo(float *saldo, float cargo) +{ + *saldo = *saldo + cargo; +} + +int main() +{ + float saldo, cargo; + char continuar = 's'; + + saldo = SALDO_INICIAL; + + printf("\n[i] El saldo actual de la cuenta corriente es de %.2f Petrodolares\n", saldo); + + while (continuar != 'n' && continuar != 'N') { + + printf("\n[+] Introduce el cargo o imposición: "); + scanf("%f", &cargo); + + actualizarsaldo(&saldo, cargo); + + printf("\n[i] El saldo actual de la cuenta corriente es de %.2f Petrodolares\n", saldo); + printf("\n[+] Quiere realizar otra operación? (s/n): "); + getchar(); + scanf(" %c", &continuar); + getchar(); + + } + + return 0; +}