MC102 - Algoritmos e Programação de Computadores

Primeiro semestre de 2012, Turmas A e B*
Instituto de computação - UNICAMP

Voltar

Conteúdo:


Como testar o programa antes de submeter o arquivo fonte no Susy:


Na página de testes do SuSy, estão disponíveis os testes abertos que o SuSy executa quando um código-fonte é enviado.

Com os testes abertos, é possível fazer os testes na máquina local antes de enviar o programa. Essas instruções são para serem executadas em um terminal em linux.

  • Primeiro, baixe os arquivos de entrada e os arquivos de soluções que deseja testar. São os arquivos que estão no formato arq.in e arq.res na página de testes do SuSy. Coloque esses arquivos na mesma pasta que o seu programa.
  • Execute o seu programa redirecionando a entrada e a saída padrão utilizando os caracteres '<'(menor que) e '>' (maior que). Quando não é feito o redirecionamento, a entrada padrão é o teclado e a saída padrão é o terminal do linux. Quando é feito o redirecionamento da entrada padrão ou saída padrão, a entrada passa a ser o dispositivo ou arquivo especificado. Neste caso, a entrada padrão será redirecionada com o arq.in, ou seja, ao invés de ler os dados do teclado, os dados de entrada será lido dos arquivos. A saída padrão deve ser redirecionada para um outro nome qualquer, por exemplo, arq.out . Veja um exemplo:
    ./lab < arq1.in > arq1.out
  • Tudo que seria lido do teclado, foi lido do arquivo arq1.in e, tudo que seria impresso na tela do terminal, foi impresso no arquivo arq.out.
  • Agora é necessário comparar os resultados do seu programa com o resultado que o SuSy espera. Isso é feito comparando o arquivo de saída do seu programa (arq1.out), com o arquivo de resposta do SuSy, o arq.res. Essa comparação pode ser feita com um programa chamado diff. Execute:
    diff arq1.out arq2.res
  • Se não aparecer nada, então os dois arquivos estão iguais, ou seja, o teste está correto. Se aparecer alguma coisa, irá aparecer as diferenças entre os dois arquivos. Deve aparecer algo no formato:
    2c2
    < 1210
    ---
    > 2210
  • A linha que inicia com o '<'(menor que), é do arquivo arq.out, ou seja a saída do seu programa. E o que inicia com '>'(maior que), é do arquivo arq.res, ou seja, a saída que era esperada. Existem também outras formas de comparação com o diff, uma delas é colocar os dois arquivos lado a lado, utilizando o seguinte comando:
    diff -y arq1.out arq1.res
  • Mais informações sobre o diff, consulte o manual do diff, digite no terminal(digite 'q' para sair do manual):
    man diff
  • Caso queira visualizar os arquivos de entrada/saída/resposta e comparar manualmente, utilize qualquer editor de texto, por exemplo, o kwrite ou kate.

Datas importantes:

  • Prova Teórica (P1): 03/04/2012
  • Prova Teórica (P2): 08/05/2012
  • Prova Teórica (P3): 19/06/2012
  • Exame: 10/07/2012
Última atualização: Prof. Geraldo, 28/02/2012.
Topo