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