Examenes informatica, Ejercicios de Ingeniería Mecánica. Universidad de Valladolid (UVA)
puoiy
puoiy

Examenes informatica, Ejercicios de Ingeniería Mecánica. Universidad de Valladolid (UVA)

PDF (635 KB)
11 páginas
5Número de visitas
Descripción
Asignatura: Fundamentos de informática, Profesor: Esther Esther, Carrera: Ingeniería Mecánica, Universidad: UVA
20 Puntos
Puntos necesarios para descargar
este documento
Descarga el documento
Vista previa3 páginas / 11
Esta solo es una vista previa
3 páginas mostradas de 11 páginas totales
Descarga el documento
Esta solo es una vista previa
3 páginas mostradas de 11 páginas totales
Descarga el documento
Esta solo es una vista previa
3 páginas mostradas de 11 páginas totales
Descarga el documento
Esta solo es una vista previa
3 páginas mostradas de 11 páginas totales
Descarga el documento

Departamento de

Ingeniería de Sistemas y Automática

P á g . 1 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IE1

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.  No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las

soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Realice un programa en C++ que calcule los n primeros términos de una sucesión dada por la

expresión pidiendo por teclado previamente los valores de b1 y b2. También se

calculará la suma de los n términos. A este tipo de sucesiones se les llama “bicicleta”, debido

a que son cíclicas. Ej: si b1=2 y b2=3 la sucesión toma la forma 2, 3, 2, 1, 1, 2, 3, 2, 1, 1, 2, 3, 2, 1, 1, ….

El programa deberá:

1. Solicitar al usuario los valores de b1 y b2.

2. Solicitar al usuario el número de términos de la sucesión, si introduce un número menor

o igual a cero lo deberá solicitar de nuevo.

3. Sacar por pantalla los n términos de la sucesión.

Para introducir los valores iniciales b1 y b2 se usará una función con prototipo:

void introduce_valores(double& b1,double& b2);

Para calcular el elemento siguiente de la sucesión:

double bicicleta(doublé b1, doublé b2);

Departamento de

Ingeniería de Sistemas y Automática

P á g . 2 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IEIA 1

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.  No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las

soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Realizar un programa en C++ que calcule la distancia entre 2 puntos de un plano 2D y cuente

cuantas distancias válidas se han introducido durante la ejecución del programa.

Una pareja de puntos se considerará válida cuando su distancia sea superior a un valor constante epsilon=0.0000001;

El programa deberá:

1. Solicitar al usuario las coordenadas del primer punto

2. Solicitar al usuario las coordenadas del segundo punto

3. Calcular la distancia entre ambos puntos.

4. Si la distancia es mayor que epsilon se considerá válida, se mostrará por pantalla y

se volverá al punto 1.

5. En caso contrario, se mostrará el número de distancias válidas calculadas y finalizará el

programa.

Para introducir las coordenadas de cada punto se usará una función con prototipo:

void introduce_punto_2d(double& x,double& y);

Para calcular la distancia se usará una función con prototipo:

double calcula_distancia(¿?);

Se necesitará usar la función sqrt(). No olvide la línea #include <cmath>.

La entre dos puntos y viene dada por:

Departamento de

Ingeniería de Sistemas y Automática

P á g . 3 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IEIA2

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.  No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las

soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Realice un programa en C++ que dados un conjunto de pares de números reales (x,y), representando puntos en en el plano, informe al usuario, en cada momento, el número de puntos en cada uno de los cuatro cuadrantes del plano (1, 2, 3 y 4) tal y como se muestra en diagrama. La introducción de puntos se detendrá cuando el usuario introduzca los valores correspondientes al origen. Antes de finalizar se deberá informar al usuario del valor de la abscisa del punto más alejado del eje y.

El programa deberá:

6. En un bucle, introducir el punto actual (x,y) mientras dicho punto sea válido, o sea distinto de (0,0). Utilizar una función con prototipo que devuelva, por referencia, las coordenadas del nuevo punto y mediante return un valor lógico que sea true si el punto es válido y false si se trata del punto (0,0):

bool introducir_punto(double&, double&)

7. Para los puntos válidos, utilizar una función con el prototipo que sigue, que recibe las coordenadas del punto y devuelve un entero con el número del cuadrante en que se encuentra dicho punto (1, 2, 3 ó 4). Los puntos en los ejes podrán ser asignados a cualquiera de los dos cuadrantes envueltos pero no deben ser contados por duplicado.

int cuadrante(double, double);

8. Actualizar el valor de la mayor abcisa en valor absoluto. Se puede utilizar función fabs después de incluir el fichero de cabecera de la biblioteca matemática mediante directiva #include <cmath>.

Ejemplo de ejecución del programa: Diagrama correspondiente:

y

x

Cuad: 1Cuad: 2

Cuad: 3 Cuad: 4

(-1,-2)

(1,1)(-3,1)

(2,4)

Departamento de

Ingeniería de Sistemas y Automática

P á g . 4 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO M1  La duración del Test es de 90 minutos.  El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual usando

como nombre del fichero el dni del estudiante.  No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede

acceder a las soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los

alumnos.  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 c onvocatoria ordinaria.

