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

Re: Será que eu sou muito burro, ou isso é difícil mes mo.



Camila writes:
 > Não é só você que não está entendendo como fazer o ep4.
 > Agora pouco foi eu e mais uma galera falar com o Yoshi pra ele explicar
 > como fazer o ep. Pelo que entendi a sequencia de 0's e 1's geradas pelo
 > huff.c deve servir de entrada 

Nao exatamente como entrada...

 >                               para o escreva_bits e este então gera um
 > vetor com o código compactado. 

ou melhor, ele escreve os bits gerados de 8 em 8...

 >                                Aí no arquivo  compactado eu gravo o vetor
 > len e code do huff.c (que contem a tabela dos codigos usados) 

sim, sao necessarios.

 >                                                               e o vetor
 > gerado pelo escreva _bits. Mas tudo ainda está muiito confuso..Nem o Yoshi
 > conseguiu explicar direito pra gente a forma que é gerado o arquivo
 > compactado.. 

Eu so falei que eu faco um certo esforco no escreva_bits para os bits
sairem na ordem mais intuitiva.  Estritamente falando, isto nao 'e
necessario.  Basta o leia_bits ser compativel com o escreva_bits.

 > O engraçado é que fizeram o ep4a dessa forma, e mesmo assim o arquivo
 > compactado gerado ficou maior que o original!

Os exemplos na pagina do enunciado parecem convincentes, mas teria que
ver melhor o que aconteceu em seu caso.

 > Já a descompactação está mais confusa ainda.. O Yoshi testou o
 > escreva_bits com uma sequencia de numeros, e na hora de executar o
 > leia_bits com a sequencia binária gerada,a saída foi diferente da
 > sequencia original...

Isto nao aconteceu.

 > Aqui no Ime tinha umas 10 pessoas da sala tentando fazer o ep e NENHUMA
 > tinha conseguido nem começar...
 > 
 > Realmente, eu acho que MAC122 sendo uma matéria tão importante para o
 > nosso currículo, deveria ter sido dada de uma forma mais organizada 

De fato a correcao dos EPs gerou muito problema.  Ainda voltarei a
este assunto para que voces nao fiquem prejudicados, pelo menos em
termos de notas.  Yoshi

 >                                                                     e
 > já que isso não aconteceu deveria então exigir menos dos alunos, pois
 > média 7 de eps e até mesmo média 5 de prova é demais pra quem não teve
 > uma base sólida...
 > 
 > 
 > Camila Correa Moraes   <cacm@linux.ime.usp.br>
 > 
 > On Thu, 10 Dec 1998, Daniel Cukier wrote:
 > 
 > > 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...