[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Será que eu sou muito burro, ou isso é difícil mesmo.



Estou lendo o EP4 a um tempão, já li um monte de vezes, consegui entender o
que é a árvore de huff. Porém, quando vou ler o código huff.c, a partir da
parte dos "for":
for (i=0; i<520;i++) coount[i]=0; ... etc ... até o final, eu não consigo
entender. Nos outros programas que o Yoshi fez, ele usava o CWeb e ia
explicando o que cada parte do programa fazia. Agora, no EP4, não tem nada
que explique nada! Eu olho para a lista de discussão e fico pensando comigo
mesmo: até agora, só vi uma meia dúzia de alunos participar da lista. Será
que todo mundo entendeu o EP4, e eu que estou meio por fora?

Pelo que percebi (não sei se isso está certo, por favor alguém me corrija),
o huff.c do Yoshi faz quase tudo, em relação a compactação. No final de todo
esse monte de complicações, que eu não entendi (como disse no começo do
mail) ele imprime todo o código de zeros e uns com o seguinte código:

for (j=0; j<n_chars; j++)
  for (i=len[texto[j]]; i>0; i--) {
    if (quer_texto_compactado)
      printf("%1d", (code[texto[j]]>>(i-1))&01);
    n_bits++;
  }

se eu conseguir, ao invés de imprimir os zeros e uns, imprimir sequencias de
8 bits como 1 byte, terei o arquivo final?

Porém, pelo que percebi (também não sei se está certo), preciso, antes de
imprimir esses caracteres, imprimir no arquivo compactado qual código de
zeros e uns pertence a cada caractere, para que na hora de descompactar,
conseguir reconstruir o arquivo.

Se isso que penso for verdade, então, não preciso entender o huff.c por
inteiro para fazer o EP4, certo? basta apenas saber como gravar uma
sequencia de zeros e uns, um vetor com 256 posições, que seria a tabela com
os caracteres e seus respectivos códigos.

Daniel Cukier

 PS: muitos como eu estão com uma dúvida um tanto óbvia: o que acontece se
tirar nota baixa no EP4?
Isso é algo muito discutível. Vou tornar público o meu caso, para tomá-lo
como exemplo:
Tirei 9 no EP1, até aí normal
No EP2, onde pensava ter ido SUPER-BEM, pois o programa funcionava
perfeitamente, fazia tudo que o enunciado pedia, tirei 6
O EP3, não sei minha nota, mas tomando por base o mesmo raciocínio do EP2,
vamos supor que eu tire 6

a minha média de EPs será: 9+2*6+2*6+2*EP4 = 33 + 2*EP4

para atingir 49 pontos (média 7) TENHO QUE TIRAR 8 NO EP4!!!

isso porque eu nem sei quanto tirei no EP3 ainda...

em relação as provas, eu fiquei com média 5,5. Sei que não é das melhores,
mas mostra que conhecimento sobre a matéria eu tenho (pelo menos o
suficiente para ser aprovado). E se ficar com média inferior a 7 nos EPs,
mesmo tendo me esforçado para entrega-los todos em dia e tentar atender ao
máximo as exigências dos enunciados?

Vamos discutir isso! Gostaria de saber o que os colegas de MAC122 acham?
Gostaria também de saber a opinião do Yoshi.

DESCULPE: O PS ficou maior que o próprio e-mail. Me empolguei...