2Eva_IIT2017_T3 Prueba de escritorio, arreglos

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, listas

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

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 de escritorio – cadenas, listas, índices

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 de escritorio – cadenas, archivos, listas

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 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

1Eva_IT2017_T3 Prueba de escritorio, listas

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

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?:

print(stars[-4,-2])

print(stars[3][0:stars[3].find(' ')] + stars[1][3:])

Referencia: Archivo original 1Eva_IT2017.pdf

1Eva_IIT2015~T4 Prueba de escritorio, listas

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 Prueba de escritorio, cadenas

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

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. (5 puntos) Analice las instrucciones en cada sección y escriba los resultados a obtener.

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, cadenas

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 – conjuntos, operaciones, diferencia simétrica

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))

b. Indique la salida del programa. Justifique su respuesta

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

Referencia: Archivo original 2Eva_IIT2016.pdf

3Eva_IT2016_T3 Prueba de escritorio – funciones, listas, caracteres

3ra Evaluación I Término 2016-2017, Septiembre 13, 2016 /CCPG001

Tema 3. (10 puntos)
a) (5 puntos) Considere lo siguiente e indique el resultado al ejecutarlo. Justifique su respuesta.

lista1 = [3,'A',6]
lista2 = ['A']

def funcion (lista1, lista2):
    a = []
    for i in lista1:
        for j in lista2:
            if i != j:
                a.append(str(i) + str(j))
                for x in a[:]:
                    a.append(str(i) + str(j))
    return(a)

print(funcion (lista1, lista2))

b) (5 puntos) Considere lo siguiente e indique el resultado al ejecutarlo. Justifique su respuesta.

def fun(cadena,k):
    L = []
    for elem in set(cadena.split(' ')):
        L.append(elem*k)
    return('#'.join(L))

cadena = 'programar es estupendo estupendo es programar'

print(fun(cadena,2))

Referencia: Archivo original 3Eva_IT2016.pdf