Ir para o conteúdo principal
Paca
  • Página inicial
  • Mais
Você acessou como visitante
Acessar
Página inicial
  1. Semestres anteriores
  2. MAC0122 2017
  3. EP12
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:

  1. [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ão NxN, inicialmente com zeros. Observe que cada elemento M[lin][col] dessa matriz corresponde a um par de arquivos.
  2. [20%] Pares iguais
    • Para a matriz triangular formadas pelos elemento M[lin][col] tal que lin < col, preencha M[lin][col] com 1.0 (um) caso o conteúdo do par de arquivos (lin, col) seja exatamente o mesmo.
  3. [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).
  4. [10%] Saída
    • O programa deve imprimir todos os pares (nomes dos arquivos) com valor diferente de 0. 
  5. [10%] Documentação
    • Documente o seu programa para que um outro programador consiga entender o que você fez.

Passo-a-passo:

  1. Faça o download do arquivo meu_nusp_EP12.py.
  2. Mude o nome do meu_nusp_EP12.py para xxxx_EP12.py, onde xxxx é o seu número USP. Ou seja, o nome do arquivo que você deve entregar é algo como 1234567_EP12.py.
  3. 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. 
    1. Veja as notas do Prof. Paulo sobre documentação de programas
    2. Veja as notas do Guido van Rossum sobre comentários em Python
    3. Veja o blog sobre Code Comments Erik Dietrich.
    4. De forma mínima, esperamos que o seu código tenha ao menos docstrings explicando cada função.
  4. Teste o seu programa para entradas simples.
  5. Depois de funcionar para entradas simples, teste o seu programa com entradas mais reais.
  6. Entregue o seu programa.
  • meu_nusp_EP12.py meu_nusp_EP12.py
    26 outubro 2017, 20:43 PM
Você acessou como visitante (Acessar)
Resumo de retenção de dados
Baixar o aplicativo móvel.
Fornecido por Moodle