Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I.
NOMBRE
SECCIN
10
a
b
c
d
E
II.
b)
c)
El desarrollo de la prueba es individual, queda prohibido hablar o compartir informacin con otros
estudiantes.
d)
El estudiante que sea sorprendido en actos deshonestos ser calificado con la nota mnima.
e)
Sobre el escritorio slo podr existir lpiz (obligatorio) y goma/lpiz corrector (opcional).
f)
Se recomienda asistir a la prueba sin bolsos, mochilas u otros de similar uso. Los estudiantes que
porten estos objetos debern dejarlos al costado de su asiento y no podrn abrirlos hasta que finalice la
prueba.
g)
h)
i)
III.
PREGUNTAS
Respuestas
Cdigo
I. Para leer un archivo slo se puede abrir en modo de
lectura [opcin eliminada]
II. Para escribir en un archivo se debe abrir en modo escritura
o actualizacin
III. Se puede leer lnea a lnea del archivo
IV. Para crear un nuevo archivo se debe abrir en modo lectura
[Si se abre el lectura (r) no se crea el archivo]
a)
b)
c)
d)
e)
I y Solo II
II y III
III y IV
I y Solo IV
I y Solo III
Cdigo
def funcion(numeros, inicio, fin, elemento):
if (inicio == fin):
return inicio
indice = (inicio + fin) / 2
if (elemento < numeros [indice]):
return funcion(numeros, inicio, indice, elemento)
elif (elemento > numeros [indice]):
return funcion(numeros, indice + 1, fin, elemento)
else:
return ndice
Respuestas
a)
b)
c)
d)
Pag. 2
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA INFORMTICA
FUNDAMENTOS DE COMPUTACIN Y PROGRAMACIN
SERIE C
3. Para el siguiente cdigo Python, indique el valor que es mostrado por pantalla.
(1 punto)
Cdigo
Respuestas
prefijos = "JKLMNOPQ"
sufijo = "ack"
lista = []
i = 0
for letra in prefijos:
lista.append(letra + sufijo)
i = i + 1
print lista[3]
[Ya que el algoritmo imprime el cuarto elemento de
lista generada, solo se mostrar ese. El ciclo for
ejecuta carcter a carcter el prefijo, en cual en
cuarto ciclo posee el valor M, y el sufijo es
mismo siempre, por lo que el valor buscado para
impresin es M+ack = Mack]
a) Lack
b) Mack
c) Nack
d) Jack
e) Oack
la
se
el
el
la
Respuestas
Cdigo
for elemento in lista:
# Sentencias
Cdigo
def funcion(s):
lista = s.split(" ")
return len(lista)
[Funcin que separa un String por los
espacios, ingresndolos a una lista,
(separa las palabras), y retorna la
cantidad de palabras que compone ese
String]
menu.txt
ensalada de tomate
papas fritas
pizza
Respuestas
a) 6
b) 7
c) 4
d) 5
e) 2
inp = open("menu.txt","r")
total = 0
for linea in inp.readlines():
total = total + funcion(linea)
[Se cuentan
archivo]
las
palabras
de
todo
el
inp.close()
print total
Pag. 4
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA INFORMTICA
FUNDAMENTOS DE COMPUTACIN Y PROGRAMACIN
PRUEBA ESCRITA PROGRAMADA N2 2/2013
SERIE C
Cdigo
#Funcin 1 - Agrega un elemento a la estructura
def agregarElemento(elemento, estructura):
estructura.append(elemento)
return estructura
Respuestas
a) - Funcin 1 y Funcin 2
- Funcin 1 y Funcin 3
b) - Funcin 1 y Funcin 2
- Funcin 2 y Funcin 1
[Agrega un elemento al final de una lista, puede
servir para las filas (siempre y cuando se
eliminen elementos por el inicio) y pilas c) Cualquier combinacin con la
(Siempre y cuando se eliminen elementos al
Funcin 1 permite generar
final)]
filas y pilas al mismo tiempo
#Funcin 2 - Elimina un elemento de la
estructura
def eliminarElemento1(estructura):
if len(estructura) > 0:
estructura.pop(0)
return estructura
[Elimina un elemento en la posicin 0 de la
lista, es decir, al inicio. Esto sirve para
representar una fila]
#Funcin 3 - Elimina un elemento de la
estructura
def eliminarElemento2(estructura):
if len(estructura) > 0:
estructura.pop(len(estructura)-1
return estructura
[Elimina un elemento en la posicin n-1 (n el
tamao de la lista) de la lista, es decir, al
inicio. Esto sirve para representar una pila]
d) - Funcin 1 y Funcin 3
- Funcin 1 y Funcin 2
e) - Funcin 2 y Funcin 1
- Funcin 3
Cdigo
def sinNombre1(lista):
for i in range(len(lista)):
for j in range(i, len(lista)):
if lista[i] != lista[j] and i != j:
return False
return True
[Dos ciclos for anidados, el primero desde 0 a n-1, y el
segundo desde i hasta n-1, el if se vuelve verdadero para
cualquier i distinto de j, y para cualquier par de elementos
distintos]
Respuestas
a) cuentaIgual y cuentaDistinta
b) cuentaDistinta y cuentaIgual
c) ordenaIguales y ordenaDistintos
d) todosDistintos y todosIguales
e) todosIguales y todosDistintos
def sinNombre2(lista):
for i in range(len(lista)):
for j in range(i, len(lista)):
if lista[i] == lista[j] and i != j:
return False
return True
[Dos ciclos for anidados, el primero desde 0 a n-1, y el
segundo desde i hasta n-1, el if se vuelve verdadero para
cualquier i distinto de j, y para cualquier par de elementos
iguales]
8. Analice las siguientes funciones escritas en Python y, segn el contenido
lgico, indique el valor que es mostrado por pantalla.
(1 Punto)
Cdigo
M = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
s = 0.0
for i in range(0, 3):
for j in range(0, 3):
s = s+ M[i][j]
print s / 9.0
[El ciclo for realiza una suma de todos los elementos de las
sub listas de la lista M, al verla solo se aprecian 3 unos y
los dems son 0. Al realizar la sentencia del print queda
s=3, entonces es 3/9.0 (flotante), lo que es igual a
0.3333]
Respuestas
a) 0.11111111
b) 0.0
c) 0.66666666
d) 1.0
e) 0.33333333
Pag. 6
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA INFORMTICA
FUNDAMENTOS DE COMPUTACIN Y PROGRAMACIN
SERIE C
Cdigo
def funcion01(lista, valor1, valor2):
for elemento in lista:
if elemento < valor1 or elemento > valor2:
return False
return True
#Proceso
miLista=[12,44,27,45,-10,8,33,87,10,22]
print funcion01(miLista,10,50),funcion01(miLista,1,100),funcion01(miLista,50,100)
[Dada la posiciones de los return, solo se analiza el primer elemento de la
lista, si este se encuentra dentro del rango dados por el valor1 y valor2,
retornar verdadero, en caso contrario, falso, entonces el anlisis es:
12 est entre 10 y 50 Verdadero
12 est entre 1 y 100 Verdadero
12 est entre -50 y 100 Verdadero]
Respuestas
a) False False False
b) False True False
c) False False True
d) True True True
e) True True False
Cdigo
def funcion02(datos,clave,monto):
if clave in datos:
datos[clave]=datos[clave]+monto
return datos
[Si est la clave, se suma el monto, si no, se devuelve el mismo diccionario]
#Proceso
pagos={"Luz":25000,"Agua":12500,"Gas":35000,"Diario":12000,"Gastos
Comunes":120000}
pagos=funcion02(pagos,"Gas",5000)
[Al estar la clave gas, sumo el monto, esto me da 40000 en gas]
print pagos
pagos=funcion02(pagos,"Cable",25000)
[No se encuentra el cable en el diccionario, por lo cual no hago nada]
print pagos
Respuestas
a) {"Luz":25000,"Agua":12500,"Gas":35000,"Diario":12000,"Gastos Comunes":120000}
{"Luz":25000,"Agua":12500,"Gas":40000,"Diario":12000,"Gastos Comunes":120000}
[No actualiza el gas en la primera impresin]
b) {"Luz":25000,"Agua":12500,"Gas":40000,"Diario":12000,"Gastos Comunes":120000}
{"Luz":25000,"Agua":12500,"Gas":35000,"Diario":12000,"Gastos Comunes":120000}
[El gas no debe haber variado en la segunda impresin]
c) {"Luz":25000,"Agua":12500,"Gas":40000,"Diario":12000,"Gastos Comunes":120000}
{"Luz":25000,"Agua":12500,"Gas":40000,"Diario":12000,"Gastos Comunes":120000}
d) {"Luz":25000,"Agua":12500,"Gas":35000,"Diario":12000,"Gastos Comunes":120000}
{"Luz":25000,"Agua":12500,"Gas":35000,"Diario":12000,"Gastos Comunes":120000}
[No actualiza el gas en la primera impresin]
e) Ninguna de las anteriores
Pag. 8