Correção EP4

Correção EP4

by Gilberto Guerra -
Number of replies: 9

Enfim, o EP mais discutido, onde os alunos tiveram mais dificuldades e erros!

O programa foi testado matematicamente, ou seja, era exijido a manipulação com matrizes, etc...

os dados utilizados foram matrizes, não imagens!

Verifique se o seu programa só funciona para matrizes quadradas. No enunciado tinha um exemplo de matriz não-quadrada (4x5):

P2
5 4
16
9    4    5    0    8
10  3    2    1    7
9    1    6    3   15
1    16   9   12   7

Verifique se o seu programa só funciona para vizinhança quadrada (no enunciado p e q são números naturais ímpares {1,3,5,7,9,11,...}, um representa coluna e outro representa linhas, logo são números distintos, se fosse necessariamente quadrado seria necessário apenas um dos parâmetros e não os dois - p e q)

Verifique se não confundiu linhas com colunas ao ler ou imprimir uma matriz. No arquivo os parâmetros p e q são colunas e linhas respectivamente. Em C utilizamos [a][b], linhas e colunas respectivamente.

Verifique se você consegue ler comentários. Se testarem o xemplo abaixo descrito no enunciado já podem verificar alguns erros:

P2
# imagem: exemplo.pgm
5 4
16
9    4    5    0    8
10  3    2    1    7
9    1    6    3   15
1    16   9   12   7

Como em todos os Ep´s anteriores, os dados de entrada nos exemplos não garantem um programa correto, e nem são capazes de mostrar todos os erros. Acredito que as imagens postadas para exemplos sejam todas quadradas, por isso uma impressão de que o programa funciona bem.

Outros erros serão comentados caso a caso, juntamente com a nota.

In reply to Gilberto Guerra

Re: Correção EP4

by Gilberto Guerra -

Para esse arquivo de entrada, testem as vizinhanças:

1x1 (observem que 1x1 a matriz deve ser a mesma que a original);
3x3; 1x3 e 3x1.

As saídas são simples, não preciso postar aqui, vocês podem fazer na mão mesmo!

In reply to Gilberto Guerra

Re: Correção EP4

by wanderson pereira -
Testar a vizinhança 1x1???? Não tem sentido fazer um programa que devolve a mesma matriz de entrada...
In reply to wanderson pereira

Re: Correção EP4

by Gilberto Guerra -

Matematicamente - e em acordo com o enunciado - p e q são inteiros positivos ímpares. E 1 é um número inteiro positivo ímpar. Do ponto de vista matemático teu programa deveria retornar a matriz original (é bom destacar que muitos programas entregues fazem corretamente isso).

Do ponto de vista da aplicação descrita nesse enunciado, de fato, 1x1 não faz nenhuma correção na figura original. Nesse ponto, talvez haja sim alguma mudança, mas os pontos descontados foram poucos.

In reply to wanderson pereira

Re: Correção EP4

by Gilberto Guerra -

Mas é bom observar que,

embora 1x1 não pareça aplicável, vizinhança do tipo

1x5, 3x1 é viável na aplicação de imagens. E os programas que não leêm 1x1 também não estão lendo 1x3, 5x1, etc...

In reply to Gilberto Guerra

Re: Correção EP4

by Gilberto Guerra -
Verifique com esse arquivo, como o seu programa trata um formato invalido ou outros erros (foi utilizado um arquivo pra cada erro, mas não os postarei aqui, apenas alguns dos testes). Verifique se o seu programa encerra de repente, se o programa - após o erro - chega a pedir a vizinhança e continua como se não houvesse erro, etc...