SISTEMA DE UNIVERSIDAD ABIERTA (U - .: Docencia ...docencia.fca.unam.mx/~rcastro/rt/eg.doc · Web...

14
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO FACULTAD DE CONTADURIA Y ADMINISTRACION DIVISION DEL SISTEMA DE UNIVERSIDAD ABIERTA Materia : Análisis diseño e implantación de algoritmos (plan 98) EJERCICIOS DE ALGORITMOS Analisis de problemas y desarrollo de algoritmos Actividades: Desarrollar los pasos para el análisis e implantación de algoritmos en lenguaje C o C++ para los siguientes problemas. 1).- Si el triple de un numero se le resta 12, el resultado es igual a 15. Cual es el numero? 2).- La suma de dos numeros es 57 y el mayor excede al menor en 5. Cuales son estos numeros ? 3).- La edad de Mario y de Pedro suman 74 años. Mario es 12 años mayor que pedro. Que edad tienen Mario y Pedro. 4).- Con $ 450.00 se compraron un pantalón y una camisa los alumnos de informatica. Si el pantalón vale lo doble que la camisa. Cuanto costo la camisa y cuanto el pantalón. 5).- El perímetro de un triangulo escaleno mide 48 cm. El lado b es doble del lado a, y el lado c excede en 8 cm al lado a. Cuanto mide cada lado ? 6).- Eduardo y Antonio tienen $ 720.00. Eduardo tiene $ 200.00 mas que Antonio. Cuanto tiene cada uno. 7).- La suma de las edades actuales de un padre y de su hijo es 56 años. Dentro de 12 años, la edad del padre será cuatro veces la del hijo. Cual es la edad actual de cada uno ? 8).- Hallar tres numeros enteros consecutivos pares, culla suma sean 252 9).- Calcular las dimensiones de un rectángulo, cuyo perímetro es 52 cm. Sabiendo que el largo mide 8 cm mas que el ancho. 10).- Dividir el numero 640 en dos partes, de modo que un quinto de la mayor exceda a la mitad de la menor en 30. Lógica Algorítmica 1. De las siguientes oraciones determinar cuales son proposiciones válidas y especificar cuales no lo son, Explicar el porque. P: La tierra es plana Q: -17 + 38 = 21 R: x > y – 9 S: el Atlas será campeón en la presente temporada de fut-bol T: Como estas W: Lava el coche por favor

Transcript of SISTEMA DE UNIVERSIDAD ABIERTA (U - .: Docencia ...docencia.fca.unam.mx/~rcastro/rt/eg.doc · Web...

UNIVERSIDAD NACIONAL AUTONOMA DE MEXICOFACULTAD DE CONTADURIA Y ADMINISTRACION

DIVISION DEL SISTEMA DE UNIVERSIDAD ABIERTA

Materia : Análisis diseño e implantación de algoritmos (plan 98)

EJERCICIOS DE ALGORITMOS

Analisis de problemas y desarrollo de algoritmosActividades:

Desarrollar los pasos para el análisis e implantación de algoritmos en lenguaje C o C++ para los siguientes problemas.

1).- Si el triple de un numero se le resta 12, el resultado es igual a 15. Cual es el numero?

2).- La suma de dos numeros es 57 y el mayor excede al menor en 5. Cuales son estos numeros ?

3).- La edad de Mario y de Pedro suman 74 años. Mario es 12 años mayor que pedro. Que edad tienen Mario y Pedro.

4).- Con $ 450.00 se compraron un pantalón y una camisa los alumnos de informatica. Si el pantalón vale lo doble que la camisa. Cuanto costo la camisa y cuanto el pantalón.

5).- El perímetro de un triangulo escaleno mide 48 cm. El lado b es doble del lado a, y el lado c excede en 8 cm al lado a. Cuanto mide cada lado ?

6).- Eduardo y Antonio tienen $ 720.00. Eduardo tiene $ 200.00 mas que Antonio. Cuanto tiene cada uno.

