MC102 - Algoritmos e Programação de Computadores
MC102 Horários Plano de
desenvolvimento
Plano de
aulas
Prof. Tomasz Kowaltowski.

No SuSy, para cada tarefa, criamos um conjunto de testes com arquivos de entrada arq1.in, arq2.in, arq3.in,..., arqN.in. A cada um deles corresponde um arquivo de saída arq1.res, arq2.res, arq3.res,..., arqN.res. O seu programa passará em um teste i apenas se a saída for exatamente igual a do arquivo de resposta arq<i>.res. Este é o desafio!

Na página de submissão de cada tarefa há um link Arquivos auxiliares contendo todos estes testes e mais dois programas em Python. A ideia é que você utilize estes arquivos no seu computador, enquanto desenvolve o programa e só submeta para o SuSy quando o programa estiver pronto.

Como utilizar os testes no seu computador

Suponha que você está testando o arquivo lab01.py. Dado um dos arquivos arq<i>.in, você pode utilizá-lo como entrada na linha de comando da seguinte forma:

$ python3 lab01.py < arq1.in

Você pode redirecionar a saída para um arquivo arq<i>.out da seguinte maneira:

$ python3 lab01.py < arq1.in > arq1.out

O SuSy está configurado para comparar a saída do seu programa com o arquivo arq<i>.res utilizando o comando diff:

$ diff arq1.out arq1.res

Uma saída vazia indicará que o programa executou corretamente no seu computador. Caso contrário, observe as diferenças apontadas e depure seu programa. Por exemplo, um erro discutido no roteiro da tarefa 00 foi:

1c1
< Oi, mundo!!!!  
---
> Oi, mundo!

Estão disponíveis dois scripts Python para ajudar a fazer todos os testes abertos: o executa-testes.py para ambiente GNU/Linux e o executa-testes-windows.py para ambiente Windows. Estes scripts supõem que o arquivo lab<x>.py, os arquivos de entrada arq<i>.in e os arquivos com resultado arq<i>.res estão todos no mesmo diretório. O uso é

$ python3 executa-testes.py lab01.py

ou

> py executa-testes-windows.py lab01.py

A saída desejada será algo como:

Teste  1 : resultado correto
Teste  2 : resultado correto
Teste  3 : resultado correto
Teste  4 : resultado correto
Teste  5 : resultado correto