Вы находитесь на странице: 1из 3

MATERIA: Elementos de Programacin y Estructuras de Datos GRUPO: 1 PRCTICA DE RECURSIVAD

Auxiliar: Milton Mamani Torres

1.

Objetivo: El objetivo es este trabajo es que te familiarices con la recursividad y puedas formar tus propios algoritmos. No olvides que para esta prctica no puedes usar estructuras iterativas como FOR o WHILE o DOWHILE, slo usa la estructura IF-THEN-ELSE y en algunos casos la librera Math.

2.

Descripcin: Resuelve los siguientes ejercicios, los que puedas, no es necesario que los hagas todos, soluciones interesantes sern doblemente puntuadas. Escribe un mtodo recursivo que realice el producto entre dos nmeros naturales [1,2,3,.] usando nicamente la suma. Escribe un mtodo determine si un nmero n es primo o no. Escribe un mtodo recursivo que reciba un nmero n y nos indique la cantidad de dgitos que posee. Escribe un mtodo recursivo que reciba dos nmeros enteros positivos [0,1,2,3,], el dividendo y el divisor y nos devuelva la divisin y el residuo usando nicamente sumas y restas. Escribe un mtodo recursivo que imprima por la salida estndar, los factores primos de un nmero n: Ejemplo para 15, se mostrarn: 3, 5. Escribe un proceso recursivo que te permita determinar cuando un nmero es perfecto; un nmero es perfecto, si la suma de todos sus divisores es igual al mismo nmero. Ejemplo para 28, es perfecto porque: 1+2+4+7+14 = 28. Escribe un proceso recursivo que reciba un arreglo de nmeros enteros y nos devuelva el promedio en forma de cadena con 3 decimales. Ejemplo para [1,2,3] el promedio ser = 2.000. Escribe un proceso recursivo que permita ordenar los elementos de un arreglo de elementos enteros. Ejemplo: [4,2,3] despus de ordenarlo ser [2,3,4]. Escribe un proceso recursivo que permita encontrar el mnimo elemento de un arreglo de nmeros reales, el elemento debe ser devuelto en forma de cadena con 5 decimales despus del punto. Ejemplo [3,2,1] devolver la cadena: 1.00000. Escribe un proceso recursivo que permita encontrar todos los ndices en los que se encuentra un elemento en un arreglo de enteros, Ejemplo: el arreglo ser [1,2,3,4,5,5,1,5] se pide encontrar 5 devolver [4,5,7]. Se dice que n es un nmero que explota, cuando ste explota en varios fragmentos ms chicos que l, dad una bomba. Si se tiene que n es el nmero y b la bomba, tales, que n es mayor que b, se puede hacer que n explote, en dos nmeros n1 = n/b y n2 = n-(n/b). Pero b es una bomba que produce una reaccin en cadena, si n1 o n2 son mayores que b, stos tambin explotan con la regla anterior, hasta que se encuentre el nmero no es mayor que b, entonces se dice que ya no se puede explotar el nmero. Por ejemplo, si n = 10 y b = 3, entonces n explota en los pedazos: 3,2,1,1 y 3. Escribe un proceso que permita mostrar los pedazos del nmero n dado que se tiene la bomba b. Dada una cadena se pide que encuentres la cantidad de veces que aparece un carcter en la cadena, por ejemplo, si la cadena es Elementos de programacin y x =e, la cantidad ser 4. Dada una cadena se pide generar la misma cadena pero invertida. Ejemplo: para la cadena Roma el resultado es amoR. Para una cadena debes contar la cantidad de vocales que tiene, por ejemplo para Elementos de programacin, el resultado es 10. Escribir una solucin recursiva que calcule la funcin de Ackerman para valores de m y n dados. La funcin de Ackerman se describe del siguiente modo: A(m,n) = n+1, si m= 0

MATERIA: Elementos de Programacin y Estructuras de Datos GRUPO: 1

Auxiliar: Milton Mamani Torres

