Ejercicios Clase 3
Ejercicios Clase 3
Ejercicios Clase 3
Parte A
Trabajo Grupal
Ejercicio 1
Ejercicio 2
Ejercicio 3
Ejercicio 4
Las funciones seno y coseno, pueden ser representadas por sumas infinitas:
1) Escriba la función factorial_reciproco(n), que retorne el valor de 1/n!
2) Escriba la función signo(n) que retorne 1 cuando n es par, y -1 cuando n es impar.
3) Escriba las funciones seno_aprox(x, m) y coseno_aprox(x, m) que aproximen el seno y el coseno
de x, usando los primeros m términos de las sumatorias.
Parte B
Trabajo Grupal
Ejercicio 1
Una cadena de ADN es una secuencia de bases nitrogenadas llamadas: (1) adenina, (2) citosina, (3)
timina y (4) guanina. En un programa una cadena se representa como un string de caracteres ‘a’,
‘c’, ‘t’ y ‘g’. Escriba la función cadena_al_azar(n) que retorne una cadena aleatoria de ADN de largo
n.
>>> cadena_al_azar(10)
‘acgtccgcct’
>>> cadena_al_azar(10)
‘tgttcgcatt’
Hint:
>>> from random import choice
>>> choice(‘atcg’)
‘t’
>>> choice(‘atcg’)
‘g’
Ejercicio 2
A cada cadena le corresponde una cadena complementaria, que se obtiene intercambiando las
adeninas con las timinas, y las citosinas con las guaninas.
cadena = ‘cagcccatgaggcagggtg’
complemento = ‘gtcgggtactccgtcccac’
Ejercicio 3
Cree una función codigo_palabra(codigo) que reciba un código cifrado de sólo letras y entregue el
mensaje descifrado. La regla de descifrado es la siguiente: la palabra descifrada se obtiene
recorriendo desde el final de la palabra hasta el comienzo, considerando las letras solo en
ubicaciones impares. Empezando desde la última letra.
>>> codigo_palabra(‘aczaarltp’)
‘plaza’
>>> codigo_palabra(‘axruatgrrreov’)
‘vergara’
Ejercicio 4
Cree una función codigo_hora(codigo) que reciba un código cifrado de sólo números y el caracter
‘:’ y entregue el código descrifrado. La regla de descifrado es la siguiente: sumar cada dígito
anterior al caracter ‘:’ y calcular el resto de la división entera entre esa suma y 24. Luego, lo mismo
con los dígitos después del carácter ‘:’, pero ahora el resto de la división es entre esa suma y 60.
>>> codigo_hora(‘776199:68556’)
‘15:30’
Trabajo Post-Clase
Ejercicio 1
Escriba un programa que lea una cantidad de palabras y calcule el largo de cada una, sin
considerar las letras repetidas, determinando la más larga y más corta. Por ejemplo, la palabra
“casa” es más corta que la palabra “reno”, ya que tiene 3 letras distintas (c, a y s). Mientras que
“reno” tiene 5.
Ingrese n: 3
Palabra 1: sabanas
Palabra 2: canales
Palabra 3: cojines
Ejercicio 2A
Escriba la función valida(cadena) que reciba un string con una cadena de ADN y retorne True si la
cadena es válida o False si no lo es. Una cadena no es válida cuando aparecen bases nitrogenadas
distintas a las indicadas previamente (Adenina, Citosina, Guanina y Timina)
Ejercicio 2B
Escriba la función cantidad(cadena, base) que reciba un string con una cadena de ADN y una base
nitrogenada. La función debe retornar la cantidad de apariciones de la base en la cadena.
Ejercicio 2C