Jump to content

Exercicio do Técnico


Gurzi
 Share

Recommended Posts

Vejam lá este exercicio do Técnico de Lisboa e diga-me a dificuldade, eu fiquei apanhar do ar, acho aquilo mt mt advanced , grr 😄   👍

Link to comment
Share on other sites

[AM]Higor

Por alto, achei de nível intermediário...

Mas, pode ter alguns probleminhas na hora de fazer...

Com o conteúdo de programação II da faculdade, é capaz de fazer...

Higor...

Marianna *TE AMO*Não! Não irei arrumar o seu computador...

Link to comment
Share on other sites

untouchables

vendo assim, o programa tem de comparar as palavras do conteúdo do email com a lista de spam, não é?

não parece que seja assim muito complicado de implementar...

Link to comment
Share on other sites

dark_splinter

A mim acontece-me sempre a mesma treta .... quando leio algum projecto fica sempre a mesma ideia na cabeça "está m**** mesmo facil!!!" mas depois quando vou a fazer a implementação  :wallbash:

😁

Link to comment
Share on other sites

untouchables

se bem percebi, temos de verificar palavra a palavra, compara-las todas com 1 lista de palavras-chave. se as palavras corresponderem, o indice de palavras iguais aumenta 1 unidade, e a palavra chave é retirada da lista, porque se tiver "spam spam spam" só conta uma vez a palavra. de seguida, é aplicar a mesma coisa para o restante texto. o ciclo para quando acabarem as palavras, ou quando já for considerado spam (ou seja, se ja tiver 3 palavras que estao na lista de spam). não penso que seja muito complicado 👍

Link to comment
Share on other sites

MrAnderson

Isso de facil não tem assim tanto como quanto pode parecer.

Para começar a complecidade deve ser O(N), depois  o ideal é usar-mos hash tables, coisa que ainda vamos aprofundar,  e isto é já para terça.

Link to comment
Share on other sites

untouchables

complexidade O(N), e hash tables? o que é isso, podem explicar? :\

bem, comparando o trabalho com o que tenho de fazer, penso que o meu seja mais difícil...

encontram-no AQUI

Link to comment
Share on other sites

MrAnderson

complexidade O(N), e hash tables? o que é isso, podem explicar? :\

bem, comparando o trabalho com o que tenho de fazer, penso que o meu seja mais difícil...

encontram-no AQUI

