el bug de multiplicacion de Excel 2007

Acabo de aterrizar de Ibiza de unas minivacaciones impresionantes (y en las cuales de paso he escrito un par de problemas nuevos para programancia101!) asi que no he podido seguir en directo la serie de articulos que han aparecido en la blogosfera acerca de un bug en Excel 2007. Afortunadamente, mi amigo Chema «el maligno» me ha mandado un correito para asegurarse que nos haciamos eco de esta noticia.

 Para los que no lo hayais visto ya, resulta que se ha encontrado un pequeño bug en Excel 2007 (noticia en español en Microsiervos) con algunas multiplicaciones. Podeis encontrar mas ejemplillos por la web, pero el aviso original se referia a la multiplicacion 850 * 77.1, que en vez de 65535, que es el resultado correcto, se muestra como 100000.

 

Como buenos lectores de programancia101 y revisando algunos de nuestros articulos anteriores (como este y este), seriais capaces de adivinar cual es la hipotesis razonable mas probable que puede causar este tipo de fallo?

Para los que quieran directamente «la solucion», podeis mirar este post del equipo de Excel, que se puso manos a la obra para arreglarlo el dia despues del aviso.
 

arrejuntando listas

Antes de que nadie me comente nada: prometo que «arrejuntarse» es un verbo español perfectamente valido! Pese a que suene un poco «brutito» en realidad se refiere a vivir vida de casados sin estarlo. Tengo de hecho un par de amigos que estaban haciendo eso mismo hasta que hace unos meses se les fue la pinza cambiaron de idea y decidieron casarse, asi que este finde nos tocara boda! (y vistos los ejemplos de algunos miembros de geeks, parece que este año hay ida de olla general tendencia al tema)

Pero en fin, nosotros a lo que es el codigo, que es lo nuestro…

 

 Vamos a proponer hoy un par de variaciones de problemas con listas:

Para empezar, imaginemos que tenemos dos listas previamente ordenadas y que queremos generar una tercera lista que tenga todos los elementos de las dos anteriores, pero tambien ordenados. Asi por ejemplo si una lista es (1,4,7) y la otra (2,5,6) el resultado debe ser la lista (1,2,4,5,6,7)

Podrias escribir una funcion que reciba como entrada las dos listas y que devuelva la lista resultante, segun la descripcion anterior? Se te ocurre una forma de crear una funcion generalizada que haga lo mismo para un numero N de listas?

Y ahora imaginemos que tenemos un sentido del orden un poco extraño, y que lo que queremos es ordenar las listas de modo que en la lista resultado los elementos impares esten ordenados ascendentemente partiendo desde el centro y hacia la izquierda, y los pares desde el centro, hacia la derecha. Es decir, en el ejemplo anterior con (1,4,7) y (2,5,6) nuestro resultado deberia ser (7,5,1,2,4,6)

Podrias escribir una funcion que cree la lista resultante en este caso?

que tal vuestra vuelta al cole?

Buenas a todos!

Esto no es ninguna noticia pero… se acabaron las vacaciones! Agh! Que sufrir! Hay que volver al trabajo, verle la cara al jefe otra vez, reunirnos con unos clientes que necesitan algo «para ya» porque se les ha ido el verano y nadie se acordaba que habia que entregar en septiembre, pasar la semana releyendo el codigo que dejamos «a medias» y que no recordamos muy bien lo que hace porque con las prisas se nos «olvido» documentar y comentar… os suena? (el caso peor de esto ultimo es cuando al volver miras tu codigo y dices: «seguro que esto lo escribi yo?»)

Para haceroslo mas leve, os recomiendo que empeceis leyendo algo gracioso como este clasico sobre comentarios en el sistema UNIX (que incluye uno de mis favoritos: «no hace falta que entiendas esto» };D) Si conoceis algun otro ejemplo, de esos dignos de salir en worsethanfailure.com… compartidlo!

En fin, solo queria avisar que en breve comenzamos el nuevo curso en programancia101, con nuevos problemas de todos los niveles y los ocasionales truquitos divertidos. Este curso ademas contaremos con un par de «articulos invitados» y algunas recomendaciones de libros. Y por supuesto, si teneis alguna otra idea que podamos añadir, hacedmelo saber! }:)

Feliz vuelta al cole!