7).- La suma de las edades actuales de un padre y de su hijo es 56 años. Dentro de 12 años, la edad del padre será cuatro veces la del hijo. Cual es la edad actual de cada uno ?

8).- Hallar tres numeros enteros consecutivos pares, culla suma sean 252

9).- Calcular las dimensiones de un rectángulo, cuyo perímetro es 52 cm. Sabiendo que el largo mide 8 cm mas que el ancho.

10).- Dividir el numero 640 en dos partes, de modo que un quinto de la mayor exceda a la mitad de la menor en 30.

Lógica Algorítmica1. De las siguientes oraciones determinar cuales son proposiciones válidas y especificar cuales no lo son,

Explicar el porque.P: La tierra es planaQ: -17 + 38 = 21R: x > y – 9S: el Atlas será campeón en la presente temporada de fut-bolT: Como estasW: Lava el coche por favor

2. Si una sustancia orgánica se descompone, sus componentes se transforman en abono y fertilizan el suelo.Hacer:

a) la simbolización correspondiente a esta proposiciónb) Determinar la sintaxis de su fórmula proposicional

3. Yo soy malayo o pigmeo solo si tu eres capáz de beberte esa cerveza.Hacer:

a) la simbolización correspondiente a esta proposiciónb) Determinar la sintaxis de su fórmula proposicional

4. La estructura lógica condicional en programacion de sistemas es : if p then q else rHacer:a) Determinar cual es su fórmulab) Hacer un programa en “C” que a partir del numero de un mes diga de que mes se trata.

5. Evaluar la siguiente formula a traves de tablas de verdadA <-> B = (A ->B) y (B->A)

6.- Evaluar la siguiente formula y demostrar que es una tautología A= P y (Q o R) <-> (P y Q) o (P y R)

7.- Evaluar la siguiente fórmula a traves de las tablas de verdad donde 1 = verdadero y 0 = falso [ (P ->Q) o (no Q y R) ] <-> (R -> Q)

8.- Convierta 10001112 en un numero decimal y compruebe su resultado haciendo la conversión contraria

9.- Convierta 1010112 en un numero decimal y compruebe su resultado haciendo la conversión contraria

10.- Convierta 110011002 en un numero decimal y compruebe su resultado haciendo la conversión contraria

11.- Convertir 29110 a un número binario y compruebe su resultado haciendo la conversión contraria

12.- Convertir 64058 a su equivalente en decimal y compruebe su resultado haciendo la conversión contraria

13.- Convertir 2248 a su equivalente en decimal y compruebe su resultado haciendo la conversión contraria

14.- Convertir 101111012 en un numero octal y compruebe su resultado haciendo la conversión contraria

15.- Convertir 110101001101111010010002 en un numero octal y compruebe su resultado

16.- Convertir 3778 en numero binario y compruebe su resultado

17.- Convertir el número hexadecimal A6F016 a decimal

18.- Convierta 111100000011102 a un numero hexadecimal

19.- Convierta C3A616 a un numero binario

20.- Convierta 48BA16 a un numero binario

Cadenas, gramáticas y lenguajes.

1.- Escriba un ejemplo de símbolos

2.- Escriba un ejemplo de vocabulario o alfabeto para V1, v2,v3

3.- Sea V2={0,1} escriba una cadena de este alfabeto.

4.- Sea | abcd |; |a+2*b|; |if a>b then a=b; | determinar la ongitud de cadena de cada uno de estos elementos

5.- Ponga un ejemplo de cadena vacía.

6.- Si w=”lenguaje”, x=”logico”; cual será la concatenación de cadenas de w,x en α

7.- Sea un alfabeto V={ a}, cual será su universo del discurso w(v).

8.- Que son los palindromos, poner un ejemplo

9.- Sea la gramática G=(VT,VN,S,P) donde VT={a,b}, VN={S}, escriba simbólicamente las reglas de producción siguientes.

