Test2 IQ1 2017 enunciado solucion PDF

Title Test2 IQ1 2017 enunciado solucion
Course Fundamentos De Informatica
Institution Universidad de Valladolid
Pages 7
File Size 281.5 KB
File Type PDF
Total Downloads 110
Total Views 144

Summary

Examen enunciado y solucion informatica de primero ......................


Description

Departamento de Ingeniería de Sistemas y Automática

FUNDAMENTOS DE INFORMATICA CURSO 17/18 TEST 2 GRUPO IQ1     

La duración máxima del Test es de 110 minutos. El fichero fuente *.cpp se subirá a la Tarea denominada Test2 que aparece en el Campus Virtual. No se permite ningún tipo de material (ni escrito, ni virtual), ni el uso de móviles, memorias USB, etc. Durante la prueba se monitorizará el tráfico de datos. La realización fraudulenta del ejercicio supondrá la calificación de Suspenso 0,0 en la convocatoria ordinaria.

Puntuación máxima de cada apartado: 0.4 por incluir librerías, declarar funciones y planteamiento del main(). 0.2 apartado 1. 0.6 apartado 2. 0.4 apartado 3. 0.3 apartado 4. 0.1 apartado 5.

Realice un programa en C++ que: 1. Pregunte al usuario el nombre del fichero donde se almacena la información. Se usará la función prototipo: void leer_nombre(string mensaje, string& nombre) 2. Abra el fichero en modo lectura y almacene los valores en un entero. El primer valor del fichero será el número de elementos que vamos a leer. Los valores leidos se transformarán a un único número entero (por ejemplo, si el fichero tiene los valores 3 3 2 4, la función devolverá el valor 324). Se debe comprobar que el fichero existe y se abre correctamente, en caso contrario, mostrará un mensaje y se saldrá de la ejecución del programa: #include , exit(EXIT_FAILURE). Si el primer valor del fichero es cero o negativo también se mostrará un mensaje y se saldrá del programa. Si alguno de los valores leídos es negativo o mayor que 9, se saldrá del programa mostrando un mensaje de error. En este apartado se usará la función prototipo: int abrir_y_leer(string ) 3. Calcule los divisores del número y los guarde en un vector. Recordad que todo número es divisible entre la unidad y él mismo. Para ello se ha de utilizar la función de prototipo: vector calcula_divisores(int) 4. Muestre por pantalla el vector de divisores. Usar una función con el prototipo que elija el/la estudiante. 5. Infome al usuario si el número es primo o no (si el tamaño del vector con los divisores es dos, el número es primo).

Comentarios: el fichero con los datos iniciales puede ser creado por el/la estudiante, pero si se prefiere los siguientes ficheros ejemplo están disponibles en el campus virtual debajo del test 2 para que puedan ser descargados.

-

entrada1.txt: 3 entrada2.txt: 2 entrada3.txt: 2

1 1 1

9 2 7 -20

Pág. 2 de 7 U ni v e r si d a d d e V a l l a d o l i d . Escu e l a d e I n g e ni e r í a s I n d us t r i a l e s Pase o de l Cauce , 59. – 47011 Vall adolid – t resp a@eii. uva.e s w w w. e i i . u v a. e s - w w w . u v a . e s/ e i i

Ejemplos Para entrada1.txt:

Para entrada2.txt:

Para entrada3.txt:

Pág. 3 de 7 U n i v e r si d a d d e V a l l a d o l i d . Escu e l a d e I n g e n i e r í a s I nd u s t r i al e s Pase o de l Cauce , 59. – 47011 V all adolid – t resp a@eii. uva.e s w w w. e i i . u v a. e s - w w w . u v a . e s/ e i i

Código /* NOMBRE: FECHA: CONTENIDO: leer numero, ver divisores, almacenar en vector y mostrar en pantalla */ #include #include #include #include

// para poder trabajar con los ficheros // Para exit()

using namespace std; void leer_nombre(string , string& ); int abrir_y_leer(string ); vector calcula_divisores(int); void muestra_vector(const vector&); int main() { // inicio main int num; // numero a leer string nombre; vector divisores; // preguntar nombre fichero leer_nombre("Por favor, dame el nombre del fichero con los datos: ", nombre); // leer el numero num = abrir_y_leer(nombre); // calcular los divisores del numero divisores = calcula_divisores(num); // mostrar el vector de resultados al usuario cout...


Similar Free PDFs