Sei sulla pagina 1di 3

Escuela de Matemática - UNAH

MM314 - Programación I
I Periodo 2017
Tarea 2 - Parte 1 de 2

Recomendaciones: Presentar la solución de cada ejercicio en Pseudocodigo PSeInt


1. Escriba una funcion llamada valorAbsoluto( x ) que devuelve el valor de
|x|. Por ejemplo valorAbsoluto( -4 ) = 4. Suponga que x es un numero
real. No utilice la funcion ABS(x) de PSeInt.
2. Defina una función llamada hipotenusa que calcule la longitud de la hipotenusa
de un triángulo recto, cuando se proporcionen las longitudes de los otros dos
lados.

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:

****
****
****
****

6. Modifique la función creada en el ejercicio 5 para formar el cuadrado de


cualquier carácter que esté contenido en el parámetro tipo carácter carac-
terRelleno. Por ejemplo, si lado es 5 y caracterRelleno es ”#”, el método
debe imprimir 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

14. Realice una Prueba de Escritorio con los datos: 1, 4

Potrebbero piacerti anche