Está en la página 1de 8

Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020

CUESTION C1 (1 Punto)

Cuestión C1 (1 Punto)
Escriba una función llamada encuentra_subvector() que determine si un vector v_int está contenido
consecutivamente en otro vector v_ext. En caso afirmativo, la función devolverá la posición en v_ext a
partir de la cual se produce la primera coincidencia de valores. En caso negativo, la función devolverá -1.
Así, {1,4,3} está contenido en {8,7,6,1,4,3,5,6} a partir de la posición 3, pero no lo está
consecutivamente en {8,7,6,1,4,5,3,6}. Si v_int está vacío, el valor devuelto será -1.
encuentra_subvector( )
{

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020


Cuestión C2 (1 Punto)
a) Se desean ordenar los elementos de un vector usando:
vector<double> v_desord;
… //Código que carga los elementos del vector v_desord
vector<double> v_ord = ordena_vector(v_desord);
muestra_vector(v_ord);
Para ello se barajan dos posibles prototipos:
vector<double> ordena_vector(vector<double> v_numeros)
y
vector<double> ordena_vector(const vector<double>& v_numeros)
 
¿Alguna de ellas altera el vector original v_desord? ¿Es preferible usar una u otra o da lo mismo?
Justifique su respuesta

b) Suponga el siguiente código:


void funcion(int& x1,int& x2, int& x3)
{
x2=x1*x1;
x3=x1*x1*x1;
}
int main()
{
int a=4;
int b=1;
funcion(a,a,b);
cout<<a<<" "<<b<<endl;
}

¿Cuál es la salida por pantalla?¿Por qué?

c) Dado el siguiente fragmento de código, diga si se podría mejorar desde el punto de vista de estilo y
eficiencia y por qué:
if(a<=10)
cout<<a<<endl;
if(a>10 && a<=20)
cout<<a/2<<endl;
if(a>20)
cout<<a/3<<endl;

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020

d) Al ejecutar el siguiente programa:

void funcion_recursiva(int i)
{
cout<<i<<endl;
funcion_recursiva(i+1);
}
int main()
{
funcion_recursiva(0);
}
Se ha obtenido el error “stack overflow”, ¿qué significa este error?¿por qué se produce?

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020


Cuestión C3 1 Punto
El siguiente programa lee el fichero “registro.txt”, que contiene en cada línea:
 siglas de una titulación: IQ, IM, ITI, etc.
 número de alumnos matriculados en segundo curso
 número total de créditos superados por esos alumnos en asignaturas ya cursadas
Por ejemplo, una línea del fichero puede ser: IQ 30 150
La función busca_maximo()calcula el valor máximo (en caso de empate, el primero encontrado) y su posición en un
vector. El programa escribe en el fichero “resultados.txt” tanto la titulación con mayor número de alumnos matricula-
dos como la que tiene el mayor número de créditos superados.
Se pide completar los recuadros con el código correspondiente. ¡La función busca_maximo() no hay que programarla!
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void busca_maximo(const vector< >& v, & maximo, & posicion_maximo);
int main()
{
ifstream fichero("registro.txt");
if(!fichero)
{
cout<<"Error para abrir fichero"<<endl;
exit(1);
}
titulacion; //Variables auxiliares donde cargar valores
alumnos, creditos; //leidos del fichero
vector< > v_alumnos, v_creditos;
vector< > v_titulacion;
while( )
{

}
pos_alumnos, max_alumnos, pos_creditos, max_creditos;
busca_maximo( );
busca_maximo( );
ofstream fich("resultados.txt");
if(!fich)
{
cout<<"Error para abrir fichero"<<endl;
exit(1);
}
fich<<"Titulacion con mayor numero de alumnos: "<< <<endl;
fich<<"Titulacion con mas creditos superados: "<< <<endl;
return 0;
}

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020


Cuestión C4 (1.7 Puntos)
¡Todas las respuestas numéricas de las cuestiones C4.1 y C4.2 deben mostrar cómo se obtiene el resultado!
C4.1 Sea una representación inspirada en IEEE 754 de 8 bits que dedica 1 bit al signo, 3 bits al exponente 
(representación en exceso 3) y 4 bits para la mantisa, con bit implícito.
a) Represente el número en base 4, 11.1|4 en este formato. (0.3 Pts.)
b) Si los 8 bits de la representación interna son 10011000, ¿cuál es su codificación en base 10? (0.3 Pts.)
c) Represente el 2.15|10 en este formato y obtenga su codificación en base hexadecimal. (0.3 Pts.)
d) ¿Se comete error en la representación del 2.15|10? Si es así, ¿cuál es la magnitud del error? (0.2 Pts.)

Continúa a la vuelta….  

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020


C4.2 Se pretende representar digitalmente la información de un termómetro que mide la temperatura desde
–20ºC hasta +50ºC, ambas temperaturas incluidas, con resolución de 1ºC.
a) ¿Cuántos bits se necesitan como mínimo para representar ese rango de temperaturas usando com-
plemento a 2? (0.2 Pts.)
b) Formule los rangos en formato binario … , … , con , ∈ 0,1 de los valores para representar
la temperatura no usados. Ejemplo ficticio: [0011,1100], [1101,0010] y [0000,0001] (0.3 Pts.)
c) Si hubiese utilizado la representación en signo magnitud en lugar de la representación en complemento
a 2, ¿hubiese tenido algún problema para representar la temperatura? Razone la respuesta. (0.1 Pts.)

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020

Cuestión C5 1,8 Puntos (6x0,3)


1) Sea un dispositivo computacional que usa direcciones en el rango hexadecimal [0000, FFFF] para acceder
a la memoria. Contesta a las siguientes cuestiones:
a) ¿Cuál es el número total de direcciones de memoria disponibles?
b) ¿Cuántas líneas necesitamos en el bus de direcciones?
c) Si la longitud de palabra de dicha memoria son 8 bits, ¿cuál es la capacidad en kB de dicha memoria?

2) Explica el concepto informático que representa la imagen.

3) Explica qué es la BIOS e indica en qué tipo de memoria se almacena.

4) Explica qué es el acceso directo a memoria (DMA), cuál es su principal ventaja y en qué dispositivos se
suele utilizar.

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática


Escuela de Ingenierías Industriales

Fundamentos de Informática Examen Ordinario: 10 de enero de 2020

5) En un sistema operativo, explica qué es y cómo funciona la planificación por turno rotatorio (Round Ro-
bin).

6) En un anuncio se publicita un PC con las siguientes características:


Intel Core i3-8100 (3.6GHz, Cache 6MB, 4 Cores), 8GB DDR4-SDRAM, 1000GB HDD,
DVD Super Multi, Intel UHD Graphics 630, WLAN, Bluetooth, Windows 10 Home.
Explica qué es cada uno de los 4 elementos marcados.

Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática

También podría gustarte