next up previous
Next: Entrada Up: No Title Previous: Exemplo

Problema 3: Compacto

Arquivo: compacto.pas ou compacto.c
Entrada: compacto.in
Saída: compacto.out

Neste tempo da internet, conexões on line, email instantâneo, etc, ainda existem pessoas que precisam trabalhar com cópias em disquetes. A cada noite eles vão para casa e continuam a trabalhar em seus arquivos. Para copiar seus arquivos em disquete pode-se utilizar o seguinte procedimento:

1.
Junte todos os arquivos em um grande arquivo SHAR.
2.
Comprima o arquivo SHAR.
3.
uuencode o arquio, que é um jeito de quebrá-lo em linhas bonitas de 62 caracteres cada (incluindo o fim-de-linha).
4.
Divida o arquivo ``uuencodificado'' em arquivos menores com 30000 cada (que têm por volta de 1.86Mb).
5.
Comprima cada arquivo e o coloca sozinho em um disquete.

O procedimento sempre funciona, já que 1.86Mb de texto uuencodificado, depois da compressão cabe com folga em um disquete 1.44Mb.

Com a compressão o tamanho do arquivo cai pela metade, e ao rodar o ``uuencode'' ele cresce de 50% (cada um arredondado para o inteiro mais próximo). Assim, dado o tamanho de um arquivo SHAR, queremos saber quantos disquetes precisaremos usar.



 

Carlos Eduardo Ferreira
7/6/1998