Está en la página 1de 1

Apellido y Nombres:

Universidad Nacional del Litoral


Carrera: DNI:
Facultad de Ingenierı́a Quı́mica
[Llenar con letra mayúscula de imprenta GRANDE] Computación / Programación

Parcial 1. Tema 1 [Jueves 3 de Octubre de 2019]


La evaluación dura 3 horas. No use celulares, libros, ni apuntes.
Entregue en hojas separadas por ejercicio, numeradas, cada una con el Apellido y Tema en el Margen Superior
Derecho, además de este enunciado completado.
Funciones intrı́nsecas excluı́das: math.radians, math.degrees, y las indicadas aquı́, en el libro, o durante el parcial.
Codifique en lenguaje Python 3.x e incluya alguna documentación adecuada.

1) a) Codifique una función datosleidos del disco(nombre) que recibe la variable nombre (de tipo string) con el
nombre del archivo de texto a leer del disco, el cual contiene una tabla con 5 columnas separadas con ; donde:
la columna 0 es un entero j, la columna 1 es un decimal T0 , la columna 2 es un decimal Ty , la columna 3 es un
cadena tmuestra, y la columna 4 es un decimal x. La función debe retornar la tupla (L,n), donde L es una lista
de sublistas [T0,Ty,tmuestra] de los valores leı́dos en el archivo, descartando los enteros j y los decimales x,
mientras que n es la longitud de L. Emplear un único lazo for para recorrer el archivo, y no utilizar (en este
inciso) la intrı́nseca len(). Por ejemplo, si el archivo de nombre datos-de-coccion.txt contiene
23; 05.0; 67.0; S; 23.4;
37; 23.0; 57.0; L; 56.7;
43; 14.0; 64.0; M; 89.0;
13; 28.0; 72.0; M; 12.3;
19; 26.0; 68.0; M; 45.6;

entonces la función debe retornar


>>> d a t o s l e i d o s d e l d i s c o ( ” d a t o s −de−c o c c i o n . t x t ” )
( [ [ 5 . 0 , 6 7 . 0 , ’ S ’ ] , [ 2 3 . 0 , 5 7 . 0 , ’ L ’ ] , [ 1 4 . 0 , 6 4 . 0 , ’M’ ] , [ 2 8 . 0 , 7 2 . 0 , ’M’ ] , [ 2 6 . 0 , 6 8 . 0 , ’M’ ] ] , 5 )

b) Codifique la función tiempo de coccion(T) que recibe la sublista T compuesta por [T0,Ty,tmuestra] donde T0
y Ty son las temperaturas inicial y final, respectivamente, de una muestra de masa M , mientras que tmuestra es
de tipo caracter, que retorna el tiempo de cocción θ a partir de la fórmula:

M 2/3 cp ρ1/3
  
−1 T0 − Tw
θ− ln 7.6 × 10 =0;
Kπ 2 (4π/3)2/3 Ty − Tw

donde M vale 43, 54, o 65, según que tmuestra valga “L”, “M”, o “S”, respectivamente, mientras que ρ = 1.038,
cp = 3.7, Tw = 100, y K = 5.4 × 10−3 son parámetros (constantes) definidos dentro de la función.
c) Codifique la función procesa la(L,n) que recibe la lista L de sublistas [T0,Ty,tmuestra] decripta en el inciso
(1a), y el entero n con la longitud de L y, sin emplear lista por comprensión y filtro, retorna la lista S de sublistas
[T0,Ty,tmuestra,tita] que cumplan con 63 < Ty < 70, donde las componentes T0,Ty,tmuestra provienen de
L, mientras que tita está dada por la función del inciso (1b) redondeado a 2 decimales. Por ejemplo,
>>> p r o c e s a l a ( [ [ 5 , 6 7 , ”S” ] , [ 2 3 , 5 7 , ”L” ] , [ 1 4 , 6 4 , ”M” ] , [ 2 8 , 7 2 , ”M” ] , [ 2 6 , 6 8 , ”M” ] ] , 5 )
[ [ 5 , 6 7 , ’ S ’ , 3 4 9 . 3 7 ] , [ 1 4 , 6 4 , ’M’ , 2 3 8 . 9 4 ] , [ 2 6 , 6 8 , ’M’ , 2 2 5 . 9 2 ] ]

2) a) Un anagrama es una palabra o frase obtenida de otra mediante una transposición de letras, e.g. drone es un
anagrama de orden. Codifique la función es anagrama(C1,C2) que recibe las cadenas de caracteres C1 y C2,
devuelve True si C2 es un anagrama de C1, ignorando eventuales espacios, y False en caso contrario.
b) Codifique la función es anagrama lc(L) que recibe una lista L de tuplas (C1,C2) donde C1 y C2 son cadenas
de caracteres. Utilizando lista por comprensión y filtro y la función del inciso (2a), debe retornar la lista A de
booleanos que indica para cada tupla de L si corresponde a un anagrama o no. Por ejemplo,
>>> e s a n a g r a m a l c ( [ ( ” b e l i s a ” , ” i s a b e l ” ) , ( ” r e i n a ” , ” r u i n a ” ) , ( ” s i l i c o n g ra phi cs ” , ”a long chip c ri s is ”) ])
[ True , F a l s e , True ]

c) Codifique una función anagrama adisco p(L,A,nombre) que recibe las listas L y A, descriptas en el inciso (2b),
y la variable nombre (de tipo string) con el nombre del archivo de texto a escribir en disco. El mismo deberá
contener una tabla de valores a 4 columnas, en donde la columna 0 es un entero que comienza en 2n, donde
n=len(L), y que se va decrementando de a 2 en cada renglón, en las columnas 1 y 2 están las componentes de
las tuplas de caracteres de L, mientras que en la columna 3 está la correspondiente componente booleana de A.
Utilice un formato con 4 dı́gitos en la columna 1, con 24 caracteres en cada una de las columnas 2 y 3, y con 5
caracteres en el booleano de la columna 4, además de un único lazo for para recorrer simultáneamente las listas
L y A. Por ejemplo, con los datos del inciso (2b) se obtiene:
6 belisa isabel True
4 reina ruina False
2 silicon graphics a long c h i p crisis True

Parcial 1. Tema 1 [Jueves 3 de Octubre de 2019]

También podría gustarte