10.- Sea la gramática G=(VT,VN,S,P) donde VT={a,b}, VN={S}, y el conjunto de producciones es: A->ab y S->aSb cual será la derivación directa de cadenas que se obtiene e indique que tipo de gramática es y por que.

11.- Sea la gramática G=({S,A,B},{a,b,c,d},S,P) donde P tiene las siguientes reglas de producción: 1) S->ASB, 2) A->b, 3) aaA->aaBB4) S->d, 5) A->aA,6) B->dcd e indique que tipo de gramática es y porque.

12.- .- Sea la gramática G4=({S},{a,b},S,P) donde P={(S->aSb), S->ab)}.Determinar el lenguaje que genera.

13.- .- Sea la gramática G=({S,A,B},{a,b},S,P) cuyas producciones P son:S->aB; S->bA; A->a; A->aS ; A->bAA;B->b B->bS B->aBB

Determine que tipo de gramática es y porqué.

14.- .- Sea la gramática G=({a,b},{A,S},S,P) donde P son:S->aS; S->aA; A->bA; A->b;Determine que tipo de gramática es y porqué.

15.- Sea el vocabulario {a,b} y la expresión regular aa*bb**. Indicar el lenguaje que denota y algunas cadenas de dicho lenguaje.

Redes y teoría de Autómatas.

1.- Encontrar los pesos de la siguiente red y dibujar su grafo dirigido

A={3,5,6,8,10,17} y R={<3,10>,<5,6>,<5,8>,<6,17>,<8,17>,<10,17>}

2.- Sea N={J,K,L,M,N,Ñ,O,P,Q} donde N es un conjunto de nodos y M={<J,L>,<L,M>,<L,Ñ>,<K,M>,<K,N>,<M,Ñ>,<N,P>,<Ñ,M>,<Ñ,O>,<O,Q>,<O,P>,<P,O>,<P,N>,<Q,P>,<J,J>,<N,N>,<Q,Q>}. Hacer el grafo dirigido de M y determinar el grado de entrada y grado de salida de los siguientes nodos: O,P y Q.

3.- Sea N={B,E,H,G,F,C,A,D} donde N es un conjunto de nodos o ciudades de la Republica Mexicana y M={<B,H>,<B,E>,<B,F>,<H,G>,<G,F>,<F,G>,<C,G>,<A,C>,<A,D>,<G,B>}Son arcos o caminos.Problema: Determinar si hay un camino de la longitud requerida por la cual se puede viajar de la primera de las ciudades a la segunda.Algoritmo: Hacer un grafo dirigido de M y determinar.a.- Encontrar un camino de longitud nr del nodo A al nodo Bb.- Buscar un nodo C tal que exista un arco de A a C y un camino de longitud nr – 1 de C a Bc.- Si hay algun nodo C que satisfaga dichas condiciones, el camino deseado existe, si no se satisfacen las condiciones para ningun nodo C, el camino deseado no existe.

4.- Sea el autómata A=(E,S,Q,f,g) donde E = {a,b}, S = {0,1} y Q = {q1,q2,q3} y las funciones f,g se representan en la tabla de transición siguiente.

Hacer: Representar esta tabla de transición en diagrama de Moore.

5.- De la siguiente tabla de transición combinada construir una máquina de Moore.

6.- Diseñar una máquina de Turing que acepte el lenguaje L = {0n 1n /n >= 1}

7.- Construir un autómata de pila que reconozca el lenguaje L ={0n 1n /n >= 0}

8.- Sea el autómata finito A1 = (E,Q,f,q,F) donde E = {a,b} U {} ; Q = {q1,q2,q3,q4}

y la funcion f viene dada por la tabla siguiente y el conjunto de estados finales es F={q3}

Determinar el lenguaje que reconoce, representar el diagrama de Moore, e indicar la expresión regular que representa el lenguaje.

