Olá, este é um programa simples para a correção automática de trabalhos.
Para este exemplo foi considerado o seguinte cenário:
- tem-se uma pasta com várias outras pastas;
- cada subpasta representa a entrega de um aluno;
- dentro de cada pasta, se têm apenas um arquivo com a extensão .c;
A seguinte de estrutura representa as entregas:
sample
├── ALUNO1
│ └── ex1.c
├── ALUNO2
│ └── ex1.c
├── ALUNO3
│ └── ex1.c
└── ALUNO4
└── ex1.c
Essa pasta deve estar compactada em um .zip;
Este é um script desenvolvido em Python3+ que irá comparar a entrega de cada aluno, com todas as demais.
O script faz uma análise simples de similaridade e retorna a porcentagem de equivalência entre o código analisado do aluno em questão com todos os outros.
Depois disso, o script: executa o código em c, salva o resultado, e o comparara com um gabarito, também passado por parâmetro.
Para usar o script:
$python3 tester.py ./sample.zip result-check.txt
Onde:
- python3 é o comando para executar o python
- teste.py é o nome do script para executar os testes
- ./sample.zip é o nome do pack compactado
- result-check.txt é o nome do arquivo gabarito que deverá ser compatilhado