Documentos de Académico
Documentos de Profesional
Documentos de Cultura
P á g i n a 1 | 17
Índice
Contenido
Índice............................................................................................................................................................................. 2
JAVA............................................................................................................................................................................. 3
Convertir un número decimal dado a binario...........................................................................................................3
Obtener la secuencia de Fibonacci en base a un número dado...........................................................................4
Calcular la factorial de cualquier número dado.......................................................................................................5
Solución de la Torre de Hanoi para un numero de discos dado...........................................................................5
MULTIPLICACION DE UN VECTOR DADO........................................................................................................................7
PYTHON....................................................................................................................................................................... 8
Convertir un numero decimal dado a binario...........................................................................................................8
Obtener la secuencia de Fibonacci en base a un numero dado...........................................................................9
Calcular la factorial de cualquier número dado.....................................................................................................10
Multiplicar los elementos de un vector dado..........................................................................................................11
C++.............................................................................................................................................................................. 12
1 Convertir un número decimal dado a binario.....................................................................................................12
2 Obtener la secuencia de Fibonacci en base a un número dado.....................................................................13
Ejercicio 3 Calcular la factorial de cualquier número dado..................................................................................14
Ejercicio 4 Multiplicar los elementos de un vector dado......................................................................................15
Ejercicio 5 Solución de la Torre de Hanói para un numero de discos dado......................................................16
CONCLUSIONES......................................................................................................................................................18
P á g i n a 2 | 17
JAVA
P á g i n a 3 | 17
leer.binario(8) hace la funcion de
colocacion de un numero a convetir
*/
System.out.println("Numero convetido es: ");
System.out.println(leer.binario(125));
}}
}
Muestras de la impresión
P á g i n a 4 | 17
Calcular la factorial de cualquier número dado.
package Recursividadf;
class Recursividad {
}
Valor de 3
}
package TORRE;
import java.util.Scanner;
public class torre {
static Scanner lee = new Scanner(System.in);
public static void main(String[] args) {
//declaracion de la variable
int torre;
P á g i n a 5 | 17
//pedimos al usuario que nos ingrese el numero
System.out.println("Valores: ");
torre = lee.nextInt();
//Nombre de los postes
barra(torre, 'X', 'Y', 'Z');
}//metodo recursivo
static int barra(
int n,
char inicio,
char destino,
char medio)
{
if (n <= 1) {
System.out.println("\n mover disco 1 del poste " + inicio + " al poste " + destino);
} else {
barra(n - 1, inicio, medio, destino);
System.out.println("\n mover disco " + n + " del poste " + inicio + "al poste " +
destino);
barra(n - 1, medio, destino, inicio);
System.out.println(" \n Fin de los procesos");
}
return 0;
}
}
Impresión de los pasos del valor dado
P á g i n a 6 | 17
MULTIPLICACION DE UN VECTOR DADO
package vector;
import java.util.Scanner;
//metodo recursivo
public static int Arreglo(int Arreglo[], int pos) {
if (pos == Arreglo.length - 1) {
return Arreglo[pos];
}
// Caso recursivo: incrementar índice en 1.
return Arreglo[pos] + Arreglo(Arreglo, pos + 1);
}
}
IMÁGENES DE CORRIDA DE PROGRAMA
Valor de 5*5 valor de 10*5
PYTHON
P á g i n a 7 | 17
def decimal_a_binario(decimal):
if decimal <= 0:
return "0"
# Aquí almacenamos el resultado
binario = ""
# Mientras se pueda dividir...
while decimal > 0:
# Saber si es 1 o 0
residuo = int(decimal % 2)
# E ir dividiendo el decimal
decimal = int(decimal / 2)
# Ir agregando el número (1 o 0) a la izquierda del resultado
binario = str(residuo) + binario
return binario
Capturas:
Explicación:
Solicitamos un numero entero mayor a 0, y calculamos su valor en binario a
través de las diferentes operaciones empleadas
P á g i n a 8 | 17
if debe_imprimir:
print(str(actual) + ",", end="")
temporal = actual
actual = siguiente
siguiente = siguiente + temporal
return temporal
def fibonacci_recursivo(posicion):
if posicion < 2:
return posicion
return fibonacci_recursivo(posicion - 1) + fibonacci_recursivo(posicion - 2)
Capturas:
Explicación:
Creamos un método recursivo para poder desarrollar la secuencia Fibonacci hasta
el numero al que se quiera llegar
P á g i n a 9 | 17
elif num == 0:
return 1
else:
fact = 1
while(num > 1):
fact *= num
num -= 1
return fact
Capturas:
Explicación:
Declaramos una variable que será el numero al que le sacaremos el factorial y
después hacemos todas las operaciones necesarias para dar un resultado
Capturas:
Explicación:
Utilizamos la librería Numpy para poder interactuar con el vector Arr y después lo
multiplicamos por el numero que queramos y usamos los resultados para crear este
vector
P á g i n a 10 | 17
1. Solución de la Torre de Hanoi para un numero de discos dado.
Código:
def TowerOfHanoi(n , source, destination, auxiliary):
if n==1:
print ("Mover disco 1 de",source,"al destino",destination)
return
TowerOfHanoi(n-1, source, auxiliary, destination)
print ("Mover disco",n,"de",source,"al destino",destination)
TowerOfHanoi(n-1, auxiliary, destination, source)
# Driver code
n=4
TowerOfHanoi(n,'A','B','C')
Capturas:
Explicación:
Usamos la lógica para resolver este problema al hacer que ninguna variable
pueda estar debajo de una más grande que ella misma
C++
Código
#include<iostream>
using namespace std;
//funcion para saber el numero binairo
void binario(int n)
P á g i n a 11 | 17
{
if(n>1) binario(n/2);
cout<<n%2;
}
int main(){
int n;
do{
//funcion para ingresar el numero a trasformar
cout<<"\n ingrese el numero: ";
cin>>n;
if(n<0)
cout<<"\n Numero invalido: ";
}while(n<0);
//muestra los valores en decimal y binario
cout<<"\n Numero: "<<n;
cout<<"\n binario ";
binario(n);
return 0;
}
Resultados:
Explicación: primero pedimos un valor después pasa por el if y ese para ver si el valor
puede sacar binario (que no sea un numero decimal) después manda a llamar la función
binario que realiza el proceso y después imprime el número para sacar el factorial y
después el factorial de dicho numero
P á g i n a 12 | 17
if(i==1 || i==2){
return 1;
}else{
return fib(i-1)+fib(i-2);
}
}
int main(){
//declaracion de variables
int n;
//pide el numero para calcular dicha secuencia
cout<<"digite el numero para calcular la secuencia: ";
cin>>n;
//calcula para la secuencia
for(int i=1;i<=n;i++){
cout<<fib(i)<<" ";
}
return 0;
}
Resultados
P á g i n a 13 | 17
return f*factorial(f-1);
}
}
int main(){
//declaracion de variables
int f=0,r=0;
//pide numero para su respectivo factorial
cout<<"que factorial desea ver"<<endl;
cin>>f;
r=factorial(f);
//muestra el numero y su factoral
cout<<"el numero factorial de "<<f<<" es "<<r<<endl;
system("pause");
return 0;
}
Resultados
Explicacion: primero pide el valor para sacar el factorial, despues pasa por el if y else y
calcula el factorial , luego manda a llamar la funcion con el resultado y lo imprime
P á g i n a 14 | 17
//muestra de los resultados
int main(){
pedirdatos();
cout<<"\n la multiplicacion de los elementos es: "<<calcularmul(vec,tam)<<endl;
getch();
return 0;
}
//terminacion de la muestra de los resultados
Explicacion: primero pide el tamaño del vector despues digita los elementos del vector
luego pasa por la funcion calcularmul para hacer el proceso y imprime el resultado
P á g i n a 15 | 17
hanoi(n - 1, origen, auxiliar, destino);
cout<<"\nmover disco "<<n<<" del poste "<<origen<<" al poste "<<destino;
hanoi(n - 1, auxiliar, destino,origen);
}
return 0;
}
int main(void)
//pide la cantidad de postes para realizar los movimientos
{
int valor;
cout<<"ingresa el numero de discos -> ";
cin>>valor;
hanoi(valor, 'A', 'C', 'B');
}
Resultado
Explicacion: primero pide el numero de discos despues manda a llamar a la funcion hanoi
para poder hacer los movimientos despues imprime la lista para poder realizar dichos
movimientos
P á g i n a 16 | 17
CONCLUSIONES
P á g i n a 17 | 17