# iVProgH - LInE (free educational software and contents)

# Exemplos

Entenda o funcionamento do avaliador automático

O iVProg permite a disponibilização de exercícios com avaliação automática diretamente em páginas Web. Se o professor dispuser de uma instalação do gerenciador Moodle com o pacote iTarefa, então a atividade realizada pelo aluno será registrada, assim como a nota atribuida à solução do aluno.

A avaliação automática no iVProg é feita a partir de um modelo (gabarito), que deve ter sido preparado pelo professor, prevendo entradas de dados e suas respectivas saídas. Quando o aluno "clicar" no botão para avaliar sua solução, o iVProg usa a primeira lista como entradas para o problema do aluno, comparando cada saída gerada com aquelas da lista de saídas.

Para compreender melhor o processo, vamos usar um exemplo de algoritmo que deve somar separadamente todos os números positivos e negativos digitados pelo usuário.

Problema:

Fazer um algoritmo que solicite que o usuário digite valores inteiros, finalizando sua execução quando for digitado o valor zero. Ao final, seu programa deve imprimir a soma de todos os inteiros positivos que foram digitados e a seguir, imprimir a soma de todos os inteiros negativos.

Como posso preparar um gabarito para exercício com avaliação automática no iVProg

O professor pode preparar um número qualquer de listas de entradas e de saídas, para o problema acima, usaremos apenas 3 listas, ilustradas na tabela abaixo. A primeira coluna tem o numero do par "entradas/saidas", a segunda apresenta a lista de entradas (separadas por espaço em branco), no terceira coluna estão as saídas esperadas (para aquelas entradas) e na última coluna uma explicação curta sobre o par.

# | Entradas | Saídas | Comentários
--- | --- | --- | ---
1 | 0 | 0 0 | Esse é um teste capcioso, pois se a primeira entrada for zero, nada será somado (daí deve-se imprimir 0 e 0)
2 | 1 -1 1 0 | 2 -1 | Apresenta 2 valores positivos e 1 negativo, com somas respectivamente 2 e -1
3 | -1 -1 3 1 0 | 4 -2 | Apresenta 2 valores positivos e 2 negativo, com somas respectivamente 4 e -2

O iVProg dispõe de uma interface especial para que o professor digite cada lista de entrada e sua respectiva lista de saídas.

Como o iVProg avalia automaticamente uma solução do aluno?

Supondo que o aluno tenha construído um algoritmo, quando ele "clicar" no botão para avaliar sua solução, o iVProg:

1. Pega a primeira entrada da primeira lista e submete ao primeiro de leitura presente no código do aluno (se não existir, erro), depois a segunda entrada e assim por diante até a última.
2. A primeira saída (comando de impressão) gerada pelo código do aluno é comparada com a primeira saída esperada, se coincidir é registrado um acerto, senão um erro.
3. Repete-se os passos 1 e 2 para cada uma das demais listas de entradas/saídas e ao final é gerada uma média de acertos e erros.

   Por exemplo, se o algoritmo do aluno errar em 2 das 6 saídas, sua nota será 1/3.

Experimente os exercícios listados abaixo, de exemplo 1 até exemplo 8. O exemplo 9 ilustra como construir um gabarito para um exercício com avaliação automática no iVProgH
Exemplo 1: Entrada e Saída

Exemplo de exercício com avaliação automática no iVProg.

Faça um programa que solicite do usuário um valor inteiro, depois imprima o valor por ele digitado.

Exemplo 2: Imprimir o quadrado de um número (inteiro)

Exemplo de exercício com avaliação automática no iVProg.

Construa um algoritmo que solicite que o usuário digite um número (inteiro) e imprime o quadrado desse valor.

Exemplo 3: Soma de dois valores

Exemplo de exercício com avaliação automática no iVProg.

Construa um algoritmo que recebe dois números inteiros e imprime a soma desses valores.

Exemplo 4: Média aritmética

Exemplo de exercício com avaliação automática no iVProg.

Construa um algoritmo que recebe dois números inteiros da entrada, calcula a média aritmética desses números e a imprima.

Exemplo 5: Maior valor

Exemplo de exercício com avaliação automática no iVProg.

Construa um algoritmo que recebe dois números inteiros da entrada e imprime o maior dentre os dois números.

Exemplo 6: Sequência

Exemplo de exercício com avaliação automática no iVProg.

Construa um algoritmo que imprima a sequência de números inteiros de 1 a 10.

Exemplo 7: Imprimir texto

Exemplo de exercício com avaliação automática no iVProg.

Construa um algoritmo que imprima a palavra iVProgH 10 vezes.

Exemplo 8: Somar n valores

Exemplo de exercício com avaliação automática no iVProg.

Fazer um algoritmo que lê uma sequência de números inteiros, somando-os até que um valor 0 seja digitado, nesse momento deve imprimir o valor da soma e parar.

Gabarito: Construindo uma atividade

Nesse exemplo, construa uma atividade, inserindo os casos de teste que serão utilizados para avaliar o algoritmo e configure os recursos que serão disponibilizados para o aluno no iVProgH.