Complecidade O(N) é o tempo de execução estar relacionado com os dados que tem que processar de forma linear ( ou seja se 1 elemento demora 1 segundo a processar, 2 vai demorar 2segundos, se demorar por exemplo 4segundos já a complecidade deve rondar algo como o(N^2)

hash tables não sei bem o que é, mas codifica um array, lista, e depois devido a isso, que ainda não sei bem como, quando queres achar alguma coisa no array, aquilo não faz procura, simplesmente dá o sitio, o que se traduz num ganho de tempo porque deixa de ser O(n) e passa a ser O(k) ( tempo constante independetemente do tamanho)

Se o teu é mais dificil ou não não sei, essas coisas gráficas sao chines para mim 👍

Link to comment
Share on other sites

untouchables

isso do sítio, não te referes a endereços de memória?

o meu não tem nada de gráfico, é C puro. tens de criar um array (se possível com memória dinâmica), e nele pôr caracteres, conforme seja necessário. por exemplo, um ponto na 2ª linha, 3ª coluna, tinhas de fazeros cálculos para o colocar lá na matriz. é claro que o ponto é um caso simples, linhas, circulos ou elipses já tens de mexer com fórmulas matemáticas, torna-se complicado. para além disso, tens de fazer montes de operações com esses "objectos gráficos".

no fundo,não passam de caracteres 👍

Link to comment
Share on other sites

theproject

boas, já fiz essa cadeira... n é mt dificil... se um gajo for apanhando as cenas dd k comeca é na boa...

complexidade O(N), e hash tables? o que é isso, podem explicar? :\

AQUI

eu fiz um mini tutorial a explicar pa quem nao sabe o que sao as compexidades assimptoticas nesta thread

aqui

complexidade O(N), e hash tables? o que é isso, podem explicar? :\

bem, comparando o trabalho com o que tenho de fazer, penso que o meu seja mais difícil...

encontram-no AQUI

Complecidade O(N) é o tempo de execução estar relacionado com os dados que tem que processar de forma linear ( ou seja se 1 elemento demora 1 segundo a processar, 2 vai demorar 2segundos, se demorar por exemplo 4segundos já a complecidade deve rondar algo como o(N^2)

hash tables não sei bem o que é, mas codifica um array, lista, e depois devido a isso, que ainda não sei bem como, quando queres achar alguma coisa no array, aquilo não faz procura, simplesmente dá o sitio, o que se traduz num ganho de tempo porque deixa de ser O(n) e passa a ser O(k) ( tempo constante independetemente do tamanho)

Se o teu é mais dificil ou não não sei, essas coisas gráficas sao chines para mim :)

A ideia de uma hashtable e mt simples.. é teres uma lista mas partida em N bocados, assim ficas com N listas mais pequenas, e ao contrario do que disseste nao consegues procurar em tempo constante numa hashtable, o que consegues é passar a pesquisa de O(M) para O(M/N) onde M é o numero de elementos na hashtable e N é o numero médio de elemento em cada lista da hashtable... ou seja se tiveres tipo 200 objectos numa lista e queres procurar um deles, obviamente tens de percorrer (no pior caso) os 200 bakanos... se tiveres uma hashtable de dimensao 10, já so tens de procurar em 200/10 = 20 elementos . A "magia" é que tu ao inserires fazes uma conta com o objecto e essa conta dáte um valor entre 0 e 9 que sao os valores do array (neste caso) e tu inseres na lista que esta na posicao tal do array... ou seja.. kuando procurares por um dado objecto, fazes essa conta date X e sabes que se ele existir só pode estar na lista da posicao X.... isto tudo para uma hashtable dita "normal" e com uma funcao de hash normal, pk podes inventar umas mais estranhas e deixas de ter estes beneficios... De kk maneira, nao sendo a maneira mais eficiente de tratar o problema , ela funciona pq (para este caso) consegues fazer a mesma procura em 1 décimo do tempo... é obvio que quanto maior for o teu array mais rapido em média consegues fazer a procura, mas isso dps custa na quantidade de memoria que usas... Mas vais dar isso em AED ... tou so a dar uma explicacao de aluno para aluno pq pode ser mais facil de perceber..

fikem []

Link to comment
Share on other sites

MrAnderson

Heys

Obrigado pelos esclarecimentos, já os tinha lido antes de dar as hash, mas acabei por não responder  ? entretando já dei as hash tables, realmente, não é tão dificil quanto pode fazer parecer à 1º vista (isto para funcionar, uma muito bem implementada  já é outra conversa ).

Bem, teoricamente até podem ser constante, se a função de hash escolhida seja de tal maneira boa que não há colisões  :P

Já agora, está aqui o enunciado do 3º projecto, no fundo é um aprofundamento do 2º projecto, com umas formulas  matemáticas pelo meio:

Link to comment
Share on other sites

Bem-vindo ao fórum ptrci.

Se ainda não o fizeste podes deixar a tua apresentação aqui. 👍

todos os anexos do fórum dão este erro: 404 - Anexo não encontrado

Devem ter sido apagados dado que a última resposta a este tópico foi de Maio deste ano... ;)

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Link to comment
Share on other sites

Pá entrei no técnico em 2005,

e tive de fazer essa cadeira com esse mesmo projecto, posso dizer que todos os projectos do técnico parecem fáceis à 1ª vista e só depois é k damos conta k estamos metidos em trampa até ao pescoço, fdx. :wallbash:

PS: Fui o unico a ter 20 nesse projecto, no meu POLO(Tagus)  ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.