C1 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
Contestad por orden a los apartados en hojas aparte.
Todos los apartados deben mostrar el proceso de obtención de los resultados
Cuestión C1 (20 Puntos)
1. Se emplea para representar una serie de números una representación en punto flotante según el
estándar IEEE754 de media precisión (16 bits en total, de los cuales 5 bits se reservan para el campo
del exponente o característica. Exceso o sesgo: 15 (2𝑛𝑛𝑐𝑐 −1 − 1 = 25−1 − 1 = 15)
a) Calcula el valor en base 10, A|10 y B|10, de los números cuya representación interna es: (2 puntos)
A = 0 11001 1111111111
B = 0 01101 1000000000
Para A e = 11001|2 = 25|10 E = e − S = 25 − 15 = 10
𝐀𝐀 = 1.1111111111 × 210 = 11111111111.0 × 20 = 𝟐𝟐𝟐𝟐𝟐𝟐𝟐𝟐
Para B e = 01101|2 = 13|10 E = e − S = 13 − 15 = −2
𝐁𝐁 = 1.1000000000 × 2−2 = 0.0110000000 × 20 = 𝟎𝟎. 𝟑𝟑𝟑𝟑𝟑𝟑
b) Representa en el formato en coma flotante indicado los números: (3 puntos)
C= A/2 D=2*B E= -A F=-B
C. Su exponente disminuye en una unidad C= A/2 = 0 11000 11111 11111
D. Su exponente aumenta una unidad D= 2B = 0 01110 10000 00000
E. Sólo cambia el bit de signo E = -A = 1 11001 11111 11111
F. Sólo cambia el bit de signo F = -B = 1 01101 10000 00000
c) Obtenga G|10 = A|10 + B|10 y represente en el formato en punto flotante indicado el valor G|10.
Comente el resultado obtenido (3 puntos)
G=A+B
G = 2047 + 0.375 = 2047.375
Binario G = 11111111111.011 × 20 = 1.1111111111011 × 210
En punto flotante
Signo 0
Exponente (el mismo que A) e = E + S = 10 + 15 = 25 = 11001|2
Mantisa (eliminando el 1 implícito, con 10 bits, la misma que A)
Luego G = 0 11001 11111 11111
Se obtiene el mismo valor que A. Como A>>B, el resultado es el valor mayor. Se necesi-
taría más bits en la mantisa para obtener el valor exacto.
2. Indique la representación de los siguientes números, razonando su respuesta: (2 puntos)
• -16 en complemento a 2 con 5 bits
• +13 en signo magnitud con 5 bits
• -14 en complemento a 2 con 5 bits
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
16(2 = 10000. Complemento a 2: 01111 + 1 = 10000.
13(2 = 1101. Signo magnitud con 5 bits: 13(2 = 01101.
14(2 con 5 bits = 01110. Se complementa. Complemento a 2: 10001 + 1 = 10010
3. Dado el número 0.6, ¿en cuál de los formatos (simple precisión o doble precisión) se puede representar
ese número de forma exacta? (1 punto)
El número 0.6 no se puede representar de forma exacta en binario:
0.6(10 = 0,100110011001….
No se puede representar de forma exacta ni en simple ni en doble precisión
4. Se desea utilizar alguno de los tipos de representación binaria de enteros con signo para los
números en base 10 +43 y -43. ¿Cuál es la mínima cantidad de dígitos binarios necesaria? Razona la
respuesta.
a) 5 b) 6 c) 4 d) 7 (1 punto)
d) 7 (para poder representar el número con signo, sea el sistema que sea)
5. Se dispone de un espacio de memoria de capacidad 2MBytes, que emplea un tamaño de palabra de
32 bits. Se supone que todo él se dedica a almacenar números con formato tipo int8_t (representación
en complemento a 2 con una longitud de 8 bits). (8 puntos: 2 puntos cada apartado)
a) Cuántas palabras pueden almacenarse
b) Cuántas variables con el citado formato pueden almacenarse en una palabra de memoria
c) Cuántas variables pueden almacenarse en la memoria
d) Si cada palabra se corresponde con una dirección de memoria y la primera palabra se encuentra
en la dirección 0, en qué dirección se encuentra la última palabra (expresarlo en binario, base 10
y en hexadecimal)
Capacidad (tal como muestra en el enunciado) será igual al número de palabras por el tamaño
de cada una de ellas
2 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 = 2 × 220 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 = 221 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 = 221 × 23 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 224 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 16 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
Cada palabra 32 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 25 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 22 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵
Cada variable 8 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 23 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 1 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵
221 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 224 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏
a) Número de palabras 22 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵/𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝
= 𝟐𝟐𝟏𝟏𝟏𝟏 𝐩𝐩𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚 = 25 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏/𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝
b) Cada variable 8 bits 𝟐𝟐𝟐𝟐 𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯 𝐞𝐞𝐞𝐞 𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐜 𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩𝐩
variables
c) Luego se pueden almacenar 219 palabras × 22 palabra
= 𝟐𝟐𝟐𝟐𝟐𝟐 𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯𝐯
(se sabía desde el principio, cada palabra 1 Byte y la capacidad es de 221 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 )
d) El número de direcciones, según el enunciado, coincide con el número de palabras ya calcu-
lado (219 = 524288 palabras o direcciones)
Primera dirección 0: Última dirección 𝟐𝟐𝟏𝟏𝟏𝟏 − 𝟏𝟏 = 𝟓𝟓𝟓𝟓𝟓𝟓𝟓𝟓𝟓𝟓𝟓𝟓
En binario: 219 = 1000 0000 0000 0000 0000 Luego 219 − 1 = 𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏|𝟐𝟐 =
𝟕𝟕𝐅𝐅𝐅𝐅𝐅𝐅|𝟏𝟏𝟏𝟏
C2 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C2 (15 Puntos)
C2.1 Marca una sola respuesta en cada pregunta (5 puntos)
¡¡¡Cada respuesta incorrecta descontará un punto. Nota mínima en la cuestión 0 puntos!!!
1. Desde el punto de vista del sistema operativo, un proceso es:
a. Un programa ya compilado
b. Un programa ya procesado
c. Un programa en ejecución
2. ¿Cuál de las siguientes afirmaciones sobre la memoria caché es cierta?
a. La caché del nivel 1 es la más pequeña y la más rápida
b. La caché del nivel 1 es la más grande y la más lenta
c. La caché del nivel 2 es igual de rápida que la memoria principal
3. Por el tipo de información que manejan, se distinguen los siguientes tipos de buses:
a. Bus de datos y control
b. Bus de datos serie y paralelo
c. Bus de control, datos y direcciones
d. Bus de sistema y local
4. La arquitectura von Neumann es básicamente:
a. Un esquema de los detalles físicos de un ordenador
b. Una organización funcional de un ordenador
c. Una arquitectura que incluye tanto los detalles físicos como los funcionales de un ordenador
5. El tipo de elemento donde está almacenada la BIOS del ordenador es:
a. RAM
b. Disco duro o HDD
c. CPU
d. ROM
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
C2.2 (10 puntos)
En la imagen se muestra un esquema simplificado de una arquitectura tipo acumulador
a) ¿Qué caracteriza a la arquitectura “tipo acumulador”? (2 P.)
Las operaciones binarias tienen uno de sus operandos implícito, el valor del Acumulador. El resultado se
almacena en el acumulador.
b) De los registros que aparecen, elige 4 y describe la función que desempeñan (2 P.)
MAR Almacenamiento temporal de la dirección de memoria de la próxima instrucción a leer o del
próximo dato a leer o escribir
AC Operando implícito. Resultado de una operación.
PC Contador del programa, dirección donde realizar la búsqueda de una instrucción
MBR Almacenamiento temporal de la instrucción a ejecutar o del valor recién leído o del valor que
se va a almacenar.
c) Indica los buses que aparecen (nombre y función que realizan) (2 P.)
Bus de Control: señales eléctricas que transmiten tanto órdenes como información de temporización entre
los diferentes componentes
Bus de Direcciones: cada línea representa un bit con el que se compone una dirección en memoria
Bus de Datos: cada línea representa un bit con el que se compone un dato o instrucción
d) Describe los pasos que intervienen en la etapa de búsqueda del ciclo de instrucción (4 P.)
Los pasos son:
• Copiar el contenido de 𝐏𝐏𝐏𝐏 en el registro de dirección de memoria: 𝑴𝑴𝐀𝐀𝐀𝐀 ← 𝐏𝐏𝐏𝐏
• Leer la instrucción desde memoria: 𝐌𝐌𝐌𝐌𝐌𝐌 ← ⟨𝐌𝐌𝐌𝐌𝐌𝐌⟩
• Copiar la instrucción al registro de instrucciones: 𝐈𝐈𝐈𝐈 ← 𝐌𝐌𝐌𝐌𝐌𝐌 y al mismo tiempo,
• Incrementar el contenido de 𝐏𝐏𝐏𝐏 en una unidad: 𝐏𝐏𝐏𝐏 ← 𝐏𝐏𝐏𝐏 + 𝟏𝟏
C3 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C3A (10 Puntos)
Empareja los elementos de la columna código con los de la columna salida.¡Puede haber salidas repetidas!
• Cada respuesta correcta: +2 puntos (Puntuación máxima en la cuestión C3: 10 puntos)
• Respuesta en blanco: 0 puntos
• Respuesta incorrecta: -1 puntos (Puntuación mínima en la cuestión C3: 0 puntos)
CÓDIGO SALIDA
num = 4
v = []
1 for i in range(num+1): A [0, 1, 2, 3, 4, 5]
[Link](i)
print(v)
lista = [9, 8, 7, 6]
lista2 = [Link]()
2 lista[-1] = 100
B [0, 1, 2, 3, 4]
print(lista2)
num = 4
v = []
3 for i in range(num+1): C [9, 8, 7, 6]
[Link](i)
print(v)
[0]
num = 5 [0, 1]
4 v = list(range(num)) D [0, 1, 2]
print(v) [0, 1, 2, 3]
[0, 1, 2, 3, 4]
lista = [6, 9, 7, 8]
[Link]()
5 lista2 = lista E [9, 8, 7, 100]
[Link]()
print(lista2)
lista = [9, 8, 7, 6]
lista2 = lista
6 lista[-1] = 100
F [6, 7, 8, 9]
print(lista2)
CÓDIGO 1 2 3 4 5 6
SALIDA D C B B C E
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
C3 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C3B (10 Puntos)
Empareja los elementos de la columna código con los de la columna salida.¡Puede haber salidas repetidas!
• Cada respuesta correcta: +2 puntos (Puntuación máxima en la cuestión C3: 10 puntos)
• Respuesta en blanco: 0 puntos
• Respuesta incorrecta: -1 puntos (Puntuación mínima en la cuestión C3: 0 puntos)
CÓDIGO SALIDA
num = 4
v = []
1 for i in range(num+1): A [0, 1, 2, 3, 4, 5]
[Link](i)
print(v)
lista = [9, 8, 7, 6]
lista2 = [Link]()
2 lista[-1] = 100
B [9, 8, 7, 100]
print(lista2)
num = 4
v = []
3 for i in range(num+1): C [6, 7, 8, 9]
[Link](i)
print(v)
num = 5
4 v = list(range(num)) D [0, 1, 2, 3, 4]
print(v)
lista = [6, 9, 7, 8]
[0]
[Link]() [0, 1]
5 lista2 = lista E [0, 1, 2]
[Link]() [0, 1, 2, 3]
[0, 1, 2, 3, 4]
print(lista2)
lista = [9, 8, 7, 6]
lista2 = lista
6 lista[-1] = 100
F [9, 8, 7, 6]
print(lista2)
CÓDIGO 1 2 3 4 5 6
SALIDA E F D D F B
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
C3 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C3C (10 Puntos)
Empareja los elementos de la columna código con los de la columna salida.¡Puede haber salidas repetidas!
• Cada respuesta correcta: +2 puntos (Puntuación máxima en la cuestión C3: 10 puntos)
• Respuesta en blanco: 0 puntos
• Respuesta incorrecta: -1 puntos (Puntuación mínima en la cuestión C3: 0 puntos)
CÓDIGO SALIDA
num = 4
v = []
1 for i in range(num+1): A [9, 8, 7, 100]
[Link](i)
print(v)
lista = [9, 8, 7, 6] [0]
lista2 = [Link]() [0, 1]
2 lista[-1] = 100
B [0, 1, 2]
[0, 1, 2, 3]
print(lista2) [0, 1, 2, 3, 4]
num = 4
v = []
3 for i in range(num+1): C [0, 1, 2, 3, 4]
[Link](i)
print(v)
num = 5
4 v = list(range(num)) D [9, 8, 7, 6]
print(v)
lista = [6, 9, 7, 8]
[Link]()
5 lista2 = lista E [6, 7, 8, 9]
[Link]()
print(lista2)
lista = [9, 8, 7, 6]
lista2 = lista
6 lista[-1] = 100
F [0, 1, 2, 3, 4, 5]
print(lista2)
CÓDIGO 1 2 3 4 5 6
SALIDA B D C C D A
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
C3 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C3D (10 Puntos)
Empareja los elementos de la columna código con los de la columna salida.¡Puede haber salidas repetidas!
• Cada respuesta correcta: +2 puntos (Puntuación máxima en la cuestión C3: 10 puntos)
• Respuesta en blanco: 0 puntos
• Respuesta incorrecta: -1 puntos (Puntuación mínima en la cuestión C3: 0 puntos)
CÓDIGO SALIDA
num = 4 [0]
v = [] [0, 1]
1 for i in range(num+1): A [0, 1, 2]
[0, 1, 2, 3]
[Link](i)
[0, 1, 2, 3, 4]
print(v)
lista = [9, 8, 7, 6]
lista2 = [Link]()
2 lista[-1] = 100
B [6, 7, 8, 9]
print(lista2)
num = 4
v = []
3 for i in range(num+1): C [9, 8, 7, 100]
[Link](i)
print(v)
num = 5
4 v = list(range(num)) D [0, 1, 2, 3, 4, 5]
print(v)
lista = [6, 9, 7, 8]
[Link]()
5 lista2 = lista E [9, 8, 7, 6]
[Link]()
print(lista2)
lista = [9, 8, 7, 6]
lista2 = lista
6 lista[-1] = 100
F [0, 1, 2, 3, 4]
print(lista2)
CÓDIGO 1 2 3 4 5 6
SALIDA A E F F E C
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
C4 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C4A (10 Puntos)
Conteste rellenando los recuadros correspondientes.
1. Complete la palabra reservada de Python en el siguiente programa: (1 Punto)
x = 6
if x < 0:
print(f'El valor de {x} negativo')
elif x == 0:
print(f'El valor de {x} es cero')
else:
print(f'El valor de {x} es positivo')
2. ¿Qué instrucción de Python es necesario colocar para que el programa muestre por pantalla solo los
números 1 y 2? (1 Punto)
x = 0
while x < 5:
x += 1
if x == 3:
break
print(x)
3. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
x = 0
while x < 3:
x = x + 1 3
print(x)
4. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
suma = 0
for num in range(5): 10
suma += num
print(suma)
5. ¿Qué imprime el siguiente código en Python? (2 puntos)
x = range(7, 15, 2)
lista = []
for n in x: [7, 9, 11, 13]
[Link](n)
print(lista)
6. (2 puntos) ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
lista1 = [1, 2, 3, 4, 5]
lista2 = [0]*len(lista1)
for i, x in enumerate(lista1):
lista2[i] = x**2
[1, 4, 9, 16, 25]
print(lista2)
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática (continúa a la vuelta )
C4 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C4B (10 Puntos)
Conteste rellenando los recuadros correspondientes.
1. Complete la palabra reservada de Python en el siguiente programa: (1 Punto)
x = 6
if x < 0:
print(f'El valor de {x} negativo')
elif x == 0:
print(f'El valor de {x} es cero')
else:
print(f'El valor de {x} es positivo')
2. ¿Qué instrucción de Python es necesario colocar para que el programa muestre por pantalla solo los
números 1 y 2? (1 Punto)
x = 0
while x < 5:
x += 1
if x == 3:
break
print(x)
3. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
x = 0
while x <= 3:
x = x + 1 4
print(x)
4. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
suma = 0
for num in range(4): 6
suma += num
print(suma)
5. ¿Qué imprime el siguiente código en Python? (2 puntos)
x = range(7, 16, 2)
lista = []
for n in x: [7, 9, 11, 13, 15]
[Link](n)
print(lista)
6. (2 puntos) ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
lista1 = [0, 1, 2, 3, 4]
lista2 = [0]*len(lista1)
for i, x in enumerate(lista1):
lista2[i] = x**2
[0, 1, 4, 9, 16]
print(lista2)
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática (continúa a la vuelta )
C4 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C4C (10 Puntos)
Conteste rellenando los recuadros correspondientes.
1. Complete la palabra reservada de Python en el siguiente programa: (1 Punto)
x = 6
if x < 0:
print(f'El valor de {x} negativo')
elif x == 0:
print(f'El valor de {x} es cero')
else:
print(f'El valor de {x} es positivo')
2. ¿Qué instrucción de Python es necesario colocar para que el programa muestre por pantalla solo los
números 1 y 2? (1 Punto)
x = 0
while x < 5:
x += 1
if x == 3:
break
print(x)
3. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
x = 0
while x > -3:
x = x - 1 -3
print(x)
4. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
suma = 1
for num in range(5): 11
suma += num
print(suma)
5. ¿Qué imprime el siguiente código en Python? (2 puntos)
x = range(7, 15, 2)
lista = [0]
for n in x: [0, 7, 9, 11, 13]
[Link](n)
print(lista)
6. (2 puntos) ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
lista1 = [1, 2, 3, 4, 5]
lista2 = [1]*len(lista1)
for i, x in enumerate(lista1):
lista2[i] += x**2
[2, 5, 10, 17, 26]
print(lista2)
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática (continúa a la vuelta )
C4 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C4D (10 Puntos)
Conteste rellenando los recuadros correspondientes.
1. Complete la palabra reservada de Python en el siguiente programa: (1 Punto)
x = 6
if x < 0:
print(f'El valor de {x} negativo')
elif x == 0:
print(f'El valor de {x} es cero')
else:
print(f'El valor de {x} es positivo')
2. ¿Qué instrucción de Python es necesario colocar para que el programa muestre por pantalla solo los
números 1 y 2? (1 Punto)
x = 0
while x < 5:
x += 1
if x == 3:
break
print(x)
3. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
x = 0
while x >= -3:
x = x - 1 -4
print(x)
4. ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
suma = 1
for num in range(4): 7
suma += num
print(suma)
5. ¿Qué imprime el siguiente código en Python? (2 puntos)
x = range(7, 16, 2)
lista = [0]
for n in x: [0, 7, 9, 11, 13, 15]
[Link](n)
print(lista)
6. (2 puntos) ¿Cuál es la salida que produce este bloque de código en Python? (2 puntos)
lista1 = [0, 1, 2, 3, 4]
lista2 = [1]*len(lista1)
for i, x in enumerate(lista1):
lista2[i] += x**2
[1, 2, 5, 10, 17]
print(lista2)
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática (continúa a la vuelta )
C5 Escuela de Ingenierías Industriales
Fundamentos de Informática Examen Extraordinario: 30 de enero de 2023
Apellidos (en Mayúsculas) Nombre Grupo T IM IOI IQ ITI IEIA IELE IENE
1
2
3
Observaciones: Nota:
• Rellena los datos (apellidos, nombre y grupo) que se solicitan en la parte superior de esta hoja.
• Contesta a la cuestión en esta misma hoja.
Cuestión C5 (10 Puntos)
Una lista de números enteros se encuentra almacenada en un fichero, como el proporcionado como ejemplo
más abajo, de nombre [Link]. Los números aparecen separados por espacios en blanco, y pueden
aparecer distribuidos en diferentes líneas.
De los valores de esta lista [𝑙𝑙0 , 𝑙𝑙1 , … , 𝑙𝑙𝑛𝑛−1 , 𝑙𝑙𝑛𝑛 ] se quieren extraer aquellos que corresponden a un máximo.
Se considera que un valor de una lista es un máximo si:
• No es ni el primero, 𝑙𝑙0 , ni el último valor de la lista, 𝑙𝑙𝑛𝑛
• Cumple 𝑙𝑙𝑖𝑖−1 < 𝑙𝑙𝑖𝑖 > 𝑙𝑙𝑖𝑖+1
Se pide:
1. Complete el código de la función lee_lista()
2. Defina la función maximo_local(lista) que devuelve una lista con los máximos locales de una lista
de enteros pasada como parámetro.
Ejemplo de ejecución: Ejemplo de fichero: [Link]
Lista leída del fichero: [1, 2, 3, 2, 4, 5, 3, 6, 7, 3, 8, 1] 1 2 3 24 5
Lista de máximos: [3, 5, 7, 8] 3 6 7
3
8 1
¡Usa las líneas verticales como referencia para sangrar el código!
def lee_lista( ):
with open( ) as fich:
lista_enteros = []
for linea in fich:
return lista_enteros
def maximo_local(lista):
if __name__ == '__main__':
lista = lee_lista('[Link]')
print(f'Lista leída del fichero: {lista}')
print(f'Lista de máximos: {maximo_local(lista)}')
Universidad de Valladolid – Departamento de Ingeniería de Sistemas y Automática
SOLUCIÓN:
def lee_lista(nombre_fichero):
with open(nombre_fichero, 'r') as fich:
lista_enteros = []
for linea in fich:
palabras = [Link]()
for valor in palabras:
lista_enteros.append(int(valor))
return lista_enteros
def maximo_local(lista):
lista_maximos = []
for i in range(1, len(lista)-1):
if lista[i-1] < lista[i] > lista[i+1]:
lista_maximos.append(lista[i])
return lista_maximos
if __name__ == '__main__':
lista = lee_lista('[Link]')
print(f'Lista leida del fichero: {lista}')
print(f'Lista de máximos: {maximo_local(lista)}')