Traducción de textos

September 19th, 2009

En el departamento de una empresa de traducciones se desea hacer traducciones de textos entre varios idiomas. Se dispone de algunos diccionarios. Cada diccionario permite la traducción (bidireccional) entre dos idiomas. En el caso máas general, no se dispone de diccionarios
para cada par de idiomas por lo que es preciso realizar varias traducciones. Dados N idiomas y M diccionarios, determina si es posible realizar la
traducción entre dos idiomas dados y, en caso de ser posible, determina la cadena de traducciones de longitud mínima.

Ejemplo:

Si se cuenta con diccionarios para:

  • Español – Ingles
  • Ingles – Frances
  • Frances – Portuguez

Y se pide realizar la traducción Español-Frances, la cadena mínima sería:

Español-Ingles + Ingles-Frances

Desafío Binario en Twitter

July 13th, 2009

Desafío Binario también está en Twitter! Ya podés seguir los desafíos via twitter siguiendo al usuario @desafiobinario

Te esperamos!

Ahorrando energía

July 13th, 2009

Llegó el día de un nuevo desafío de programación!

Hoy vamos a poner algo un poco mas rebuscado, pero no por ello imposible o mas complicado que los desafíos anteriores! El tema de hoy es así:

Resulta que hay una persona que todos los días se va al trabajo, y cuando está en el, recuerda que dejó su computadora encendida en la casa. Esta persona está pagando mucho dinero cuando llega la cuenta de la luz, y lamentablemente la situación no da para mas. Como buen usuario de Twitter que es, decide hacer un programa que corre en su pc, y que lee sus updates en Twitter, cuando le llega un update que contiene solamente la palabra: Apagar, el pc se apaga sin chistar, es decir, esta persona desde la oficina Tweetea: “Apagar” y en su casa, al otro lado de la ciudad, su pc se apaga realmente.

Para realizar este desafío, está permitido cualquier lenguaje, y el uso de la API de twitter, el programa entregado puede ser probado con cualquier cuenta de twitter, por lo que deberá proporcionar un login al comienzo.

Mucha suerte, y hasta la semana que viene.

Buscando los pcs encendidos

July 5th, 2009

Bueno, como nadie pudo resolver el desafío anterior, esta vez vamos a dejar uno un poco mas sencillo para hacer.

En esta ocasión, tenemos que crear un programa que será utilizado en un red de computadoras, puede ser perfectamente un Cyber Café o empresa donde haya mas de un Pc.

Básicamente, lo que se pide, es determinar, dado un rango de direcciónes ip, un listado de los pcs que están encendidos en ese momento, con la mayor información posible de cada uno de ellos.

El programa a entregar debe ser un ejecutable con su código fuente, el cuál será compartido con los demás usuarios.

¿Te animás?

Contador de palabras

May 11th, 2009

El desafío del día de hoy trata de la realización de un programa que cuente la cantidad de repeticiónes de palabras de un texto dado, devolviendo por orden descendente el listado de palabras con sus repeticiones. En este desafío se trata de tomar en cuenta la efectividad del código, es decir la performance del programa en ejecución así como la efectividad.

El formato de salida debe ser:

Palabra 1 X repeticiones
Palabra 2 X repeticiones
etc…

Como dijimos, el programa leerá un archivo de texto que puede tener un largo indeterminado.

Soluciones enviadas:

Gonzaling: Solución Contador de Palabras

Recorriendo nuestro teclado

May 3rd, 2009

Despues de un tiempo de inactividad, estamos de vuelta con un nuevo desafío en nuestro sitio.

Hoy estamos con ganas de ofrecer algo mas sencillo, donde la idea es la siguiente:

Se considera un teclado de pc con formato qwerty donde como sabrán, contamos con 3 filas de teclas, siendo la fila del centro, la fila donde ponemos inicialmente nuestros dedos a la hora de comenzar a tipear (Mas precisamente, sobre las teclas F y J). Lo que se quiere hacer es investigar dado un diccionario (Puede ser el diccionario español o cualquier otro), que palabras son las que generan mayor recorrido de dedos para escribirlas, contandose como una unidad de recorrido, cada vez que se cambia de fila, siendo la fila central la inicial.

A modo de ejemplo:

La palabra gafa tiene recorrido 0, dado que no es necesario cambiar de fila en el teclado a la hora de tipear, mientras que la palabra desafío tie un recorrido de 3 (E + SAF + IO) como ven, la D no se considera como recorrido dado que para escribirla no nos movemos de fila, sin embargo, si la primer letra de la palabra esta en una fila diferente, SÍ cuenta como parte del recorrido, como ejemplo, la palabra mono, tiene un recorrido de 4 (M + O + N + O).

Teniendo en cuenta nuestra definición de recorrido, se pide a usted que dado un diccionario conformado por una palabra a la vez, devuelva como resultado:

La/s Palabras de menor recorrido.

La/s Palabras de mayor recorrido.

Recorrido promedio.

NOTA: El archivo se dará como texto plano separando una palabra por línea.

Soluciónes de Usuarios:

Solución Gonzalo Villar

Muchas gracias a todos los que participaron, en breve tendremos un nuevo desafío.

Automatizando procesos

March 29th, 2009

Una empresa necesita automatizar tareas para facilitar las mismas a sus empleados. Observando la forma de trabajo de los mismos, se da cuenta que generalmente, el 80% de lo que hacen es extremadamente repetitivo, como el camino a recorrer para dar de alta un nuevo cliente, o el ingreso de reportes generados por cualquier motivo.

La empresa le pide a usted, que implemente un pequeño programa, sin importar el lenguaje, que grabe las acciones que se realizan en pantalla, y luego las repita tal como las ejecutó usted, de la siguiente manera:

  • Al iniciar el programa, el mismo espera un evento para iniciar la grabación, el cual será que el usuario presione Control + G.
  • Para terminar la grabación, el usuario debe presionar Control + G nuevamente.
  • Para reproducir lo grabado, el usuario deberá presionar Control + P.
  • Luego de grabar una secuencia, el programa quedará a la espera de una nueva grabación, o de una reproduccción de la secuencia.
  • El comando Control + P reproduce solo la última secuencia grabada.

Basicamente, se debe poder grabar los clicks y teclas presionadas para ser reproducidas mas tarde, cuando el usuario lo desee.

Fecha límite de entrega: Domingo 5  de Abril

Creando un catálogo de películas

March 14th, 2009

Luego de 15 días sin desafíos llegó la hora de un nuevo reto para nuestros queridos usuarios, donde lo que te proponemos hacer es lo siguiente:

Una empresa de videoclubes necesita gestionar catálogos con cientos de películas, donde en una base de datos guardará toda la información que requieren sus clientes, como la carátula, los actores, el director, etc.

Esta empresa se da cuenta que esa información ya existe en internet, quizá mas completa de lo que ellos podrían llegar a hacer, y es así que llegana al sitio IMDB.com (Internet Movie Data Base).

Lo que la empresa le pide a un grupo de programadores (Ustedes) es que pudiendo simplemente escribir el nombre de una película, se complete automáticamente toda la información, siendo necesario mas que nada:

  • Nombre
  • Año
  • Director
  • Actores
  • Genero
  • Carátula
  • Trailer
  • Descripción

Por lo tanto, basicamente, esta es la información que se debe mostrar en pantalla al dar el nombre de una película, información que debe ser extraída desde IMDB.com.

Recuerden que no importa el lenguaje utilizado ni el formato, puede tener GUI como ser un script que corra en consola, se valorará solamente el algorítmo utilizado.

Ganador de nuevo desafio

February 23rd, 2009

Tenemos el agrado de comunicarles que el ganador de este nuevo desafio es el usuario Daniel Oliva, quien nos envio la solucion de manera correcta.

Felicitaciones Daniel, nos pondremos en contacto contigo.

Encuentra mi duplicado

February 23rd, 2009

Semangelof – Encuentra mi duplicadoSe desea elaborar un script que dada una imagen y un directorio de imagenes, encuentre la copia exacta de la imagen dada en primera instancia, esto es, encontrar el duplicado de la primer imagen en el directorio.

Se dan las siguientes condiciones:

  • El directorio donde buscar contiene solo una copia de la imagen dada.
  • El nombre de la imagen puede ser diferente.
  • La cantidad de imagenes del directorio es mayor de 50 y menor que 100.

Premio:

Una licencia de ESET Smart Security por un año.