Java

Solo disponible en BuenasTareas
  • Páginas : 3 (625 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de noviembre de 2010
Leer documento completo
Vista previa del texto
Ejercicios de Recursividad Examen Junio 2004: (DURACIÓN: 20 minutos, PUNTUACIÓN: 1.5 puntos) Dada una lista cuya definición de tipos es la siguiente
typedef int TElemento;

typedef struct nodo {TElemento elem; struct nodo *sig; } TNodo;

Se pretende realizar una función que, mediante un algoritmo recursivo, calcule la suma de los enteros almacenados en los nodos cuyo valor sea superior a unvalor umbral que se pasará como parámetro a la función. Ejemplo: A partir de la siguiente lista y el valor umbral 3. lista

4

3

5

2

6
NULL

La suma devuelta por la función es 15 quecorresponde a la suma de 4, 5 y 6 que son los números mayores de 3 que hay en la lista. Se pide: 1.- Codificar, en C, la función cuyo prototipo es:
void sumaEnteros (TNodo *lista, int umbral, int*suma);

Nota: suma es un parámetro de salida. Una posible solución sería:
void sumaEnteros (TNodo *lista, int umbral, int *suma){ if (lista==NULL) *suma = 0; else{ sumaEnteros (lista->sig, umbral,suma); if (lista->elem > umbral) *suma = *suma + lista->elem; } }

Examen Septiembre 2004: (DURACIÓN: 20 minutos, PUNTUACIÓN: 1.5 puntos) Dada una lista cuya definición de tipos es la siguiente:typedef char TCadena [30]; typedef struct{ TCadena nombre; TCadena apellidos; }TElemento; typedef struct nodo{ TElemento elem; struct nodo *sig; }TNodo;

Se pretende realizar una función que, medianteun algoritmo recursivo, calcule el número de personas que tienen un determinado nombre, que se le pasará como parámetro a la función. Ejemplo:
Luis Perez Jose Gil Luis Ruiz Luis Diez Juan

NULLColl

lista nombre = Luis. Apariciones = 3. Se pide: Codificar, en C, la función que realiza la operación descrita y cuyo prototipo es:
int cuentaNombre (TNodo *lista, TCadena nombreBuscado);

enel que el valor devuelto por la función es el número de personas que están en la lista que se pasa como primer parámetro cuyo nombre coincide con el nombreBuscado
que se pasa como segundo parámetro....
tracking img