Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MM314 - Programación I
I Periodo 2017
Tarea 2 - Parte 1 de 2
3. Escriba una función llamada multiplo que determine, para un par de en-
teros, si el segundo entero es múltiplo del primero. La función debe tomar
dos argumentos enteros y devolver verdadero si el segundo es múltiplo del
primero, y falso en caso contrario. Use esta función en un programa que
reciba como entrada una serie de pares de enteros.
4. Escriba un programa que reciba una serie de enteros y los pase, uno a la vez, a
una función llamada esPar que utilice el operador módulo para determinar
si un entero dado es par. La función debe tomar un argumento entero y
devolver verdadero si el entero es par, y falso en caso contrario.
5. Escriba una función que muestre en el margen izquierdo de la pantalla un
cuadrado relleno de asteriscos, cuyo lado se especifique en el parámetro en-
tero lado. Por ejemplo, si lado es 4, el método debe mostrar lo siguiente:
****
****
****
****
7. Escriba una función que recibe la hora en forma de tres argumentos enteros
(horas, minutos y segundos) y devuelva el número de segundos transcurridos
1
desde la última vez que el reloj “marcó las 12”. Use esta función para calcular
el monto de tiempo en segundos entre dos horas, ambas de las cuales están
dentro de un ciclo de 12 horas del reloj.
8. Se dice que un número entero es un número perfecto si la suma de sus di-
visores, incluyendo 1 (pero no el número en sı́), es igual al número. Por
ejemplo, los divisores de 6 son 1, 2 y 3 por lo que 6 es un número perfecto
ya que 6 = 1 + 2 + 3. Escriba una función llamada perfecto que deter-
mine si el parámetro numero es un número perfecto. Use esta función en
un programa que determine e imprima todos los números perfectos entre 1 y
1000. Imprima los divisores de cada número perfecto para confirmar que el
número sea realmente perfecto. Ponga a prueba el poder de su computadora,
evaluando números mucho más grandes que 1000.
9. Escriba una función recursiva llamada invertirNumero que reciba un valor
entero como parámetro y devuelva el número con sus dı́gitos invertidos. Por
ejemplo, para el número 7631, la función debe regresar 1367.
10. El máximo común divisor (MCD) de dos enteros es el entero más grande que
puede dividir uniformemente a cada uno de los dos números. Escriba una
función recursiva llamada mcd que devuelva el máximo común divisor de
dos enteros.
11. Escriba un programa que lea un número binario y escriba su equivalente en
base diez. El programa debe verificar que el número dado por el usuario sea
binario, ademas usará las funciones siguientes.
• validar: Recibe el número dado por el usuario, si es binario devuelve
verdadero, en caso contrario falso.
• convertir: Recibe el número binario, devuelve su equivalente en base
diez. Ejemplo:
Convertir 11101 a base 10
1 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = 29
Convertir 1000 a base 10
1 × 23 + 0 × 22 + 0 × 21 + 0 × 20 = 8
12. Escriba una función recursiva llamada convertirABinario que reciba un
valor entero positivo como parámetro y devuelva su equivalente en binario.
Por ejemplo, para el número 25, la función debe regresar 11001.
2
13. Realice una Prueba de Escritorio con los datos: -5, 6