jueves, 26 de mayo de 2011

Ejercicios.



1.- Escribe una función PasaPasa que manipule dos números enteros suprimiendo la última cifra del primero y añadiéndola al final del segundo.

(12345; 678) -> (1234; 6785)
(12345; 0) -> (1234; 5)

Utiliza la función anterior para crear otra que invierta un número (partiendo del propio número y de otro, con valor inicial cero), a base de repetir la operación PasaPasa cuantas veces sea preciso.

(12345; 0) -> (1234; 5) -> (123; 54) -> (12; 543) -> (1; 5432) -> (0; 54321)

Solución

2.- Escribe un programa que dibuje figuras como la mostrada, consistentes en n filas, donde la fila j es la secuencia de 2^j grupos formados cada uno por 2^(n-j) blancos y el mismo número de estrellas:


Solución

3.-
Crea la siguientes funciones basándote en que para representar caracteres en C++ se utilizan variables del tipo char que almacenan el código ASCII del carácter. Asimismo, ten en cuenta que los grupos de letras minúsculas y mayúsculas tienen asignados códigos consecutivos:
(a) una letra minúscula
(b) una letra mayúscula
(c) una letra (haciendo uso de las dos funciones anteriores)
Solución

4.- Sabiendo que cero es par, es decir,

esPar(0) devuelve true
esImpar(0) devuelve false

y que la paridad de cualquier otro entero positivo es la opuesta que la del entero anterior, desarrolla las funciones lógicas, mutuamente recursivas, EsPar y EsImpar,
que se complementen a la hora de averiguar la paridad de un entero positivo.

Solución

5.- Modifica el algoritmo de las Torres de Hanoi visto en clase de tal man
era que no se permitan movimientos directos entre las picas de inicio y de destino, sino que todos los movimientos tengan que pasar necesariamente por la pica auxiliar.


Solución

6.- Desarrolla una función que visualice un triángulo de Tartaglia de n filas:


Para ello ten en cuenta la relación entre cada término del triángulo y los coeficientes binomiales:



Donde cada coeficiente binomial viene dado por la fórmula:


Solución conjunta ejercicios 6 y 7

7.- Basándote en el ejercicio 6, escribe un programa en C++ que calcule la potencia de 2 elevado a un número, sabiendo que la suma de los elementos de cualquier fila es el resultado de elevar 2 al número que representa esa fila. Así:

20 = 1
21 = 1+1 = 2
22 = 1+2+1 = 4
23 = 1+3+3+1 = 8
24 = 1+4+6+4+1 = 16


Solución conjunta ejercicios 6 y 7

No hay comentarios:

Publicar un comentario