9.- A partir del siguiente diagrama de Moore, determinar la máquina M1={Q,,,q0,F} , su tabla de transición y que lenguaje genera.

10.- A partir del siguiente diagrama de Moore, determinar la máquina M2={Q,,,q0,F} , su tabla de transición y que lenguaje genera.

11.- A partir del siguiente diagrama de Moore, determinar la máquina M3={Q,,,q0,F} , su tabla de transición y que lenguaje genera.

12.- A partir del siguiente diagrama de Moore, determinar la máquina M4={Q,,,q0,F} , su tabla de transición y que lenguaje genera.

13.- A partir del siguiente diagrama de Moore, determinar la máquina M5={Q,,,q0,F} , su tabla de transición y que lenguaje genera.

14.- Definir una gramática que permita generar todos los números racionales escritos en decimal conformato:

<signo><parte entera>.<parte fraccionaria>

Construir un autómata que reconozca dichos números.

15.- Sea el autómata finito A3={E,Q,f,q1,F) donde E={a,b,c}, Q={q1,q2,q3,q4,q5}, f se representa por la tabla de transición donde a={q2,q5,q5,q5,q5}, b={q3,q5,q5,q5.q5} y c={q5,q5,q4,q5,q5}. Construir la tabla de transición correspondiente, representar el diagrama de Moore y determinar el lenguaje que reconoce y dotarlo con una expresión regular.

Lenguajes, compiladores y Sistemas Operativos.

1.- Considere la siguiente gramática:S ::= ABA ::= aA ::= BaBB ::= bbA

Cual de las siguientes frases es FALSAa).- La longitud de toda cadena producida por la gramática es parb).- Ninguna cadena producida por la gramática es parc).- Ninguna cadena producida por la gramática tiene tres a’s consecutivasd).- Ninguna cadena producida por la gramática tiene cuatro b’s consecutivase).- Toda cadena producida por la gramática tiene al menos tantas b’s como a’s.2.- Cuales de las siguientes frases son ciertas para un interprete?I.- Genera codigo objetoII.- Maneja variables de tipo estáticoIII.- Maneja variables de tipo dinamico

a).- Ninguna b).- I c).- I y II d).- III e).- I, II y III

3.- Una definición particular de “word” esta dada por las siguientes reglas:<word> ::= <letter> | <letter> <pairlet> | <letter> <pairdig><pairlet> ::= <letter> <letter> | <pairlet> <letter> <letter><pairdig>::= <digit> <digit> | <pairdig> <digit> <digit><letter> ::= a | b | c |…| z<digit> ::= 0 | 1 | 2 | …| 9

Cuales de las siguientes entidades lexicas pueden ser derivadas a partir <word> ?

I. wordII. wordsIII. c22

a).- Ninguna b).- I y II unicamente c).- I y III unicamente d).- II y III unicamente e).- I, II y III

4.- Que es cierto respecto a verificación estática y la verificación dinámica de tipos ?I. En general los programas verificados estáticamente corren mas rápido que los verificados dinámicamenteII. La verificación dinamica es mas util para encontrar errores que la estaticaIII. La verificación de tipos es parte del análisis semántico

a).- Ninguna b).- I y II c).- II d).- I y III e).- I, II, III

5.- El analizador léxico del lenguaje Pascal lee carácter por carácter, desde un cierto punto, hasta que se da cuenta que reconoce un “token”. Supongamos que los “tokens” de pascal son : identificadores, constantes, palabras claves (key words) y operadores.Para cual de las siguientes secuencias de caracteres el analizador léxico de Pascal puede determinar que ha visto el “token” completo sin ver el siguiente carácter ?

I. [II. 3.1416III. while

a).- I b).- II c).- I y II d).- I y III e).- II y III

6).- Cual de las siguientes características de un lenguaje requiere el uso de “stacks” (pilas) en lugar de variables de tipo estático ?

a).- Parámetros por referenciab).- Funciones de valor enterac).- Arreglos bidimensionalesd).- “goto’s” arbitrariose).- Rutinas recursivas

