INF237 - LENGUAJE DE PROGRAMACIÓN ORIENTADO A OBJETOS
2023-2 Laboratorio
Laboratorio 1 (Calificado)
Instrucciones
Se ha creado la tarea “Laboratorio 01 (Calificado)” en la sección Laboratorio Calificado 1 de la página del
curso-horario en el PAIDEIA. Cada alumno deberá subir un archivo comprimido (formato ZIP) con todos
los archivos del desarrollo realizado en el laboratorio. El nombre del archivo comprimido deberá tener el
formato: L1_<Código del alumno de 8 dígitos>.zip
Como ejemplo, el nombre del archivo de alumno 20186969 del horario 06M1 sería “L1_20186969.zip”
Es COMPLETA RESPONSABILIDAD DE CADA ALUMNO el colocar los nombres correctos a sus
archivos y evitar así confusiones al momento de la calificación.
Productos Curiosos (20 puntos)
Algunos números, resultantes de los factores de multiplicación de números enteros, presentan sus
dígitos dispuestos en una forma única.
Estas cifras, que aparecen en los productos llamados curiosos, han sido objeto de la atención de los
matemáticos.
Aquí un ejemplo de un producto curioso:
• Se tiene un número de n cifras
• Al número se le divide en 2 partes, la parte 2 está formada por el último dígito (dígito de más
a la derecha) y la parte 1 está formada por las cifras restantes.
• Para que el número sea considerado válido, las partes deben cumplir las siguientes
condiciones:
✓ La parte 2 siempre debe ser igual a 9.
✓ La parte 1 debe tener solo cifras consecutivas, ordenadas en forma ascendente (de
izquierda a derecha) y no necesariamente iniciando en 1.
✓ Dentro de la parte 1 no debe existir la cifra 8. Si existe la cifra 8, dicha parte es inválida,
por más que esta ordenada ascendentemente de forma consecutiva.
• Si el número cumple las condiciones indicadas, se podría dar el caso que cumpla con la
siguiente propiedad al multiplicarlo por números múltiplos de 9 consecutivos iniciando en 9
hasta llegar a 81.
• Multiplicamos al número por 9 y el resultado me da un número de puras cifras 1.
• Multiplicamos al número por 18 y el resultado me da un número de puras cifras 2.
• Multiplicamos al número por 27 y el resultado me da un número de puras cifras 3.
• El orden continúa hasta multiplicar al número por 81 y el resultado me da un número de puras
cifras 9.
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
FACULTAD DE CIENCIAS E INGENIERÍA
INF237 - LENGUAJE DE PROGRAMACIÓN ORIENTADO A OBJETOS
2023-2 Laboratorio
Por ejemplo, el número 3459.
• La parte 1 es 345 y la parte 2 es 9.
• Se cumple que la parte 2 es igual a 9 y que la parte 1 tiene sus cifras consecutivas ordenadas
de forma ascendente de izquierda a derecha.
• Como el número es válido, evaluamos si el número 3459 cumple con la propiedad:
✓ Multiplicamos 3459 x 9 = 31131, el resultado no es un número con todas sus cifras iguales
a 1, por lo tanto ya no cumple la propiedad.
Por ejemplo, el número 12345679.
• La parte 1 es 1234567 y la parte 2 es 9.
• Se cumple que la parte 2 es igual a 9 y que la parte 1 tiene sus cifras consecutivas ordenadas
de forma ascendente de izquierda a derecha.
• Como el número es válido, evaluamos si el número 12345679 cumple con la propiedad:
✓ Multiplicamos 12345679 x 9 = 111111111, el resultado es un número con todas sus cifras
iguales a 1, por lo tanto si cumple con la propiedad y pasamos a evaluar el siguiente
múltiplo de 9 que es 18.
✓ Multiplicamos 12345679 x 18 = 222222222, el resultado es un número con todas sus cifras
iguales a 2, por lo tanto si cumple con la propiedad y pasamos a evaluar el siguiente
múltiplo de 9 que es 27.
✓ Multiplicamos 12345679 x 27 = 333333333, el resultado es un número con todas sus
cifras iguales a 3, por lo tanto si cumple con la propiedad y pasamos a evaluar el siguiente
múltiplo de 9 que es 36 y así vemos que se cumple con 45, 54, 63, 72 hasta llegar al
múltiplo 81.
✓ Multiplicamos 12345679 x 81 = 999999999, el resultado es un número con todas sus
cifras iguales a 9, por lo tanto si cumple con la propiedad y termina la evaluación.
Se le pide elaborar un programa, en lenguaje C++, que permita ingresar una lista de números y por
cada uno permita evaluar si dicho número cumple la curiosa propiedad. Los números se terminan de
ingresar cuando el usuario indique que ya desea salir, utilizando para ello los caracteres S o s. Si
coloca otro caracter se solicitará el ingreso de un nuevo número para evaluar.
En esta pregunta se deben mostrar mensajes específicos ante las siguientes situaciones:
• El número ingresado presenta el dígito 8, ya sea en la parte 1 o parte 2, si se cumple esto debe
mostrar el siguiente mensaje Existe el dígito 8 en la parte 1 o parte 2 del número y se pasa al
siguiente número.
• La parte 2 debe ser igual a 9, si no cumple debe mostrar el siguiente mensaje La parte 2 del
número no es 9 y se pasa al siguiente número.
• Los dígitos de la parte 1 del número deben ser consecutivos y ordenados de forma ascendente
de izquierda a derecha, si no cumple debe mostrar el siguiente mensaje Los dígitos de la parte
1 del número no son consecutivos y se pasa al siguiente número.
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
FACULTAD DE CIENCIAS E INGENIERÍA
INF237 - LENGUAJE DE PROGRAMACIÓN ORIENTADO A OBJETOS
2023-2 Laboratorio
Si por algún motivo necesita calcular la cantidad de cifras de un número debe utilizar si o si estructuras
iterativas, no puede utilizar ninguna fórmula.
A continuación, se presenta un caso de prueba:
Ingrese el número a evaluar: 123459
123459 x 9 = 1111131, no se cumple la propiedad
Desea salir? (S o s): N
Ingrese el número a evaluar: 56789
Existe el dígito 8 en la parte 1 o parte 2 del número.
Desea salir? (S o s): A
Ingrese el número a evaluar: 23458
Existe el dígito 8 en la parte 1 o parte 2 del número.
Desea salir? (S o s): h
Ingrese el número a evaluar: 124579
Los dígitos de la parte 1 del número no son consecutivos.
Desea salir? (S o s): n
Ingrese el número a evaluar: 3459
3459 x 9 = 31131, no se cumple la propiedad
Desea salir? (S o s): n
Ingrese el número a evaluar: 123457
La parte 2 del número no es 9
Desea salir? (S o s): n
Ingrese el número a evaluar: 2345679
2345679 x 9 = 21111111, no se cumple la propiedad
Desea salir? (S o s): n
Ingrese el número a evaluar: 12345679
12345679 x 9 = 111111111, se cumple la propiedad
12345679 x 18 = 222222222, se cumple la propiedad
12345679 x 27 = 333333333, se cumple la propiedad
12345679 x 36 = 444444444, se cumple la propiedad
12345679 x 45 = 555555555, se cumple la propiedad
12345679 x 54 = 666666666, se cumple la propiedad
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
FACULTAD DE CIENCIAS E INGENIERÍA
INF237 - LENGUAJE DE PROGRAMACIÓN ORIENTADO A OBJETOS
2023-2 Laboratorio
12345679 x 63 = 777777777, se cumple la propiedad
12345679 x 72 = 888888888, se cumple la propiedad
12345679 x 81 = 999999999, se cumple la propiedad
Desea salir? (S o s): S
Lima, 24 de agosto de 2023
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
FACULTAD DE CIENCIAS E INGENIERÍA