Sei sulla pagina 1di 4

Computación II

Unidad 1. Estructuras de datos y análisis de algoritmos

Actividad 1. Practica con Phyton

En esta actividad practicarás el uso de Python y programarás tu primer algoritmo. Para lograrlo,
tendrás que conocer algunas funciones sobre números aleatorios con este lenguaje.

Primero tienes que importar el paquete de números aleatorios.

>>> import random


o bien, puedes importarlo con un alias
>>> import random as R
y esto sería únicamente para simplificar las llamadas a las funciones que éste contiene; para
saber qué paquetes lo constituyen, puedes usar la función dir, por ejemplo

>>> dir(R)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random',
'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill',
'_BuiltinMethodType', '_MethodType', '__all__', '__builtins__',
'__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil',
'_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi',
'_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom',
'_warn', 'betavariate', 'choice', 'division', 'expovariate',
'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead',
'lognormvariate', 'normalvariate', 'paretovariate', 'randint',
'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle',
'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>>
Lo que muestra todos los paquetes y funciones dependientes de R, por ejemplo, puedes llamar
a la función random como R.random() o shuffle con R.shuffle(L) o randint como R.randint(n,m).
En el siguiente ejemplo puedes ver el uso de varias funciones de random.
>>> x = R.random()
>>> x
0.8697711033618989
>>> x = R.random()*10
>>> x
4.224161989254961
>>> x = int(R.random()*10)
>>> x
8
>>> x = R.randint(1,9)
>>> x
9
>>>

1
Educación Abierta y a Distancia * Ciencias Exactas, Ingenierías y Tecnologías
Computación II
Unidad 1. Estructuras de datos y análisis de algoritmos

Actividad 1. Practica con Phyton

Esto es importante porque vas a generar una matriz con estos datos. Para tal efecto, puedes
hacerlo de dos formas: una sería una lista de listas, y la otra, con un diccionario. En el siguiente
par de ejemplos puedes ver la definición de una matriz de 2x2 de ambas formas
>>> L = [[1,2],[3,4]]
>>> L[0][1]
2
>>> M = dict()
>>> M[0,0]=1
>>> M[0,1]=2
>>> M[1,0]=3
>>> M[1,1]=4
>>> M
{(0, 1): 2, (1, 0): 3, (0, 0): 1, (1, 1): 4}
La ventaja de generar la matriz con listas es, básicamente, que es la forma más canónica de
crear estos objetos en diferentes lenguajes, y con diccionarios en Python es mucho más
eficiente por la forma en que está programada esta estructura, pero la notación cambia un poco
respecto al de listas. La implementación de la actividad está pensada para hacerla con listas y
queda como ejercicio extra el que las implementes con diccionarios.
Para crear una matriz de nxm con valor 0 en todas sus entradas, puedes hacer lo siguiente.
>>> L = []
>>> for i in range(4): L.append([0 for j in range(4)])
...
>>> L
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
>>>
Usualmente, el for debe ser escrito en varias líneas, pero en este caso puedes usarlo en una
sola línea, ya que el cuerpo consta únicamente de una línea; en este caso, la matriz es de 4x4.
Instrucciones
1. Crea una matriz con valores enteros aleatorios que tomen valores desde -9 a 9.

2
Educación Abierta y a Distancia * Ciencias Exactas, Ingenierías y Tecnologías
Computación II
Unidad 1. Estructuras de datos y análisis de algoritmos

2. Implementa una función que multiplique ambas matrices y regrese el resultado en otra
lista de listas. El prototipo de la función es como el siguiente:
K = def multiplica_matriz(L,M)
donde L, M son matrices válidas.

3
Educación Abierta y a Distancia * Ciencias Exactas, Ingenierías y Tecnologías
Computación II
Unidad 1. Estructuras de datos y análisis de algoritmos

3. Guarda tus funciones en un documento que se llame actividad1.py

SELMA ALBUQUERQUE WEXEL

ES1410910642

SEPTIEMBRE 2019

4
Educación Abierta y a Distancia * Ciencias Exactas, Ingenierías y Tecnologías

Potrebbero piacerti anche