2Eva_IIT2017_T3 Prueba de escritorio

2da Evaluación II Término 2017-2018. Febrero 14, 2018 /CCPG001

Tema 3. (10 puntos) Para las preguntas, considere matriz M como un arreglo (Numpy) :

import numpy as np

M =  np.array([['h','o','l','a'],
               ['m','u','n','d'],
               ['o','E','S','P'],
               ['O','L',':',')']])

a) Indique la salida por pantalla de las siguientes instrucciones. Justifique su respuesta:

f,c = M.shape
t= ''
for j in range(c):
    t=t+''.join(M[:,j].tolist())
print(t)

b) Indique la salida por pantalla de las siguientes instrucciones. Justifique su respuesta:

print((((M =='o')|(M=='O')).sum(axis=0)>0).sum())

Rúbrica: cada literal 5 puntos

Referencia: Archivo original 2Eva_IIT2017.pdf

1Eva_IIT2017_T4 Prueba de Escritorio

1ra Evaluación II Término 2017-2018, Diciembre 1, 2017. CCPG001 – FIEC

Tema 4. (10 puntos)
1. Indique la salida por pantalla del siguiente código. Justifique su respuesta.

f=['a', 'c', 'z', 'm', 'k']
g=[3,4,5,6,5,7]
t=''
for c in f:
    a=f.index(c)
    b=g[:a]
    t=t+(c*len(b))
print(t)

2. Indique la salida por pantalla del siguiente código. Justifique su respuesta.

import numpy as np
vector = np.array([1,5,6,6,5,2,1,3,7,9,0,0,1,4,8])
print(np.unique(vector[vector%2==0]).size)

a = vector[vector%2==0]
b = np.unique(a)
print(a)
print(b)
print(b.size)

Referencia: Archivo original 1Eva_IIT2017.pdf

3Eva_IT2017_T3 Prueba escritorio

3ra Evaluación I Término 2017-2018. Septiembre 16, 2017 /CCPG001

TEMA 3 (10 PUNTOS)
a. [5 puntos] ¿Qué imprime el siguiente código? Justifique su respuesta.

a='mensaje'
c='abcdefg'
i=len(c)-1
for b  in a:
    print(b*c.index(c[i]))
    i -=1

b. [5 puntos] ¿Qué imprime el siguiente código? Justifique su respuesta.

L=[5,3,8,2,7]
A=[0]*10
indice = 3
for valor in L:
    if valor < 6:
        indice -=1
    else:
        indice +=1
    A[indice]=valor

print(set(A))

Referencia: Archivo original 3Eva_IT2017.pdf

2Eva_IT2017_T3 Prueba escritorio

2da Evaluación I Término 2017-2018. Septiembre 2, 2017 /CCPG001

TEMA 3 (10 PUNTOS)
a. Considere:

archivo = open ( 'datos.txt' , 'w' )
archivo.write ( 'Días de la semana\n' )
archivo.close()
lista = [ 'lunes' , '\n' , 'martes' , '\n' , 'miércoles' , 'jueves' , 'viernes' ]
archivo = open ( 'datos.txt' , 'a+' )
archivo . writelines ( lista )
archivo . close()

¿Cuántas líneas de texto tiene el archivo ‘datos.txt’ al final del programa y con qué contenido? Justifique su respuesta. (5 puntos)

b. Muestre la salida por pantalla de la ejecución del siguiente código y justifique su respuesta: (5 puntos)

a = set([4,5,9,7,1])
b = set([6,3,8,2,10])
c = set([1,4,5])
d = set([len(a), len(c), len(b)])
f = (a | b) & d
g = (b - c) | d
h = d ^ a
print(f)
print(g)
print(h)

Referencia: Archivo Original 2Eva_IT2017.pdf

3Eva_IIT2016_T3 Prueba de escritorio

3ra Evaluación II Término 2016-2017, Marzo 7, 2017 /CCPG001

TEMA 3 (10 Puntos)

1. Dado el programa descrito a continuación, indique la salida y justifique su respuesta:

import numpy as np
L = [10,12,11,4,8]
M = [4,2,1,2,7]
matriz = np.array([],int)
A = np.append(matriz,L[2:4])
B = np.append(A,M[1:3]).reshape((2,2))
C = (A * B)//2
print(C)

1. Dado el programa descrito a continuación, indique la salida y justifique su respuesta:

L = ‘lala’
while len(L) < 20:
    L = L*5
print(L)

Referencia: Archivo original 3raEvaIIT2016.pdf

1Eva_IT2017_T3 Pruebas Escritorio

1ra Evaluación I Término 2017-2018. Julio 01, 2017 /CCPG001 – FIEC

