Tarefa
EP12
Condições de conclusão
Aberto: domingo, 29 out. 2017, 00:00
Vencimento: domingo, 12 nov. 2017, 23:55
Decteção de Plágio
Entrada e Saída
Objetivo:
O objetivo do EP12 é iniciar o projeto final, trabalhando um pouco com a entrada e saída do produto e realizar processamentos e testes simples entre os arquivos.
Descrição:
Vamos nos basear em parte nos resultados da 1a oficina de programação.
Nessa parte do projeto, você deve escrever um programa em Python que leia o nome de uma pasta (diretório) onde estão armazenados todos os arquivos a serem comparados. Para simplificar, você deve considerar que todos so arquivos são programas em Python com a extensão .py
. O seu programa deve fazer o seguinte:
- [20%] Inicialização
- Criar uma lista com os nomes dos arquivos Python no diretório fornecido pelo usuário (para isso sugerimos o uso do módulo glob). Digamos que essa lista tenha tamanho
N
. - Criar também uma matriz
M
, de dimensãoNxN
, inicialmente com zeros. Observe que cada elementoM[lin][col]
dessa matriz corresponde a um par de arquivos.
- Criar uma lista com os nomes dos arquivos Python no diretório fornecido pelo usuário (para isso sugerimos o uso do módulo glob). Digamos que essa lista tenha tamanho
- [20%] Pares iguais
- Para a matriz triangular formadas pelos elemento
M[lin][col]
tal quelin < col
, preenchaM[lin][col]
com 1.0 (um) caso o conteúdo do par de arquivos (lin, col) seja exatamente o mesmo.
- Para a matriz triangular formadas pelos elemento
- [40%] Pares iguais após remoção de comentários
- Remover todos os comentários (o que é um comentário mesmo?) dos arquivos sendo comparados e, caso o conteúdo resultante, sem comentários, sejam idênticos, preencher M[lin][col] com 2,0 (dois).
- [10%] Saída
- O programa deve imprimir todos os pares (nomes dos arquivos) com valor diferente de 0.
- [10%] Documentação
- Documente o seu programa para que um outro programador consiga entender o que você fez.
Passo-a-passo:
- Faça o download do arquivo
meu_nusp_EP12.py
. - Mude o nome do
meu_nusp_EP12.py
paraxxxx_EP12.py
, ondexxxx
é o seu número USP. Ou seja, o nome do arquivo que você deve entregar é algo como1234567_EP12.py
. - Escreva as funções e classes auxiliares que desejar nesse arquivo, edite a
main()
e coloque comentários e docstrings para que outro programador consiga entender o que você fez.- Veja as notas do Prof. Paulo sobre documentação de programas
- Veja as notas do Guido van Rossum sobre comentários em Python
- Veja o blog sobre Code Comments Erik Dietrich.
- De forma mínima, esperamos que o seu código tenha ao menos docstrings explicando cada função.
- Teste o seu programa para entradas simples.
- Depois de funcionar para entradas simples, teste o seu programa com entradas mais reais.
- Entregue o seu programa.
26 outubro 2017, 20:43 PM |