7).- Dos estaciones de trabajo estan conectadas a una red local. Una de las estaciones tiene accesos a los archivos via red de un servidor de archivos, el tiempo promedio para acceder de esta manera a una pagina de un archivo es de 0.1 seg.La otra estacion de trabajo accesa los archivos de un disco local con el tiempo promedio de 0.05 seg. Por pagina. Una compilación particular requiere de 30 segundos de tiempo de procesamiento mas de 200 accesos a paginas de un archivo.

Cual es la proporcion de tiempo total requerido para la compilación por la primera estacion (sin disco) al tiempo total requerido por la segunda (con disco), suponiendo que el procesamiento no se traslapa con accesos a los archivos ?

a).- 1/1 b).- 5/4 c).- 5/3 d).- ½ e).- 3/1

8).- Supongamos que la protección de los archivos de un sistema está representada por una matriz A de derechos de acceso, donde A(i, j) denota el conjunto de derechos que el usuario i tiene sobre el archivo j. Los usuarios estan divididos en grupos y pueden pertenecer a mas de un grupo. Existen tres modos distintos de acceder los archivos: (R)ead, (W)rite y (E)xecute.El sistema tiene tres tipos de archivos: Correo, texto y Binario. Considere el siguiente conjunto de políticas de seguridad:

a).- Cada usuario tiene acceso R y W a todos los archivos que le pertenecen, mas acceso E a los archivos binarios que le pertenecen.b).- Usuarios en un grupo tiene acceso E a los archivos Binarios de todos los usuarios en ese mismo grupo, acceso R a los archivos Correo de todos los usuarios en ese mismo grupo.c).- Un super usuario tiene acceso a todos los archivos del sistema como si fueran los archivos de su pertenencia.

Maria, Juan y Alicia son tres usuarios del sistema. Maria y Alicia estan en el mismo grupo. Juan es super usuario. Cual de las siguientes frases es INCONSISTENTE con las políticas anteriores ?

a).- Juan tiene acceso W a los archivos Correo de Aliciab).- Juan tiene acceso E a los archivos Correo de Aliciac).- Maria tiene acceso R a los archivos Texto de Aliciad).- Juan tiene acceso E a los archivos Binarios de Mariae).- Maria tiene acceso R a los archivos Correo de Maria

9.- Cuales de las siguientes frases son correctas ?

I.- El cargador de arranque normalmente reside en ROMII.- El paso de parámetros por valor no afecta a los valores del parámetro formal en la subrutina invocadaIII.- Un ensamblador solo permite el uso de macros y un compilador solo permite el uso de subrutinas

a).- Ninguna b).- I y II c).- III d).- I e).- II y III

10).- Cuales de las siguientes frases describen funciones de un sistema operativo ?

I.- Administración de memoria y discoII.- Carga de programas compilados a memoriaIII.- Responde a interrupciones y “traps”

a).- Ninguna b).- I y II c).- III d).- II y III e).- I, II y III

Maquina de Turing, Autómatas y Lenguajes Formales.1.- la definición de algoritmo NO requiere que:

a).- Su ejecución termine después de ejecutar un numero finito de pasosb).- Cada instrucción este claramente especificada y ejecute en tiempo finitoc).- Siempre encuentre la respuesta correctad).- El tiempo de ejecución de cada instrucción este acotado por una funcion lineal dadae).- Todas las anteriones

2.- La siguiente Máquina de Turing tiene como propósito sacar una copia de una cadena binaria, de una configuración inicial:

...###10001###...

se desea pasar a la configuración final:

...###10001#10001##...

La idea es: para cada digito a copiar, se marca éste con una “x” o “y”, se recorre la cinta hasta encontrar espacio en el extremo derecho, se copia el digito, se regresa a la izquierda y se restituye el digito original. Por ejemplo:

...###10001###...

...###x0001###...

...###x0001#1#...