A(m,n) = A(m-1,1), si n = 0 A(m,n) = A(m-1, A(m,n-1)), si m es mayor que 0 y n es mayor que 0. Definimos el inverso simple de una secuencia de caracteres, al inverso de la secuencia sin sus repeticiones consecutivas. Por ejemplo, el inverso simple de aaabccdddaaebb es beadcda. Escribe un proceso recursivo para obtener el inverso simple de una secuencia de caracteres. Se desea obtener el conjunto potencia de un arreglo de enteros, por ejemplo para el arreglo[1,2,3] el conjunto potencia ser [ [], [1], [2], [3], [1,2], [2,3], [1,3], [1,2,3] ]. Se desea encontrar la suma de los nmeros enteros que se encuentran entre 1 y el N incluidos, por ejemplo si N es -3 el resultado es -5. Vamos a considerar a los nmeros ai, i = 0, 1, 2, , que satisfacen los siguientes requerimientos.

a0 = 0 a1 = 1 a2i = ai a2i+1 = ai + ai+1


Para cada i = 1, 2, 3,. Escribe un mtodo recursivo que dado un N (0<N<100000) encuentre el mayor valor de los nmeros a0, a1, Por ejemplo si N = 5 entonces el mayor ser 3, si N = 10 entonces el mayor ser 4. Consideremos las siguientes frmulas:

, aN.

An = sen(1sen(2+sen(3sen(4+sen(n))) Sn = ((A1+n)A2+n1)A3++2)An+1
Se pide encontrar el Sn, en forma de cadena, no debe de sobrar ni faltar ningn smbolo. Por ejemplo si N fuera 3 la cadena sera: ((sen(1)+3)sen(1sen(2))+2)sen(1sen(2+sen(3)))+1. Cientficos de la Universidad de San Simn han creado unos nuevos animalitos llamados YOVIS, estos curiosos animalitos se viven en colonias sobre el agua, y siempre estn en constante movimiento, cuando dos de ellos chocan forman un nuevo animalito, pero tras muchos estudios los cientficos observaron que el peso del nuevo animalito no era igual que la suma de los pesos de los dos anteriores, en el choque cierto peso desaparece, pronto descubrieron que el peso de dos YOVIS m1 y m2 que chocaban era igual a 2*sqrt(m1*m2), los cientficos estn ansiosos por saber cunto puede decrementarse el peso de la poblacin de YOVIS. Tu trabajo consiste en encontrar cunto puede decrementar el tamao de la poblacin, debes asumir que nunca puede colisionar 3 YOVIS al mismo tiempo. Se te pasar un arreglo que contiene los pesos de cada individuo, por lo menos te pasaremos un individuo, debe imprimir el menor peso que resultar de los choques entre cada YOVI, con dos decimales despus del punto. Por ejemplo [72,30,50] nos dar como resultado: 120.00 Escribe un mtodo recursivo que reciba un nmero entero N (0<N<101) y se imprima por la salida estndar la siguiente entra: Para N=1: 1

MATERIA: Elementos de Programacin y Estructuras de Datos GRUPO: 1

Auxiliar: Milton Mamani Torres

Para N=2: 21 43 Para N=3 421 753 986 Realiza el algoritmo para cualquier N. Escribe un mtodo recursivo para reconocer cuando un nmero entero positivo es par, un nmero es par si el nmero anterior es impar, de la misma forma se sabe que un nmero es impar si el que le precede es un nmero par, si es cero se sabe que el cero es par. Ejemplo para N=0, la respuesta ser verdadero. Escribe un mtodo recursivo para reconoces cuando una cadena es palndroma, una cadena es palndroma si se lee igual de derecha a izquierda, por ejemplo: Oruro es palndroma.

3.

Reglas: Para poder responder los 24 ejercicios, debes basarte en las siguientes anotaciones: La copia est prohibida, en el caso de demostrarse copia, el trabajo no vale. No es necesario que respondas a cada ejercicio, se calificar de acuerdo a lo que la mayora pudo hacer. Se pueden formar grupos de 1 a 3 personas. Se puede presentar de forma impresa o al correo electrnico akevalion@hotmail.com . En el caso de presentar impreso, el documento deber estar sin cartula, slo nombres y el trabajo. En el caso de presentar al correo, compreso en formato .zip, con una descripcin de los miembros del equipo. La fecha de presentacin es hasta la hora del da sbado 25 de septiembre 24:00. Dudas al correo. Despus de la hora de entrega se publicar la resolucin de cada ejercicio de la prctica.

Вам также может понравиться