Add PEC7 exercises
This commit is contained in:
parent
6f7ac1cbcf
commit
af47cbdde7
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc01
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc01
Executable file
Binary file not shown.
36
fundamentos-programacion/PEC7/ejercicios/ejerc01.c
Normal file
36
fundamentos-programacion/PEC7/ejercicios/ejerc01.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Definición de constantes
|
||||||
|
#define MAX_NUM 3
|
||||||
|
|
||||||
|
// Función recursiva funcRec
|
||||||
|
int funcRec(int intVec[MAX_NUM], int vectorLength)
|
||||||
|
{
|
||||||
|
int result = 1;
|
||||||
|
|
||||||
|
if (vectorLength > 0)
|
||||||
|
{
|
||||||
|
result *= intVec[vectorLength - 1];
|
||||||
|
result *= funcRec(intVec, vectorLength - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función principal (main)
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int numVec[MAX_NUM];
|
||||||
|
int i;
|
||||||
|
|
||||||
|
// Inicialización del vector numVec
|
||||||
|
for (i = 0; i < MAX_NUM; ++i)
|
||||||
|
{
|
||||||
|
numVec[i] = i + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Llamada a funcRec y escritura del resultado
|
||||||
|
printf("Result: %d\n", funcRec(numVec, MAX_NUM));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc02
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc02
Executable file
Binary file not shown.
34
fundamentos-programacion/PEC7/ejercicios/ejerc02.c
Normal file
34
fundamentos-programacion/PEC7/ejercicios/ejerc02.c
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Función recursiva funcRec
|
||||||
|
int funcRec(int n)
|
||||||
|
{
|
||||||
|
int sum;
|
||||||
|
|
||||||
|
if (n == 0)
|
||||||
|
{
|
||||||
|
sum = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (n % 2 == 0)
|
||||||
|
{
|
||||||
|
sum = n + funcRec(n - 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sum = funcRec(n - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función principal (main)
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Llamada a funcRec con argumento 8 y escritura del resultado
|
||||||
|
printf("Result: %d\n", funcRec(8));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc03
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc03
Executable file
Binary file not shown.
27
fundamentos-programacion/PEC7/ejercicios/ejerc03.c
Normal file
27
fundamentos-programacion/PEC7/ejercicios/ejerc03.c
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Función recursiva mystery
|
||||||
|
int mystery(int a, int b)
|
||||||
|
{
|
||||||
|
if (b == 1)
|
||||||
|
{
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (2 * a + mystery(a, b - 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función principal (main)
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int x = 10; // Definición de x
|
||||||
|
int y = 4; // Definición de y
|
||||||
|
int result; // Definición de result
|
||||||
|
|
||||||
|
result = mystery(x, y); // Llamada a mystery con argumentos x e y
|
||||||
|
printf("Result: %d\n", result); // Impresión del resultado
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc04
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc04
Executable file
Binary file not shown.
51
fundamentos-programacion/PEC7/ejercicios/ejerc04.c
Normal file
51
fundamentos-programacion/PEC7/ejercicios/ejerc04.c
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Declaración de funciones
|
||||||
|
int rec(int num1, int num2);
|
||||||
|
int rec2(int num1, int num2);
|
||||||
|
|
||||||
|
// Función recursiva rec
|
||||||
|
int rec(int num1, int num2)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
|
||||||
|
if (num2 == 0)
|
||||||
|
{
|
||||||
|
n = num1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
n = rec(num2, num1 % num2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función rec2 que utiliza rec
|
||||||
|
int rec2(int num1, int num2)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
|
||||||
|
n = rec(num1, num2);
|
||||||
|
|
||||||
|
return num1 * num2 / n;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función principal (main)
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int num1, num2;
|
||||||
|
int result;
|
||||||
|
|
||||||
|
printf("Input num1: ");
|
||||||
|
scanf("%d", &num1);
|
||||||
|
|
||||||
|
printf("Input num2: ");
|
||||||
|
scanf("%d", &num2);
|
||||||
|
|
||||||
|
result = rec2(num1, num2);
|
||||||
|
|
||||||
|
printf("Result: %d\n", result);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc05
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc05
Executable file
Binary file not shown.
32
fundamentos-programacion/PEC7/ejercicios/ejerc05.c
Normal file
32
fundamentos-programacion/PEC7/ejercicios/ejerc05.c
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Declaración de función recursiva
|
||||||
|
int rec(int num1, int num2, int n);
|
||||||
|
|
||||||
|
// Función recursiva rec
|
||||||
|
int rec(int num1, int num2, int n)
|
||||||
|
{
|
||||||
|
if (num1 >= num2)
|
||||||
|
{
|
||||||
|
n = rec(num1 - num2, num2, n + 1);
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función principal (main)
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int num1, num2, n = 0;
|
||||||
|
|
||||||
|
printf("Input num1: ");
|
||||||
|
scanf("%d", &num1);
|
||||||
|
|
||||||
|
printf("Input num2: ");
|
||||||
|
scanf("%d", &num2);
|
||||||
|
|
||||||
|
int result = rec(num1, num2, n);
|
||||||
|
|
||||||
|
printf("Result: %d\n", result);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc06
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc06
Executable file
Binary file not shown.
35
fundamentos-programacion/PEC7/ejercicios/ejerc06.c
Normal file
35
fundamentos-programacion/PEC7/ejercicios/ejerc06.c
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Declaración de función recursiva
|
||||||
|
int x(int n);
|
||||||
|
|
||||||
|
// Función recursiva x
|
||||||
|
int x(int n)
|
||||||
|
{
|
||||||
|
if (n <= 1)
|
||||||
|
{
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return x(n - 1) + x(n - 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función principal (main)
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
|
||||||
|
n = 1;
|
||||||
|
|
||||||
|
while (n <= 5)
|
||||||
|
{
|
||||||
|
printf("%d ", x(n));
|
||||||
|
n = n + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc07
Executable file
BIN
fundamentos-programacion/PEC7/ejercicios/ejerc07
Executable file
Binary file not shown.
34
fundamentos-programacion/PEC7/ejercicios/ejerc07.c
Normal file
34
fundamentos-programacion/PEC7/ejercicios/ejerc07.c
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Declaración de funciones
|
||||||
|
int rec(char char1, int n);
|
||||||
|
char codeToChar(int code);
|
||||||
|
int charToCode(char c);
|
||||||
|
|
||||||
|
// Función recursiva rec
|
||||||
|
int rec(char char1, int n) {
|
||||||
|
if (char1 > 'a') {
|
||||||
|
n = rec(codeToChar(charToCode(char1) - 1), n + 1);
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función para convertir código a caracter
|
||||||
|
char codeToChar(int code) {
|
||||||
|
return (char)code;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Función para convertir caracter a código
|
||||||
|
int charToCode(char c) {
|
||||||
|
return (int)c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Algoritmo principal
|
||||||
|
int main() {
|
||||||
|
char char1 = 'c';
|
||||||
|
int n = 0;
|
||||||
|
|
||||||
|
printf("Result: %d\n", rec(char1, n));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user