...###10001#1#...

...###1y001#1#...

...

El programa es el siguiente (la cabeza se encuentra leyendo el digito mas significativo al inicio de la operación), con q1 como estado inicial, y q9 final:---------------------------------------------------------------------------------------------------------------------------------------------------Estado Leyendo Símbolos----------------------------------------------------------------------------------------------------------------------------------------------------

0 1 x y #q1 (q2,x,R) (q4,y,R) (q8,#,R)q2 (q2,0,R) (q2,1,R) (q3,#,R)q3 (q3,0,R) (q3,1,R) (q6,0,L)q4 (q4,0,R) (q4,1,R) (q5,#,R)q5 (q5,0,R) (q5,1,R) (q6,1,L)q6 (q6,0,L) (q6,1,L) (q7,#,L)q7 (q7,0,L) (q7,1,L) ? (q1,1,R)q8 (q8,0,L) (q8,1,L) (q9,#,L)q9 - - - - -

En la tabla anterior, la notación (q,s,D) indica que “estamos en un estado q, graba el símbolo s en la posición en la que esta la cabeza, y después mueve la caveza en la dirección indicada por D, ya sea a la izquierda (D = L) o a la derecha (D = R)”.Identificar la transición faltante de q7 leyendo una “x”.

a).- (q1,0,R)b).- (q2,0,R)c).- (q1,1,R)d).- (q1,1,L)e).- Ninguna de las anteriores

3.- Para n suficientemente grande, la notación g(n) = O(f(n)) para indicar la complejidad de g(n) establece que:

a).- Las medidas de complejidad de g y f son equivalentesb).- Existe una constante k tal que |f(n)|<=k*|g(n)|c).- Existe una constante k tal que |g(n)|<=k*|f(n)|d).- Existe una constante k tal que g(n)*f(n)<=k

e).- Ninguna de las anteriores

4.- Para cualquier expresión regular R:

a).- Es posible a veces construir un aceptador finito M tal que L(M) = L(R)b).- Es siempre posible construir un aceptador finito M tal que L(M) = L(R)c).- Es imposible construir un aceptador finito M tal que L(M) = L(R)d).- Es siempre posible construir un aceptador finito M tal que L(M) = L(R), aunque el aceptador tenga que ser no deterministicoe).- Ninguna de las anteriores

5.- Dadas las operaciones de (i) Union, (ii) Concatenacion, y (iii) Intersección, la clase de los lenguajes libres de contexto es cerrada bajo:

a).- (i), (ii), y (iii)b).- (i) y (ii)c).- (iii)d).- (ii) y (iii)e).- Ninguna de las anteriores

6.- La gramática libre de contexto (el signo ‘ ’ representa a la cadena vacia):

S ---- > AB|aA ---- > aB ---- >

Es equivalente a la gramatica con producciones

a).- A ---- > AB, A ---- > a, B ---- > bb).- S ---- > ac).- S ----- > Ad).- S ---- > A, A ---- > a|B, B ---- > aAe).- Ninguna de las anteriores7.- Los lenguajes sensibles al contexto pueden ser caracterizados como aquellos que:

a).- Son reconocidos por un autómata de pila (pushdown automaton)b).- Requieren de una máquina de Turing no determinista con cinta de longitud limitada (linear bounded automaton) para su reconocimientoc).- Estan formados por gramaticas que tienen reglas de la forma X ---- > , para X no terminal y una cadena de terminales y no terminalesd).- Requieren de una máquina de Turing no deterministica sin limitaciones en la cinta para su reconocimientoe).- Ninguna de las anteriores

8.- La gramatica lineal: ---- > AA ---- > 1BB ---- > 0B|0CC ---- > 0B|1C|1

RecursividadI.- Se denominan funciones recursivas a aquellas que se llaman a sí mismas por ejemplo del factorial de un número n.

n!=n·(n-1)·(n-2)...2·1 donde

