7.1 Exportação dos exercícios
A exportação dos exercícios consiste na utilização da função exams2moodle do pacote exams para criar um arquivo XML que contém todas as questões (e suas versões, se for o caso).
Um exemplo da utilização da função exams2moodle está mostrado abaixo:
file: nome do arquivo que contém o exercício, com extensão .Rmdname: nome do arquivo XML/Moodle que será criado.
Download do arquivo schoice.Rmd
Em seguida, será mostrado o código utilizado para criar o XML de todos os exemplos já vistos anteriormente.
7.1.1 Tipos básicos
ex.bas <- c("schoice.Rmd",
"mchoice.Rmd",
"string.Rmd",
"num.Rmd")
exams::exams2moodle(file = ex.bas,
name="bas")Para exportar vários exercícios de uma única vez, primeiro criamos um vetor com o nome de todos os arquivos. O vetor é criado com a função c e armazenado em um objeto (neste exemplo, ex.bas).
Em seguida utilizamos a função exams2moodle. Uma alternativa a carregar o pacote (library(exams)) é usar :: (duplo dois pontos) para acessar a função do pacote (exams::exams2moodle).
No argumento file indicamos o objeto contendo o nome dos arquivos e name um nome para o arquivo XML criado.
7.1.2 Aleatórias
ex.rdm <- c("schoice-rdm.Rmd",
"mchoice-rdm.Rmd",
"schoice-dgp.Rmd",
"mchoice-dgp.Rmd",
"num-dgp.Rmd",
"string-dgp.Rmd")
exams::exams2moodle(ex.rdm,
n=100,
verbose = TRUE,
name="rdm")Neste exemplo, como desejamos criar diferentes versões do mesmo exercício, utilizamos o argumento n, cujo valor representa quantas versões serão geradas. Neste exemplo, n = 100 indica que serão geradas 100 versões de cada exercício.
Outro argumento muito interessante é verbose = TRUE, que informa o progresso da geração dos exercícos no console do R.
7.1.3 Cloze
ex.cloze <- c("cloze.Rmd",
"cloze-dgp.Rmd")
exams::exams2moodle(ex.cloze,
n=100,
verbose = TRUE,
name="cloze")Código semelhante aos anteriores.
7.1.4 Avançado
library(exams)
ex.avanc <- c("image-ext.Rmd",
"image-int.Rmd",
"file-ext.Rmd",
"file-int.Rmd",
"table.Rmd")
exams::exams2moodle(ex.avanc,
n = 100,
verbose = TRUE,
name = "avanc")Código semelhante aos anteriores.
7.1.5 Avaliação da questão
library(exams)
#alterar a regra da pontuação: rule = "all"
make.mchoice.all <- make_question_moodle(eval = list(rule = "all"))
exams::exams2moodle("mchoice-rdm.Rmd",
n = 100,
mchoice = make.mchoice.all,
name = "avalia_all")
#alterar a regra da pontuação: rule = "false"
make.mchoice.false <- make_question_moodle(eval = list(rule = "false"))
exams::exams2moodle("mchoice-rdm.Rmd",
n = 100,
mchoice = make.mchoice.false,
name = "avalia_false")
#alterar a regra da pontuação: rule = "none"
make.mchoice.none <- make_question_moodle(eval = list(rule = "none"))
exams::exams2moodle("mchoice-rdm.Rmd",
n = 100,
mchoice = make.mchoice.none,
name = "avalia_none")
#alterar a regra da pontuação: rule = "true"
make.mchoice.true <- make_question_moodle(eval = list(rule = "true"))
exams::exams2moodle("mchoice-rdm.Rmd",
n = 100,
mchoice = make.mchoice.true,
name = "avalia_true")
Neste código acima, foi mostrado como alterar a regra para o cálculo da pontuação dos exercícios de múltipla escolha. Para isso, utilizamos a função make_question_moodle com os argumento eval e rule indicando qual das regras queremos seguir. A função make_question_moodle aramazena seu resultado em um objeto qye devemos passar para o argumento mchoice da função exams2moodle