(Editado para tarea, se mantiene el objetivo de aprendizaje)

TEMA 3 (10 PUNTOS)
a) Dada la lista

L=[12,9,1,3,2,10,20,5, ...]

Genere tres posiciones aleatorias de tal manera que los valores correspondientes sumen al menos 20. Al final muestre la suma de los tres valores seleccionados aleatoriamente.

b) Usando la siguiente lista:

stars=['Potter', 'Ron Weasley','Dombledore','Hermione Greanger','Hagrid','Voldemort']

¿que mostrarían las siguientes instrucciones?:

i) print (stars[-4,-2])
.
ii) print(stars[3][0:stars[3].find(' ')] + stars[1][3:])
.

Referencia: Archivo original 1Eva_IT2017.pdf

1Eva_IIT2015~T4 Prueba de escritorio

1ra Evaluación II Término 2015-2016, Marzo 7, 2016 /CCPG1001

Tema 4. (10%) Analice el código fuente de los programas que se muestran a continuación. Seleccione la respuesta correcta y justifique brevemente su respuesta.

4a. Determine la salida por pantalla del siguiente código:

A=[12,23,14,50,30]
for i in range(0, len(A)):
    if A[i] % 2 == 0:
        A.pop(i)
print(A)

a) Error: El símbolo pop no ha sido definido
b) Error: Índice de la lista fuera de rango
c) [23]d)[23, 50]

4b. Determine la salida por pantalla del siguiente código:

a=[5,4,3,2,1,0]
print(a[0], a[a[0]], a[a[-1]], a[a[a[a[2]+1]]])

a) 5 5 5 5
b) 5 0 5 1
c) 5 4 1 4
d) Ninguna de las anteriores

1Eva_IIT2016_T4 Pruebas de escritorio

1ra Evaluación II Término 2016-2017. Diciembre 6, 2016. CCPG001 – FIEC

TEMA 4 (10 PUNTOS)
a. (5 puntos) Dada la secuencia de instrucciones de la derecha, indique lo que se muestra por pantalla. Justifique su respuesta.

palabra = 'aabbbccdefggh'
final = ''
actual = ''
for letra in palabra:
    if letra != actual:
        final = final + letra
        actual = letra
print(final)

b. Analice las instrucciones en cada sección y escriba los resultados a obtener. (5 puntos)

for i in range(1, 10):
    print(str(i) * i)
for i in range(1, 10):
    for j in range(i):
        print(i, end='')
    print()

Referencia: Archivo original 1raEvaIIT2016.pdf

1Eva_IT2016_T4 Prueba de escritorio

1ra Evaluación I Término 2016-2017. Junio 28, 2016 /CCPG001 – FIEC

Tema 4. (10 puntos)
a. (5 puntos) Dada la secuencia de instrucciones mostrada, realice la prueba de escritorio para la variables: cuantos, donde, lista:

mensaje = 'No basta saber, se debe también aplicar. No es suficiente querer, se debe también hacer. Goethe(1749­-1832)'
largo=len(mensaje)
cual='be'
cuantos=0
lista=[]

donde=-1 
i=0 
while (i<largo): 
    donde=mensaje[i:].find(cual)
    if (donde>0):
        cuantos=cuantos+1
        i=i+donde+1
        lista.append(donde)
    else:
        i=i+1   

print (cuantos)
print (lista)
cuantos donde lista

b. (5 puntos) ¿Cuál es el resultado luego de ejecutar el siguiente código? Justifique su respuesta mostrando cómo cambian de valor de i  y listas2 durante la ejecución del código.

lista = [5,3,2,6,7,34,1,23,5,6]
lista2 = []

for i in range(1, len(lista)):
    if (lista[i-1] <= lista[i]) and (lista[i] >= lista[i+1]):
        lista2.append(lista[i])

print(lista2)

A. [34, 23]
B. [3, 34, 23]
C. [3, 6, 7, 34, 23]
D. IndexError: list index out of range

Referencia: Archivo original 1raEvaIT2016.pdf

2Eva_IIT2016_T3 Prueba de escritorio

2da Evaluación II Término 2016-2017. Febrero 14, 2016 /CCPG001

Tema 3. (10 puntos) Dados los conjuntos:

A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8, 9}
C = {5, 4, 7, 0, 1}
Y = {len(A), len(B), len (C)}

a. Indique la salida del programa. Justifique su respuesta

X = A|B
Z = X^C
E = X-C
print(A.issubset(E)

c. Indique la salida del programa. Justifique su respuesta

Y = A&Y
Z = Y-C
print(Z)

Referencia: Archivo original 2Eva_IIT2016.pdf