El resultado del factorial de un número entero es un número entero mucho más grande (long), que puede sobrepasar el rango de los enteros (int) si n es grande.

1.-) Hacer la formulación de lo anterior

2.- Hacer el Pseudocodigo de para una función recursiva de factorial = 3

3.- De acuerdo a este algoritmo hacer el seguimiento para factoria = 34.-) Hacer una función en C usando el método recursivo

II.- Cuando queremos indicar productos de factores iguales, generalmente usamos la notación exponencial. En la notación exponencial la base es el factor que debe multiplicarse por si mismo tantas veces como lo indica el exponente. Por ejemplo85 se puede expresar por 8 x 8 x 8 x 8 x 8 de otro modo 8 a la 5ª potenciaCuando la base de una potencia es un numero positivo, el resultado siempre es positivo. Si la base es negativa, el signo del resultado depende del exponente, si el exponente es un numero par, el resultado es positivo; si es impar el resultado es negativo. Si el exponente es uno el resultado es igual a la base de la potencia. Si el exponente es 0 (cero), el resultado de la potencia siempre es igual a 1.

Resolver en forma manual las siguientes potencias:

(-5)4,(-5)5,13281 ,0.041,(-2456)1,(-0.378)1,(34/59)1,13280,(-0.375)0,2.180,(-4.30)0 y (8/89)0

1.-) Hacer la formulación recursiva de potencia

2.-) Hacer una función de potencia en lenguaje C usando el método recursivo

III.- La recursión Indirecta es cuando un método / función puede invocar a una segunda función / metodo que a su vez invoca a la primera.

1) Escriba un programa en C++ cuya salida sea en forma de una cadena las letras del abecedario usando una la recursion indirecta

IV.- La recursión Múltiple es cuando un método / función se invoca a si misma mas de una vez

1.-) Hacer una ecuación de recursión Múltiple en la sucesión de Fibonacci

2.-) Hecer una función de recursión Múltiple en lenguaje C de la serie de Fibonacci

V.- El máximo común divisor de dos o más números es el número, más grande posible, que divide a esos números.

1.-) Hacer la formulación recursiva del Máximo Común Divisor2.-) Hacer la función recursiva que implementa el MCD

VI.- El problema de las Torres de Hanoi es un problema clásico de recursividad.Problema: Tenemos tres torres: A, B, C y un conjunto de 5 discos, todos de distintos tamaños. El enigma comienza con todos los discos colocados en la torre A de tal forma que ninguno de ellos cae sobre uno de menor tamaño; es decir, estan apilados, uno sobre otro, con el mas grande hasta abajo, encima de él el siguiente en tamaño y asi sucesivamente. El propósito del enigma es apilar los cinco discos, en el mismo orden, pero en la torre C. Durante la solución, puede colocar los discos en cualquier torre, pero debe apegarse a las siguientes reglas:

- Solo puede mover el disco superior de cualquiera de las torres- Un disco mas grande nunca puede estar encima de uno mas pequeño

1).- Intenta resolver el enigma manualmente

2).- Explica en forma de pseudocodigo los pasos que seguiste para resolver el enigma

3).- Explica que pasos son Recursivos

4).- Diseñar una funcion recursiva llamada torres para este problema

5).- Hacer un programa en C++ para las torres de Hanoi implementando la funcion recursiva del punto 4

VI.- El problema de las 8 Reinas.Problema: Otro problema clásico de programación recursiva es el enigma de las 8 Reinas (o damas). El problema es colocar 8 reinas en un tablero de ajedrez de tal forma que ninguna ataque a las demás. En ajedrez una reina puede comerse a cualquier pieza desplazándose cualquier cantidad de casillas por una fila, una columna o en diagonal. Por lo tanto el dilema es colocar las 8 reinas en un tablero de 8 x 8 sin que compartan la misma fila, columna, o diagonal.

1).- Intenta resolver el enigma manualmente2).- Hacer el programa de las 8 Reinas en C++