03 estructuras de control repetitivas ejercicios 3
TRANSCRIPT
1
Programación 1 Ejercicios con Estructuras de Control Repetitivas 3
Ciclo 2012-2 EJERCICIO 1
El algoritmo de la multiplicación rusa es una forma “distinta” de calcular la
multiplicación de dos números enteros n x m. Para ello este algoritmo va
multiplicando por 2 el multiplicador m y dividiendo (sin decimales) por dos el
multiplicando n hasta que n tome el valor de 1. Después suma todos aquellos
multiplicadores cuyos multiplicandos sean impares. Por ejemplo, para multiplicar 37
y 12 se harían las siguientes iteraciones:
Iteración Multiplicando Multiplicador
1 37 12
2 18 24
3 9 48
4 4 96
5 2 192
6 1 384
Con lo que el resultado de multiplicar 37 y 12 sería la suma de los multiplicadores
correspondientes a los multiplicandos impares (en negrita), es decir 37 x 12 = 12 +
48 +384 = 444.
Escriba un programa en C que reciba dos números enteros positivos y nos calcule la
multiplicación de ambos empleando el algoritmo de la multiplicación rusa.
EJERCICIO 2
Escribir un programa en C que permita hallar la suma de los “n” primeros términos
de la siguiente serie:
2 5 8 11 14 17
Suma = ----- + ------ + ------ + -------- + ------- + ------- + ….
5 10 15 20 25 30
El programa deberá verificar que el valor de “n” este entre 1 y 20 inclusive. Utilice
los tipos de datos apropiados para realizar las operaciones de manera precisa.
Ejemplo 1:
Ingrese número de términos de la serie: 30
Ingrese número de términos de la serie: 5
La suma de la serie es: 2.54
2
Ejemplo 2:
Ingrese número de términos de la serie: 7
La suma de la serie es: 3.68
EJERCICIO 3
Escriba un programa en C, que permita ingresar dos números enteros positivos n y
k, luego halle el múltiplo de k que este más cercano de n.
Ejemplo:
Si n=7 y k=3 => El múltiplo mas cercano de 3 respecto a 7 es 6.
Si n=14 y k=5 => El múltiplo mas cercano de 5 respecto a 14 es 15.
Si n=10 y k=4 => El múltiplo mas cercano de 4 respecto a 10 es 8 (ó 12).
EJERCICIO 4
La exponencial de un número real a se puede aproximar con la serie:
Escriba un programa en Lenguaje C, que calcule la exponencial de a según dicha
fórmula, utilizando k=10 y luego k=20.
EJERCICIO 5
En una Central Telefónica se registran las llamadas realizadas en la siguiente
forma:
Por cada llamada se ingresa:
Código de llamada: Un número de 3 dígitos (0 al finalizar el proceso)
Tipo de día: 1 (hábil), 2 (feriado)
Duración de la llamada: entero > 0.
Por otro lado se sabe que el costo de llamada se calcula según la siguiente tabla:
Siendo los importes Primeros 3’ Minuto adicional
Días hábiles a 10 a 2
Feriados a 15 a 3
Escriba un programa que permita mostrar para cada llamada registrada:
El importe a abonar (código - importe).
El fin de datos será cuando se ingrese el código de llamada 0.
Luego de registrado las llamadas, calcule e imprima:
a) La cantidad de llamadas que superen los 3’
b) El % de llamados que superan los 3’ (sobre el total de llamadas registradas).