UNIVERSIDAD DE COSTA RICA CI-0202 Principios de Informática ESCUELA DE CIENCIAS DE LA Profesor Adolfo Di Mare COMPUTACION E INFORMATICA Tarea programada Nº 6 Uso de funciones para el cálculo de números de Armstrong Carnet: ________ Nombre: __________________________________ Use como base el prorama NARM.cpp, que calcula los números de Armstrong. Traslade el cálculo que realiza este programa en main() a la función Es_Armstrong(int n) que determina si el número "n" es o no un número de Armstrong: /** Retorna \c 1 si el número \c "n" es un número de Armstrong. - En caso contrario retorna \c 0 ==> false. - Un número es de Armstrong si la suma de los cubos de los dígitos que lo componen es igual al número. - Por ejemplo el número 153 es de Armstrong, pues: \code 3 3 3 1 + 5 + 3 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 \endcode */ int Es_Armstrong(int n) { const int FALSE = 0; const int TRUE = !FALSE; // ... if ( ... ) { // sí es de Armstrong return TRUE; } else { return FALSE; } } Suponga que su número de carnet es el "AxYYzz". como resultado de su tarea debe entregar lo siguiente: - Documentación impresa, con una portada que tenga todos sus datos. - Programa completo en el archivo "AxYYzz.cpp". - Documentación formato Word.doc en el archivo "AxYYzz.doc" NOTA: Este programa trabaja sólo con la pantalla. No escribe en la impresora. ================================= Políticas de Corrección de Tareas ================================= 1) Correcta indentación del código fuente. 2) Correcto espaciado del código fuente. 3) Código fuente escrito de manera que se legible y claro. 4) Uso de indentificadores significativos. 5) Uso de Doxygen para la especificación de todos los métodos, funciones y campos de clase. ::::::::: NARM.cpp ::::::::: // NARM.cpp: Números de Armstrong.pas #include /** Determina cuantos números son de Armstrong, desde 1 hasta N. - Un número es de Armstrong si la suma de los dígitos que lo componen elevados al cubo es igual al número. - Por ejemplo 153 es un número de Armstrong porque \code 3 3 3 1 + 5 + 3 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 \endcode */ int main() { const int N = 3000; int numero, suma, digito, temp; cout << "Números encontrados (1 .. "; cout << N << ") que son de Armstrong:" << endl << endl; for ( numero = 1; numero <= N; ++numero ) { suma = 0; temp = numero; while ( temp != 0 ) { // suma de dígitos digito = temp % 10; // al cubo suma = suma + (digito * digito * digito); temp = temp / 10; } if (suma == numero) { cout << numero << " Suma de sus dígitos al cubo "; cout << suma << endl; } } return 0; } // EOF: NARM.cpp