Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Formación » Reto: checksum progresivo Responder al tema
Nuevo tema


Página 1 de 1  [ 1 mensaje ] 
 
Nota 2010-01-09 19:42 @862
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Reto: checksum progresivo
Se plantea el siguiente problema.

Disponemos del fichero fichero.dat. Su tamaño nos lo dice el sistema operativo, pero una pista es que es muy grande. Para la resolución de este problema, supondremos que está en el directorio actual. En caso de que el tamaño del fichero sea impar, agregaremos un 0 al final.

Se requiere obtener un fichero llamado fichero_chk.dat, cuyo contenido sean líneas de texto. Cada línea contendrá un checksum (suma de control).

El orden de las líneas será el siguiente:

* la primera línea contendrá el checksum de todo el fichero
* la siguiente línea contendrá el checksum de la primera mitad
* la siguiente línea contendrá el checksum de la segunda mitad
* la siguiente línea contendrá el checksum del primer cuarto
* la siguiente línea contendrá el checksum del segundo cuarto
* etc.

Como se ve, se trata de generar checksum, en bloques de mayor a menor tamaño, hasta que los bloques a analizar sean de un tamaño inferior a 10KB (el fichero siempre será mucho mayor de 10KB).

La suma de control se calculará de la siguiente manera: a = (a + b) % 2^32
Es decir, es una simple suma de los datos, pero recortada para que entre en un valor de 32 bits. Esta forma de calcular el checksum es otra pista para su resolución.

El objetivo es hacer un programa que genere el fichero de salida, de la forma más rápida posible.

_________________
JF^D Perl programming


Responder al tema  [ 1 mensaje ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO