Escreva um algoritmo que descubra as respostas de um aluno a uma prova de múltipla escolha. Nesta prova, cada questão terá cinco alternativas (A, B, C, D e E).
O aluno escolhe a resposta preenchendo retângulos. Ao final da prova, as folhas de respostas serão escaneadas e processadas digitalmente.
A prova foi escaneada usando tons de cinza entre 0 (preto total) e 255 (branco total).
O escaner após detectar os cinco retângulos reservados para as respostas de uma questão retorna cinco valores inteiros correspondentes a
cada uma das respostas. Se o quadrado foi preenchido corretamente o valor da média é zero (preto total). Se o quadrado foi deixado em branco o valor da média é 255 (branco total).
Assim, idealmente, se os valores de cada quadrado de uma questão são (255, 0, 255, 255, 255), sabemos que o aluno marcou a alternativa B para essa questão.
Obviamente, nem todas as questões das folhas de resposta são marcadas de maneira correta. Pode acontecer de um aluno se enganar e marcar mais de uma alternativa na mesma questão, ou não marcar nenhuma alternativa.
Nesses casos, a resposta deve ser desconsiderada e impresso um asterisco.
Escreva um algoritmo que leia para cada questão os valores dos cinco retângulos de uma questão e imprima a letra marcada, ou se a resposta à
questão deve ser desconsiderada e impresso um asterisco.
Importante: o primeiro dado a ser lido de uma prova é a quantidade de questões da prova.
Soluções para a tarefa
Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas.
Para fazer um algoritmo é necessário para seguir determinados pontos como: ordem lógica da execução das tarefas, início e fim, completo, alto nível de detalhes, tarefa é uma instrução.
Um algoritmo que descubra as respostas de um aluno a uma prova de múltipla escolha:
/ declaracao das variaveis
declare GAB: vetor[10] de caracteres; // gabarito da prova
declare RESP: vetor[10] de caracteres; // respostas de cada aluno
declare ALUNO: inteiro; // numero do aluno
declare NOTA: inteiro; // nota do aluno
declare APROV: inteiro; // numero de aprovados
declare PORCENT: real; // porcentagem de aprovacao
declare N: inteiro; // numero de alunos
declare FREQ: vetor[11] de inteiros; // frequencia das notas
declare MAIOR: inteiro; // maior frequencia
declare i: inteiro; // subscritor para os vetores
// inicializa os acumuladores globais
APROV := 0;
N := 0;
// inicializa o vetor de frequencia das notas
para ( i := 1 ate 11 passo 1 )
{
FREQ := 0;
}
// le o gabarito
para ( i := 1 ate 10 passo 1 )
Espero ter ajudado.