Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ciencias
Escuela Profesional de Ciencia de la Computación
Introducción a la Programación
Examen Sustitutorio
BIC01 Ciclo: 2018-2 Fecha: 22/12/2018
Normas:
1. El alumno entregará esta hoja de examen debidamente llenada con sus datos.
2. Tiempo de prueba: 1:45
3. No se permite: El uso de celulares, internet, USB, ingresar después de 15 min. de iniciado el
examen ni salir antes de la hora de finalización.
4. Todo acto anti-ético será amonestado y registrado en el historial del estudiante.
1. [5 ptos.] El puzle de "las Torres de Hanói" consiste en hacer pasar todo los discos, que inicialmente
están en la primera torre, a la tercera, usando la segunda como pivote tal como se muestra en la
figura. Las reglas son:
Solamente puede moverse el disco superior de una torre (el que está encima de todo)
No podemos poner un disco sobre otro de menor tamaño
Lo que se pide es una función recursiva que escriba los movimientos a realizar para resolver un
puzle para un número de discos ingresados por el usuario.
#include<iostream>
#include<stdlib.h>
using namespace std;
int main() {
int n;
char A, B, C;
cout << " Torres de Hanoi " << endl << endl;
cout << "El juego consite en un conjunto de discos y tres bases: " << endl;
cout << "A : Origen " << endl;
cout << "B : Pivote " << endl;
cout << "C : Destino" << endl << endl;
cout << "El objetivo consiste en pasar los discos de A hacia C" << endl;
cout << "Usando B como pivote " << endl << endl;
cout << "Ingrese el numero de discos: ";
cin >> n; cout << endl;
TorresHanoi(n, 'A', 'C', 'B');
system("pause");
return 0;
}
2. [5 ptos.] Realizar un programa que lea un arreglo unidimensional de N números reales, luego,
haciendo uso de la función de recursividad el programa debe imprimir el número mayor y menor
de dicho arreglo.
Ingrese el tamanho del vector: 5
#include <iostream>
using namespace std;
void llenar_vector(float Vec[], int n);
float max_vector(float Vec[], int n);
float min_vector(float Vec[], int n);
int main()
{
float A[10];
int n;
cout << " Ingrese el tamanho del vector: ";
cin >> n;
llenar_vector(A, n);
cout << "\n El valor maximo es: " << max_vector(A, n) << endl;
cout << " El valor minimo es: " << min_vector(A, n) << endl;
system("pause");
return 0;
}
}
}
}
}