Está en la página 1de 3

CMP-1101 Programación en C++ +EJ

Ejercicios de Programación C++. Deber 6: Funciones

1. Escriba una función area_triangulo que tome como parámetros la longitud de los tres
lados de un triángulo y calcule el área del triángulo. Si los datos suministrados no forman un
triángulo la función debe retornar un valor negativo.

Ejemplos:
area_triangulo(3, 4, 5) 6
area_triangulo(17, 23, 28.6) 195.5
area_triangulo(10, 10, 10) 43.3013
area_triangulo(5.6, 7.8, 9.1) 21.7135
area_triangulo(1.2, 3.4, 5.6) -1

2. Se dice que un número es múltiplo de tres si la suma de sus dígitos es un múltiplo de tres.

a) Escriba una función suma_digitos que tome un número entero y retorne la sumatoria de
todos sus dígitos. Si el número es negativo ignorar el signo.

Ejemplos:
suma_digitos(78) 15
suma_digitos(-5023) 10
suma_digitos(25069) 22
suma_digitos(351) 9

b) Escriba una función es_multiplo_de_tres, utilizando la función suma_digitos


diseñada en el literal anterior, que tome un número entero, sume sus dígitos y retorne un bool,
true cuando sea múltiplo de tres y false cuando no. Si el número es negativo ignorar el
signo.

Ejemplos:
es_multiplo_de_tres(78) true
es_multiplo_de_tres(-5023) false
es_multiplo_de_tres(25069) false
es_multiplo_de_tres(351) true

3. Escriba una función cambio_base que tome un número n entero positivo en base diez y una
base entre 2 y 10 y retorne otro número entero que es equivalente al número n pero cambiado
de base. Si la base está fuera del rango debe devolver -1.

Ejemplos:
cambio_base(7,3) 21 (veintiuno)
cambio_base(89,5) 324 (trescientos veinticuatro)
cambio_base(89,2) 1011001 (un millón once mil uno)
cambio_base(347,8) 533 (quinientos treinta y tres)
cambio_base(347,10) 347 (trescientos cuarenta y siete)
cambio_base(568097,6) 20102025 (veinte millones ciento dos mil veinticinco)
cambio_base(568097,9) 1055248 (un millón cincuenta y cinco mil doscientos cuarenta y ocho)
cambio_base(351,11) -1 (fuera del rango)

Ing. Pablo Yépez Página 1 de 3


CMP-1101 Programación en C++ +EJ

4. En una fábrica de galletas, se entregan los pedidos en cajas rectangulares


y el tamaño de las cajas depende del número de galletas que se pidan.
No se puede agrupar en filas de galletas, y no se puede vender una
cantidad de galletas que sea un número primo. El grupo de 3 x 4 galletas
es igual al grupo 4 x 3.

a) Escriba una función grupos que, dada una cantidad n de galletas, calcule el número de
todas las formas diferentes de agrupar las galletas en rectángulos para empacarlas.

Ejemplos:
grupos(36) 4
grupos(25) 1
grupos(21) 1
grupos(23) 0

b) Escriba una función mostrar_grupos que, además de calcular el número de formas, también
muestre en la pantalla las diferentes formas de acomodar las galletas.

mostrar_grupos(36) 4

2 x 18
OOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOO

3 x 12
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO

4 x 9
OOOOOOOOO
OOOOOOOOO
OOOOOOOOO
OOOOOOOOO

6 x 6
OOOOOO
OOOOOO
OOOOOO
OOOOOO
OOOOOO
OOOOOO

Ing. Pablo Yépez Página 2 de 3


CMP-1101 Programación en C++ +EJ

5. Escriba dos funciones, seno y coseno que tomen como entrada, un número decimal que
representa un ángulo en radianes, y calcule el seno y coseno respectivamente de ese ángulo.
Ninguna de las funciones del ejercicio debe utilizar las funciones seno y coseno preconstruidas
en las bibliotecas del C++, ni ninguna otra función contenida en la librería cmath sino solo se
debe usar sumas, restas, multiplicaciones y divisiones. Se requiere consultar los métodos
matemáticos para hacer este cálculo.

Ejemplos:
seno(-3.14) -0.00159265
coseno(1.5) 0.0707372
seno(1.5) 0.997495
coseno(3.141592) -1
seno(45) 0.850904
coseno(45) 0.525322

En ninguno de los ejercicios (excepto el 4 literal b) se debe usar la instrucción cout (ni printf). El
estudiante puede crear programas para probar las funciones diseñadas pero al momento de
entregar el deber solo se debe presentar las funciones sin ninguno de los programas principales
(int main()).

Ing. Pablo Yépez Página 3 de 3

También podría gustarte