Skip to content

Commit 452319d

Browse files
committed
Reto mouredev#6 - PHP. Python, JS, TS & Swift
1 parent 6a171a2 commit 452319d

File tree

5 files changed

+295
-0
lines changed

5 files changed

+295
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
function sumaRecursiva (a,b){
2+
if (b === 0){
3+
return a;
4+
}
5+
return sumaRecursiva(a+1,b-1);
6+
}
7+
8+
console.log("La suma de 3 + 5 usando recursividad es = " +sumaRecursiva(3,5));
9+
10+
function potenciaRecursiva (a,b){
11+
if (b === 0){
12+
return 1;
13+
}
14+
return a * potenciaRecursiva(a,b-1);
15+
}
16+
17+
console.log("El resultado de 2 elevado a 3 es: "+potenciaRecursiva(2,3));
18+
19+
// Extra
20+
21+
function factorialRecursivo (a){
22+
if (a === 0){
23+
return 1;
24+
}
25+
return a * factorialRecursivo(a-1);
26+
}
27+
28+
console.log("El factorial de 5 es: "+factorialRecursivo(5));
29+
30+
function fibonacciRecursivo (a){
31+
if (a === 0){
32+
return 0;
33+
}
34+
if (a === 1){
35+
return 1;
36+
}
37+
return fibonacciRecursivo(a-1) + fibonacciRecursivo(a-2);
38+
}
39+
40+
console.log("El fibonacci de 6 es: "+fibonacciRecursivo(6));
41+
42+
console.log("A continuación, vamos a probar las funciones factorial y fibonacci de forma interactiva");
43+
44+
const readline = require('readline');
45+
46+
const rl = readline.createInterface({
47+
input: process.stdin,
48+
output: process.stdout
49+
});
50+
51+
rl.question('Introduce un número para calcular su factorial: ', (answer) => {
52+
console.log(`El factorial de ${answer} es: ${factorialRecursivo(answer)}`);
53+
rl.question('Introduce un número para calcular su secuencia Fibonacci: ', (numero) => {
54+
console.log(`La secuencia Fibonacci de ${numero} es: ${fibonacciRecursivo(numero)}`);
55+
rl.close();
56+
});
57+
});
58+
59+
60+
61+
62+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
3+
function sumaRecursiva ($a, $b){
4+
if ($b == 0) {
5+
return $a;
6+
} else {
7+
return 1 + sumaRecursiva($a, $b - 1);
8+
}
9+
}
10+
11+
echo "Vamos a sumar 5 + 3 usando una función recursiva\n";
12+
echo sumaRecursiva(5, 3);
13+
echo "\n";
14+
15+
function potenciaRecursiva($a, $b){
16+
if ($b == 0) {
17+
return 1;
18+
} else {
19+
return $a * potenciaRecursiva($a, $b - 1);
20+
}
21+
}
22+
23+
echo "Vamos a calcular el cubo de 2 usando una función recursiva\n";
24+
echo potenciaRecursiva(2, 3);
25+
echo "\n";
26+
27+
// Extra
28+
29+
echo "Como ejercicios extras, vamos a calcular el factorial de 5 y el octavo número de la serie de Fibonacci\n";
30+
31+
function factorial($n) {
32+
if ($n == 0) {
33+
return 1;
34+
} else {
35+
return $n * factorial($n - 1);
36+
}
37+
}
38+
39+
echo "El numero 5! es = ".factorial(5)."\n";
40+
41+
function fibonacci($n){
42+
if ($n == 0) {
43+
return 0;
44+
} else if ($n == 1) {
45+
return 1;
46+
} else {
47+
return fibonacci($n - 1) + fibonacci($n - 2);
48+
}
49+
}
50+
51+
echo "El 8º numero de Fibonacci es = ".fibonacci(8)."\n";
52+
53+
echo "Finalmente, vamos a comproabr el funcionamiento de amabs funciones de forma interactiva\n";
54+
55+
echo "Introduce un número para calcular su factorial: ";
56+
$n = trim(fgets(STDIN));
57+
echo "El número ".$n."! es = ".factorial($n)."\n";
58+
59+
echo "Introduce un número para calcular su posición en la serie de Fibonacci: ";
60+
$n = trim(fgets(STDIN));
61+
echo "El número ".$n." de Fibonacci es = ".fibonacci($n)."\n";
62+
63+
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
def sumaRecursiva (a,b):
2+
if b == 0:
3+
return a
4+
else:
5+
return sumaRecursiva(a+1,b-1)
6+
7+
print("Suma recursiva de 5 y 3: ")
8+
print(sumaRecursiva(5,3))
9+
10+
def potenciaRecursiva(a,b):
11+
if b == 0:
12+
return 1
13+
else:
14+
return a * potenciaRecursiva(a,b-1)
15+
16+
print("Potencia recursiva de 2^3: ")
17+
print(potenciaRecursiva(2,3))
18+
19+
# Extra
20+
def factorial(n):
21+
if n == 0:
22+
return 1
23+
else:
24+
return n * factorial(n-1)
25+
26+
print("Factorial de 5: ")
27+
print(factorial(5))
28+
29+
def fibonacci(n):
30+
if n == 0:
31+
return 0
32+
elif n == 1:
33+
return 1
34+
else:
35+
return fibonacci(n-1) + fibonacci(n-2)
36+
37+
print("Fibonacci de 5: ")
38+
print(fibonacci(5))
39+
40+
print("Vamos a comprobar ahora las funciones de factorial y fibonacci de forma interactiva")
41+
42+
print("Introduce un número para calcular su factorial: ")
43+
n = int(input())
44+
print(factorial(n))
45+
46+
print("Introduce un número para calcular su fibonacci: ")
47+
n = int(input())
48+
print(fibonacci(n))
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import Foundation
2+
3+
func sumaRecursiva(a: Int, b: Int) -> Int {
4+
if b == 0 {
5+
return a
6+
} else {
7+
return sumaRecursiva(a: a + 1, b: b - 1)
8+
}
9+
}
10+
11+
print("La suma de 5 +3 usando recursividad es = " + String(sumaRecursiva(a: 5, b: 3)))
12+
13+
func potenciaRecursiva(base: Int, exponente: Int) -> Int {
14+
if exponente == 0 {
15+
return 1
16+
} else {
17+
return base * potenciaRecursiva(base: base, exponente: exponente - 1)
18+
}
19+
}
20+
21+
print("La potencia de 2^3 usando recursividad es = " + String(potenciaRecursiva(base: 2, exponente: 3)))
22+
23+
// Extra
24+
25+
func factorialRecursivo(numero: Int) -> Int {
26+
if numero == 0 {
27+
return 1
28+
} else {
29+
return numero * factorialRecursivo(numero: numero - 1)
30+
}
31+
}
32+
33+
print("El factorial de 5 usando recursividad es = " + String(factorialRecursivo(numero: 5)))
34+
35+
func fibonacciRecursivo(posicion: Int) -> Int {
36+
if posicion == 0 {
37+
return 0
38+
} else if posicion == 1 {
39+
return 1
40+
} else {
41+
return fibonacciRecursivo(posicion: posicion - 1) + fibonacciRecursivo(posicion: posicion - 2)
42+
}
43+
}
44+
45+
print("El fibonacci de la posicion 5 usando recursividad es = " + String(fibonacciRecursivo(posicion: 5)))
46+
47+
// Vamos a continuación a probar las funcioens de factorial y fibonacci de forma iteractiva, pidiendo al usuario que introduzca el número para el factorial y la posición para el fibonacci
48+
49+
print("Introduce un número para calcular su factorial")
50+
let numeroFactorial = Int(readLine()!)!
51+
print("El factorial de \(numeroFactorial) es = " + String(factorialRecursivo(numero: numeroFactorial)))
52+
53+
print("Introduce una posición para calcular el fibonacci")
54+
let posicionFibonacci = Int(readLine()!)!
55+
print("El fibonacci de la posición \(posicionFibonacci) es = " + String(fibonacciRecursivo(posicion: posicionFibonacci)))
56+
57+
58+
59+
60+
61+
62+
63+
64+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
function sumaRecursiva(a: number, b: number): number {
2+
if (b === 0) {
3+
return a;
4+
}
5+
return sumaRecursiva(a + 1, b - 1);
6+
}
7+
8+
console.log("La suma de 3 + 5 usando recursividad es = " + sumaRecursiva(3, 5));
9+
10+
function potenciaRecursiva(a: number, b: number): number {
11+
if (b === 0) {
12+
return 1;
13+
}
14+
return a * potenciaRecursiva(a, b - 1);
15+
}
16+
17+
console.log("El resultado de 2 elevado a 3 es: " + potenciaRecursiva(2, 3));
18+
19+
// Extra
20+
21+
function factorialRecursivo(a: number): number {
22+
if (a === 0) {
23+
return 1;
24+
}
25+
return a * factorialRecursivo(a - 1);
26+
}
27+
28+
console.log("El factorial de 5 es: " + factorialRecursivo(5));
29+
30+
function fibonacciRecursivo(a: number): number {
31+
if (a === 0) {
32+
return 0;
33+
}
34+
if (a === 1) {
35+
return 1;
36+
}
37+
return fibonacciRecursivo(a - 1) + fibonacciRecursivo(a - 2);
38+
}
39+
40+
console.log("El fibonacci de 6 es: " + fibonacciRecursivo(6));
41+
42+
console.log("A continuación, vamos a probar las funciones factorial y fibonacci de forma interactiva");
43+
44+
45+
import * as readline from 'readline';
46+
47+
const rl = readline.createInterface({
48+
input: process.stdin,
49+
output: process.stdout
50+
});
51+
52+
rl.question('Introduce un número para calcular su factorial: ', (answer: string) => {
53+
console.log(`El factorial de ${answer} es: ${factorialRecursivo(parseInt(answer))}`);
54+
rl.question('Introduce un número para calcular su secuencia Fibonacci: ', (numero: string) => {
55+
console.log(`La secuencia Fibonacci de ${numero} es: ${fibonacciRecursivo(parseInt(numero))}`);
56+
rl.close();
57+
});
58+
});

0 commit comments

Comments
 (0)