Está en la página 1de 9

Benemérita Universidad

Autónoma de Puebla

Programación II - CCOS 010 – 006


Profesor: Hilario Salazar Martínez
Alumno: Eduardo Fco. Cortes Navarro
28/04/2022
Ejercicios de recursividad:

R=a)Calcula la raíz de una función con resultado=1.41421365


y si cambiamos el valor N calculamos una función distinta
MAIN:
package decimalhexa;

import static decimalhexa.Conversion.decimalAHexadecimal;


import java.util.Scanner;
public class DecimalHexa {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.print("Ingrese un numero decimal a convertir a
hexadecimal: ");
int num=sc.nextInt();
int decimales[] = { num };
for (int decimal : decimales) {
String hexadecimal = Integer.toHexString(decimal);
hexadecimal = decimalAHexadecimal(decimal);
System.out.printf("La conversion de: %d es: %s\n", decimal,
hexadecimal);
}
}
}
Clase Conversion:
package decimalhexa;

public class Conversion {

public static String decimalAHexadecimal(int decimal) {


String hexadecimal = "";
String caracteresHexadecimales = "0123456789abcdef";
while (decimal > 0) {
int residuo = decimal % 16;
hexadecimal = caracteresHexadecimales.charAt(residuo) +
hexadecimal; // Agregar a la izquierda
decimal /= 16;
}
return hexadecimal;
}
}
4.- Implemente, tanto de forma recursiva como de forma iterativa,
una función que nos diga si una cadena de caracteres
es simétrica (un palíndromo).
Por ejemplo, “DABALEARROZALAZORRAELABAD” es un
palíndromo.

FORMA RECURSIVA
Clase Main:
package palabrapalindromo;
import java.util.Scanner;
import static palabrapalindromo.Revisa.esPalindromo;
public class PalabraPalindromo {

public static void main(String[] args) {


Scanner sc =new Scanner(System.in);
System.out.print("Ingrese una palabra: ");
String palabra= sc.nextLine();
String[] cadenas = { palabra };
for (String cadena : cadenas) {
System.out.println("¿'" + cadena + "' es
palíndromo? " + esPalindromo(cadena));
}
}
}
Clase Revisa:

package palabrapalindromo;
public class Revisa {
public static boolean esPalindromo(String cadena) {

String invertida = new


StringBuilder(cadena).reverse().toString();
return invertida.equals(cadena);
}
}

5.- Implemente, tanto de forma recursiva como de forma iterativa,


una función que le dé la vuelta a una cadena de
caracteres.
FORMA RECURSIVA
Clase Main:
package voltearpalabra;
import java.util.Scanner;
import static voltearpalabra.Revisar.invertirCadena;
public class VoltearPalabra {

public static void main(String[] args) {

Scanner sc =new Scanner(System.in);

System.out.print("Introduce una cadena de texto: ");


String cadena = sc.nextLine();
String invertida = invertirCadena(cadena);
System.out.printf("Cadena invertida: %s", invertida);
}
}

Clase Revisar:
ackage voltearpalabra;

public class Revisar {


public static String invertirCadena(String cadena){
if(cadena.length()==1){
return cadena;
} else {
return invertirCadena(cadena.substring(1)) + cadena.charAt(0);
}
}
}

Capturas:
Palindromo:

Hexadecimal:

Cadena volteada:

Video: https://youtu.be/MRI0G-RkXc0
No sabia hasta que hora teníamos entonces solo hice los problemas con
recursividad para entregarlo lo antes posible

También podría gustarte