Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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;
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