Resumen de lo que se debe hacer:

Paso 1: Pedir al usuario un número entero n1. Paso 2: Pedir al usuario otro número entero n2.

Paso 3: Comprobar cuantas veces n2 es divisor de n1 e informar al usuario del resultado.

Paso 4: Preguntar al usuario si quiere comprobar otro posible divisor de n1.

Paso 5: si la respuesta es afirmativa, repetir los pasos 2, 3, 4. Comentario: n1 SOLO se lee una vez .

Escribe un programa en C++ que:  Utilice la función int pide_numero (int, int) para leer el número n1 (rango: 0<n1<10000)

 Utilice la función int pide_numero (int, int)para leer el divisor n2 (rango: 0<n2<n1)  Compruebe cuántas veces n2 es divisor de n1. Se usará la función int soy_divisor(int, int).  Pregunté al usuario si desea comprobar otro divisor; si introduce 0, terminar, si introduce cualquier otro

número volver a pedir el divisor, … Especificación de las funciones:

int_pide_numero(int, int): se le pasan, como argumentos, los valores mínimos y máximos permitidos. Devuelve el valor dentro del rango deseado. Mientras el valor leído no esté dentro de rango, se sigue pidiendo al usuario el valor.

int soy_divisor(int, int): se le pasan como argumentos el número y su posible divisor. Devuelve el número de veces que divisor es divisor de num.

Ejemplo de ejecución:

Departamento de

Ingeniería de Sistemas y Automática

P á g . 5 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IM2

 La duración del Test es de 90 minutos.  El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.

 No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados

por los alumnos.  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.

Realizar un programa en C++ que busque los números de tres cifras que cumplen la condición de que la suma de sus cifras al cubo es igual al número, y que los escriba en pantalla.

Para extraer el dígito menos significativo de un número se usará una función con prototipo:

int extrae_digito(int);

Para calcular el cubo de un número se usará una función con prototipo:

int calcula_cubo(¿?);

Para determinar si el número cumple o no la condición, se usará una función con prototipo:

bool son_iguales(int, int); El resultado de la ejecución del programa:

Departamento de

Ingeniería de Sistemas y Automática

P á g . 6 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IM 3

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.  No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco

se puede acceder a las soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Realice un programa en C++ que:

1. Solicite dos numeros naturales no consecutivos mayores que 1 y menores que 100

a. Si los numeros no están en ese rango informar del error y volver a solicitarlos b. Si los dos números son consecutivos informar del error y volver a solicitarlos

2. Muestre por pantalla los numeros primos, ordenados de menor a mayor, que existen

entre los números suministrados por el usuario (los que da el usuario no deben incluirse), cuantos son y su valor promedio.

Si muestra la respuesta correcta +0.4

NOTAS IMPORTANTES RELATIVAS AL DESARROLLO DEL PROGRAMA:

Use una función para solicitar los valores de los dos números naturales. Dicha función no

debe devolver el control a la función principal hasta que los números introducidos por el usuario cumplan los criterios antes indicados. La función debe tener el siguiente prototipo: void pide_numeros (int& , int&).

Si implementa bien la función +0.2

Use una función para determinar si un número es primo o no. La función debe tener el siguiente prototipo: bool es_primo (int). Recibiendo un número natural y devolviendo true si

es primo y false en caso contrario.

Si implementa bien la función +0.2

No se sabe si los numeros que introduce el usuario están ordenados de menor a mayor o de mayor a menor, y el programa debe funcionar bien en ambas situaciones. Es decir es válido

introducir 3 17 ó 17 3.

Si funciona bien en ambas situaciones +0.15

Use dos constantes, n_max y n_min, para poder particularizar el programa y poder definir los límites (en este caso 1 y 100) de forma sencilla.

Si define las constantes +0.05

Departamento de

Ingeniería de Sistemas y Automática

P á g . 7 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

EJEMPLO DE FUNCIONAMIENTO:

Departamento de

Ingeniería de Sistemas y Automática

P á g . 8 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO OI11

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual usando como nombre del fichero el dni del estudiante.

 No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede

acceder a las soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Escribir un programa en C++ en el que se le pida al usuario dos números enteros N1 y N2, donde N2 t iene que ser mayor que N1, en caso contrario se avisará al usuario del error y se volverán a solicitar. Se mostrará al usuario un menú de operaciones con las opciones: 0) Finalizar, 1) Sumar todos los números entre N1 y N2,

ambos incluidos, 2) Mostrar los pares en el rango [N1,N2] incluidos ambos y 3) Calcular la media de los números entre N1 y N2, ambos incluidos. Las opciones de menú se repetirán hasta que el usuario elija finalizar.

Utilizar la función void pide_numeros(int& , int& ): Esta función debe pedir los números N1 y N2 Utilizar la función int menu(void): Esta función debe mostrar el menú al usuario y devolver la opción Utilizar la función void busca_pares(int,int): Esta función debe buscar y mostrar los números pares entre N1 y

N2 Utilizar la función int suma_intervalo(int, int): Esta función debe calcular la suma de todos los números en el intervalo [N1,N2]

