Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Opción A
Notas:
1. Rellenar correctamente los datos de la cabecera. Sobre todo, en el test, el correspondiente al
número de expediente o DNI.
2. Los contenidos teóricos generan la NotaTeoriaParcial1 (sobre 10) y en ella cuenta un 40 % la
parte de test y un 60 % la parte de desarrollo. Los contenidos prácticos generan la
NotaPracticasParcial1 (sobre 10) y en ella cuenta un 20% el test y un 80% el desarrollo.
3. Las preguntas de test cuentan (en relación con su parte) todas iguales. Las preguntas no
contestadas ni cuentan ni descuentan, cada pregunta contestada erróneamente descuenta 1/3 de la
nota que tendría esa pregunta de haber sido correcta.
4. Las notas se publicarán en PoliformaT. Donde también se publicarán las soluciones, así como la
fecha y lugar de la revisión de los exámenes.
5. La realización del examen está sujeta a la normativa vigente así como a la Normativa de
Honestidad Académica establecida por la ETSII.
6. Cuando se termine el test, se da la vuelta a la pagina de contestaciones y se deja encima de la
mesa. El profesor pasará a recogerlo después de que cumpla el tiempo. Lo mismo para el resto
del examen.
7. Duración: Acto Evaluación 1 (test) ································45 minutos
Acto Evaluación 2 (parte Desarrollo Teoría) ········45 minutos
Acto Evaluación 2 (parte Desarrollo Prácticas) ·····90 minutos
Pregunta 6. Un compilador de Python codifica los datos de tipo int con 16 bits. Un
programa, tiene las siguientes líneas de código:
a = 23
b = - 48
suma = a + b
¿Cuál es el valor, que tendrá la variable suma en su correspondiente posición de
memoria, tras ejecutar ese programa?
a) 0x8019
b) 0xFFE7
c) 0x8007
d) Ninguna de las anteriores.
Pregunta 7. Un compilador de Python codifica los datos de tipo int con 16 bits. Un
programa, tiene definida una variable y en su correspondiente posición de memoria,
en un momento dado, aparece el valor 0xFFCF
¿Cuál es el valor de esa variable en ese momento, expresado en decimal?
a) -48
b) -49
c) +48
d) Ninguna de las anteriores.
precioKwh = 314.375;
¿Cómo inicializará ese compilador el valor de la variable precioKwh en la
memoria del computador (mostrado en hexadecimal)?
a) 0x81C60000
b) 0x439D3000
c) 0xFDC50000
d) Ninguna de las anteriores
a) 12345
b) 1234
c) 0124
d) Ninguna de las anteriores
Notas:
1. Responder las preguntas sobre el espacio que se deja (en caso necesario indicarlo y responder en
última hoja)
2. Para la realización del examen no se puede utilizar ningún apunte, ni dispositivo electrónico….
Se pide:
a) B recibe de su nivel superior unos datos para enviar. ¿Que procesos sigue
B?.
b) Ahora A recibe este envío. ¿Qué pasos sigue (suponer que la trama llega
sin errores)?
a) ¿Por qué? no puede usar el protocolo SMTP para bajarse el correo del servidor
Pregunta 1 Una vez terminada la carrera decides, junto a unos compañeros del
alma, montar una empresa para la realización de avanzados y complicados
análisis clínicos. Para ello decides hacer un programa que os ayude a vosotros y a
vuestros empleados a realizar los análisis correctamente
El programa a realizar debe ofrecer un menú (intuitivo) que permita a los usuarios:
crear un cultivo, cambiar de fase un cultivo existente, visualizar los cultivos en
marcha, etc., (evidentemente la información no especificada os la podéis
inventar….):
Para una primera versión del programa, el diseño de las clases que tenéis que
codificar en Python es:
a) def imprimirCabecera(programador):
print('************************************************')
print('** Empresa de Analisis Avanzados **')
print('** (c) '+programador+' **')
print('************************************************')
continuar = True
while continuar:
print('seleccione una de estas opciones')
print(' 0 - salir')
print(' 1 - crear cultivo')
print(' 2 - cambiar fase cultivo')
print(' 3 - visualizar cultivos')
print(' 4 - guardar cultivos')
print(' 5 - recuperar cultivos')
opcion = input()
if opcion == '0':
continuar = False
elif opcion == '1':
print(¿Has seleccionado….)
elif opcion == '2':
print(¿Has seleccionado….)
elif opcion == '3':
print(¿Has seleccionado….)
elif opcion == '4':
print(¿Has seleccionado….)
elif opcion == '5':
print(¿Has seleccionado….)
else:
print('Opcion incorrecta')
class Analisis(object):
COCO = 'coco'
BACILO = 'bacilo'
HELICO = 'helico'
def getTipoBacteria(self):
return self.bacteria
def getCodigoAnalisis(self):
return self.codigoAnalisis
def getDescripcion(self):
return 'El análisis con código '+ self.codigoAnalisis()+' analiza
la presencia de bacterias de tipo '+ self.bacteria()
class Cultivo(Analisis):
F1 = "Inicial"
F2 = "Crecimiento"
F3 = "Destrucción"
def getFase(self):
return self.fase
def getTemperatura(self):
return self.temperatura
def getDescripcion(self):
descripcion = Analisis.getDescripcion(self)+'\n'
descripcion = descripcion + 'Esta en la fase '+ self.fase +
' y se realiza a una temperatura de '+ str(self.temperatura)
return descripcion
a) listaCultivos = []
b) def crearCultivo():
seleccionCorrecta = False
print('Para que tipo de bacteria deseas hacer el cultivo?')
print(' 1 - COCO')
print(' 2 - BACILO')
print(' 3 - HELICO')
seleccion = input()
if seleccion == '1':
bacteria=Analisis.COCO
seleccionCorrecta = True
elif seleccion == '2':
bacteria=Analisis.BACILO
seleccionCorrecta = True
elif seleccion == '3':
bacteria=Analisis.HELICO
seleccionCorrecta = True
if seleccionCorrecta:
codigo = input('Introduce el codigo para ese cultivo')
nuevoCultivo = Cultivo(bacteria, codigo)
listaCultivos.append(nuevoCultivo)
else:
print('Seleccion de bacteria incorrecta. No se crea el
cultivo')
def visualizarCultivos():
if len(listaCultivos) != 0:
for cultivo in listaCultivos:
print(cultivo.getDescripcion())
else:
print('No hay cultivos en la lista')
def cambiarFaseCultivo_v1():
print('Los cultivos disponibles son:')
indice = 0
for cultivo in listaCultivos:
print(str(indice)+' - '+cultivo.getDescripcion())
indice = indice + 1
indiceSeleccionado = int(input('De que numero quieres cambiar la
fase?:'))
if (indiceSeleccionado > -1) and (indiceSeleccionado <
len(listaCultivos)):
print('El cultivo seleccionado esta en fase '+
listaCultivos[indiceSeleccionado].getFase())
if listaCultivos[indiceSeleccionado].getFase() == Cultivo.F1:
pasar = input('Quieres pasarlo a fase 2? (responder con si o
no)')
if pasar[0] == 's':
listaCultivos[indiceSeleccionado].setFase(Cultivo.F2)
print('El cultivo se pasa a Fase 2')
else:
print('El cultivo se deja en la fase actual')
elif listaCultivos[indiceSeleccionado].getFase() == Cultivo.F2:
pasar = input('Quieres pasarlo a Fase 3? (responder con si o
no)')
if pasar[0] == 's':
listaCultivos[indiceSeleccionado].setFase(Cultivo.F3)
print('El cultivo se pasa a Fase 3')
else:
print('El cultivo se deja en la fase actual')
else:
print('Ese indice es incorrecto')
def guardarCultivos():
nombreFichero = input('Nombre el fichero donde deseas guardar los
cultivos? ')
try:
fichero = open(nombreFichero,'w')
for cultivo in listaCultivos:
fichero.write(cultivo.getCodigoAnalisis()+':'+
cultivo.getTipoBacteria()+':'+cultivo.getFase()+
':'+str(cultivo.getTemperatura())+':\n')
fichero.close()
except IOError:
print('Error al abrir el fichero')
def recuperarCultivos9():
nombreFichero = input('Nombre el fichero del que deseas recuperar los
cultivos? ')
try:
fichero = open(nombreFichero,'r')
lista = fichero.readlines()
for linea in lista:
print(linea)
except FileNotFoundError:
print('error al abrir el fichero')
def recuperarCultivos10():
nombreFichero = input('Nombre el fichero del que deseas recuperar los
cultivos? ')
try:
fichero = open(nombreFichero,'r')
lista = fichero.readlines()
listaCultivos.clear()
for linea in lista:
indice = 0
codigo = ''
while linea[indice] != ':':
codigo = codigo + linea[indice]
indice = indice +1
indice = indice +1
bacteria=''
while linea[indice] != ':':
bacteria = bacteria + linea[indice]
indice = indice +1
indice = indice +1
fase=''
while linea[indice] != ':':
fase = fase + linea[indice]
indice = indice +1
indice = indice +1
temperatura=''
while linea[indice] != ':':
temperatura = temperatura + linea[indice]
indice = indice +1
indice = indice +1
temperatura=float(temperatura)
nuevoCultivo = Cultivo(bacteria,codigo)
nuevoCultivo.setFase(fase)
nuevoCultivo.setTemperatura(temperatura)
listaCultivos.append(nuevoCultivo)
except FileNotFoundError:
print('error al abrir el fichero')
y la función len() recibe como parámetro una lista y retorna el numero de elementos que
contiene la lista