Ejercicios Clase 3

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Especialización en IoT

Módulo 2: Fundamentos de Programación


Ejercicios Clase 3: Funciones y Strings

Parte A
Trabajo Grupal

Ejercicio 1

Escriba una función que determine si un número es par o no.

Ejercicio 2

Escriba un programa que resuelva una ecuación de segundo grado de la forma:

Recuerde que primero debe calcular el discriminante (d=b**2–4*a*c) para determinar si la


ecuación, (1) no tiene solución real (d<0), (2) tiene solución única (d==0) o (3) tiene 2 soluciones
(d>0).

Use alguna función ☺

Ejercicio 3

Cree un módulo llamado “mimodulo.py” y agregue la función invertir_digitos(n) que reciba un


número entero n, y entregue como resultado el número n, con los dígitos en orden inverso.

Luego desarrolle un programa principal que use la función de dicho módulo.

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’

Escriba la función complementaria(c) que entregue la cadena complementaria de c.


>>> cadena = ‘cagcccatgaggcagggtg’
>>> complementaria(cadena)
‘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

La palabra mas larga es: cojines


La palabra mas corta es: sabanas

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)

>>> valida(‘CTGA CTGA AATT GGGC CTGG CCCC’)


True

>>> valida(‘CTGA XCGA CGAT GGTA ACCC CCPC TTAA’)


False

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.

>>> cantidad(‘CTGA CTGA AATT GGGC CTGG CCCC’, ‘A’)


4

Ejercicio 2C

Los científicos encontraron un patrón de clasificación, que se deduce de la cantidad mayoritaria de


cierto grupo de bases. Si la suma de las cantidades de Citosina y Guanina es mayor a la de Adenina
y Timina, es una especie vegetal, en caso contrario es una especie animal. Escriba un programa
que pregunte la cantidad de cadenas de ADN a evaluar, luego solicite las cadenas y finalmente
muestre las cantidades de cada especie y cadenas no válidas. Use las funciones anteriores.

Cantidad de cadenas a ingresar: 3


Ingrese cadena 1: CGTA CAGT TTGG GGTA AATG CATG
Ingrese cadena 2: CACC CTGA GGAA ACAA XTFC ATGG
Ingrese cadena 3: TGTG TTGA ATGA CTAT ATTT
Cantidad animales: 2
Cantidad vegetales: 0
Cantidad no validas: 1

También podría gustarte