UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática Lic. Carla Aguirre – Lic. Flabio Beltran Paralelos: A1- A2– C1 EJERCICIOS PROPUESTOS PROGRAMACIÓN MODULAR PARTE I. Realizar las siguientes sumatorias para N términos, utilizando las funciones o procedimientos necesarios. 1. S=1!+2!+3!+4!+5!+……………. 2. S=5 ^ 2 / 3!+7 ^ 4 / 5!+9 ^ 6 / 7! +11 ^ 8 / 9 ¡ +………… 3. S=1+2+3+5+7+11+13+……….. 4. S= 10+21+32+43+54+65+………….. 5. S= 22+33+44+55+66+77+………….. 6. S= x-x2+x3-x4+x5-………….. 7. S= x/12 + x/14 + x/16 + x/18 + x/20+………. 8. Diseñar un algoritmo que calcule la aproximación del seno: sen(x)= 1 - (x^3)/3! + (x^5)/5 - (x^7)/7! + .......... PARTE II. Escribir las siguientes funciones que retornan un valor 1. Escribir una función que dados a y b enteros devuelva ab. 2. Escribir una función que dado un número entero, devuelva una señal que indique si dicho número es primo o no. 3. Escribir una función que dados 2 números, calcule el porcentaje que el primero representa respecto del segundo. Un número entero positivo se dice perfecto si es igual a la suma de todos sus divisores. excepto el mismo. Ejemplo: los números 6 (1+2+3), 28 (1+2+4+7+14) y 496 (1+2+4+8+16+31+62+124 +248) son perfectos. Se pide: a) Escribir una función booleana que llamada desde un programa, permita discernir si un número (único parámetro) es perfecto. b) Dar un ejemplo de cómo se hace referencia a dicha función desde un programa o desde otro subprograma. 4. Dos números se dicen amigos cuando uno de ellos es igual a la suma de todos los divisores del otro excepto el mismo. Ejemplo: los números 220 (1+2+4+5+10+11+20+22+44+55+110=284) y 284 (1+2+4+71+142=220) son amigos. Se pide: a) escribir una función booleana que llamada desde un programa, permita discernir si dos números (parámetros) son amigos. b) Usar otra función para calcular la suma de los divisores de un número determinado. UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática Lic. Carla Aguirre – Lic. Flabio Beltran Paralelos: A1- A2– C1 c) Hacer referencia a dichas funciones desde un programa o desde otro subprograma. PARTE III. Escribir los programas correspondientes a los siguientes problemas utilizando funciones que retornen un valor según lo indicado. 1. Escribir un programa que ingrese un listado de números e informe la cantidad de múltiplos de 2, 3, 5 y 7. Utilizar una función que dados 2 números devuelva una señal que indique si el primero es o no múltiplo del segundo. 2. Dadas 2 fechas, informar cuál es la fecha anterior. Los datos se dan según los siguientes casos: a) Cada fecha consiste en 3 números, día, mes y año. b) Cada fecha consiste en un único número en formato aammdd. c) Cada fecha consiste en un único número en formato ddmmaa. Puede darse el caso que las fechas sean iguales. 3. Dado un listado de números enteros informar aquellos que sean primos, la cantidad y la sumatoria de los mismos. 4. Escribir un programa que determine el máximo común divisor entre dos números. PARTE IV Resuelva los siguientes enunciados utilizando funciones o procedimientos según corresponda. 1) ¿Qué salida produce la ejecución del siguiente algoritmo? ALGORITMO Anidado Dim a, b, c, x, y as integer a = 3 b = 2 c = 1 x = 11 y = 22 Primero(x, a, b) Segundo(c,a) Tercero(a, b) ESCRIBIR “Anidado”, a, b, c, x, y End Sub Primero (a, b, c) As Integer a = 3*a c = c+ 4 ESCRIBIR “Primero”, a, b, c End Sub Sub Segundo(a, c)As Integer b = 8 c = a+c+b \ 3 ESCRIBIR “Segundo”, a, b, c End Sub Sub Tercero( x, y) As Integer UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática Lic. Carla Aguirre – Lic. Flabio Beltran Paralelos: A1- A2– C1 x = x+4; y = y+1 ESCRIBIR “Tercero”, a, b, c, x, y End Sub 2) Diseña una función a la que se de como entradas 3 parámetros: dos de tipo entero y uno de tipo carácter. La función deberá sumar, restar, multiplicar o dividir los valores de los dos primeros parámetros dependiendo del código indicado en el tercer parámetro, y devolver el resultado. 3) Diseñe un programa utilizando función para verificar si un número es capícua o no; NOTA.- Un número es capícua si el número invertido es igual al número Ejm. 121, 525, 11, 787 , etc. Escribe un PROGRAMA utilizando procedimientos que acepte como entrada desde teclado un número entero positivo y de como salida el resultado de sumar el primer y el último dígito. Por ejemplo: Para el número 2354869, la salida es: 2+9=11 Para el número 6582, la salida es: 6+2=8, 4) 5) Escriba un procedimiento llamado MostrarPrecioFinal utilizando un parámetro formal de nombre PrecioFinal que exhiba la siguiente salida al recibir el valor del parámetro real Precio=230.75: Precio Final = $ 230.75, incluyendo i.v.a. Escriba además un programa principal que utilice este procedimiento 6) Escriba un procedimiento que permita calcular el factorial de un número natural N, suponiendo que este dato fue previamente ingresado por teclado. Escriba luego un programa que permita calcular el número combinatorio C utilizando la ecuación (1) y el procedimiento anterior.