Utilizar la función double media_intervalo(int, int): Esta función calcula la media de los números en el intervalo [N1,N2] Ejemplo de ejecución:

Departamento de

Ingeniería de Sistemas y Automática

P á g . 9 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IQ11

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.  No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las

soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Realizar un programa en C++ que dado un número positivo introducido por teclado muestre

en pantalla el número de veces que aparecen los dígitos contenidos en el citado número. El programa se repetirá hasta que el número introducido sea 0. Por ejemplo dado el número 2131 observamos que el 1 aparece 2 veces, el 2 aparece 1 vez y el 3 aparece 1 vez.

El programa deberá:

9. Solicitar al usuario un número.

10. Si el número es positivo mostrar por pantalla el número de veces que aparecen los dígitos contenidos en el citado número. A continuación, volver al paso 1 para solicitar un nuevo número.

11. Si el número es negativo volver al paso 1 para solicitar un nuevo número.

12. Si el número es 0 salir del programa

Para calcular las repeticiones de cada dígito del número se usará una función con prototipo:

int busca_digito(int n,int digito_buscar)

Donde n es un número entero y digito_buscar es un entero con valor entre 0 y 9. La

función devuelve el número de veces que digito_buscar aparece en n.

A continuación se muestra un ejemplo de ejecución para los números 2131 y 32365453.

Nota: Observar que lo que se muestra en pantalla son los dígitos de 0 a 9 que al menos aparecen una vez en el citado número. Tambíen se discrimina si es 1 vez o varias veces en

el texto que aparece en pantalla.Es responsabilidad del usuario introducir un número que no

exceda el rango de representación de los enteros.

Departamento de

Ingeniería de Sistemas y Automática

P á g . 1 0 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IQ12

 La duración del Test es de 90 minutos.

 El fichero fuente *.cpp o la carpeta del proyecto comprimida se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.

 No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados por los alumnos.

 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.

Realizar un programa en C++ que calcule la solución de la ecuación no lineal

1 usando el método iterativo de Newton-Raphson.

Comenzando con un valor de x elegido por el usuario, el método numérico de Newton-

Raphson realiza las siguientes 3 acciones de forma iterativa:

13. Calcula un nuevo punto

14. Si la diferencia en valor absoluto entre el punto anterior y el nuevo es menor que una cota preestablecida2, entonces la solución es el nuevo punto y se da por finalizado el

procedimiento, mostrando la solución alcanzada.

15. En caso contrario, se actualiza el valor de x con el valor del nuevo punto calculado y se

vuelve al punto 1.

Para evitar problemas en casos de no convergencia del método, se debe implementar un

contador que dé por finalizado el procedimiento en caso de superar un número máximo de iteraciones (que se debe pedir al usuario), avisando al usuario de tal circunstancia.

El programa debe dar la opción de repetir el cálculo si así lo decide el usuario.

Para calcular el valor de la función (fx) y de su derivada (fderx) en el punto x se debe usar

una función con prototipo:

void f_y_derf(double x, double& fx, double& fderx);

Para pedir al usuario valores positivos (número de dígitos de precisión de la solución y

número máximo de iteraciones) se debe usar una función con prototipo:

int pide_positivo(string pregunta);

la cual mostrará por pantalla la pregunta y solicitará por teclado un valor positivo generando un error y volviéndolo a pedir en caso de que no lo sea.

Se necesitará usar la función valor absoluto fabs(), potencia pow() y exponencialexp().

No olvide la línea #include <cmath>.

1 Su derivada es

2 Se debe pedir al usuario el número de dígitos de precisión, p, con el que calcular el valor de la cota:

Departamento de

Ingeniería de Sistemas y Automática

P á g . 1 1 d e 1 1

U n i v e r s i d a d de V a l l a d o l i d . E s c u e l a de I n g e n i e r í a s I n d u s t r i a l e s

P as eo del C auc e, 5 9 . – 4 7 0 1 1 Val l adol i d – t r es pa@ ei i . uv a . es

w w w . ei i . uv a. es - w w w . uv a. es / ei i

FUNDAMENTOS DE INFORMATICA CURSO 16/17 TEST 1 GRUPO IT11

 La duración del Test es de 90 minutos.  El fichero fuente *.cpp se subirá a la Tarea denominada Test1 que aparece en el Campus Virtual.

 No se permite ningún tipo de material escrito, ni el uso de móviles, memorias USB, etc. Tampoco se puede acceder a las soluciones de las prácticas propuestas en clase ni a otros ejercicios realizados

por los alumnos.  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.

Realizar un programa en C++ que busque los números de tres cifras que cumplen la condición de que la suma de sus cifras al cubo es igual al número, y que los escriba en pantalla.

Para extraer el dígito menos significativo de un número se usará una función con prototipo:

int extrae_digito(int);

Para calcular el cubo de un número se usará una función con prototipo:

int calcula_cubo(¿?);

Para determinar si el número cumple o no la condición, se usará una función con prototipo:

bool son_iguales(int, int); El resultado de la ejecución del programa:

comentarios (0)
No hay comentarios
¡Escribe tú el primero!
Esta solo es una vista previa
3 páginas mostradas de 11 páginas totales
Descarga el documento