Critério de correção para a segunda questão da P2: item (a): 1.0 ponto 1. preenchimento do cabeçalho: 0.5 tipo da função TrocaMaiorMenor (void) : 0.1 ordem dos parâmetros (s1, s2, T) : 0.2 tipo dos parâmentros : 0.2 2. leitura: 0.1 + 0.1 + 0.1 leitura com s[], t[], T[] : -0.1 leitura dos tamanhos das strings : -0.1 fugiu de (f)gets com erro leve e leitura caractere a caractere : -0.1 leitura com fgets, mas nao apagou o '\n' no final : -0.1 3. impressão da string T : 0.2 %c por %s : -0.1 item (b): 1.5 pontos (critério destrutivo) 1. não escreveu int como tipo da função : -0.2 2. não colocou * antes de endint como parâmetro : -0.2 3. erro com *endint no corpo da função : -0.2 4. esqueceu de dar return em algum dos casos : -0.2 5. leu parâmetros : -0.5 6. não tem return mas o valor a ser devolvido está claramente em uma variável : -0.2 7. dois returns um para endint e outro para o valor da função : -0.5 8. desistiu da busca depois do primeiro fracasso : -0.5 9. inicializou índice do padrão incorretamente (e.g. fora do loop principal) : -0.2 10. índice do texto não volta depois de um match parcial : -0.2 11. usou incorretamente indicador de passagem : -0.3 12. condição de fronteira : -0.2 13. (critério construtivo) declarou corretamente o cabeçalho : +0.2 sabe usar apontadores, incluindo definicao correta no cabeçalho : +0.2 sabe encontrar uma ocorrência : 1.5 item (c): 2.0 pontos (critério construtivo) estrutura abaixo : 0.4 while (não acabou) : 0.4 busca + atualização do índice : 0.4 empurra para a direita : 0.4 copia : 0.4 Se o aluno simplesmente copiou o TrocaMaiorMenor ganha 0.0 neste ítem.