
Como xa vimos na nova https://blog.atio.es/node/395, os exercicios seriados resultan moi útiles para o alumnado. Ao repetir o mesmo algoritmo varias veces, o alumno afianza a resolución dun modelo de exercicio. Vexamos nesta ocasión como se edita un boletín de exercicios en RStudio.
Paso 1. Instalamos RStudio. Quedou explicado nestas dúas novas:
a. Instalación en Arch Linux: https://blog.atio.es/node/434
b. Instalación en Debian: https://blog.atio.es/node/417
Paso 2. Descargamos un documento mestre editado con RStudio e descomprimímolo. Neste caso xa o deixo exemplificado cuns exercicios de corrente continua, que irei mellorando progresivamente.
https://atio.es/pub/boletin_rstudio.zip
Paso 3. Abrimos: File > Open Project e procuramos o ficheiro boletin_mestre.Rproj
Paso 4. Abrimos Principal e xa prememos en Knit > knit to PDF. Se non xerase ningún documento pdf, debemos de ir instalando os paquetes nos que teñamos un erro.
E xa descifrando un pouco código, observamos que na páxina principal dispoñemos dun chunk, que non é máis que un FOR que chama de maneira reiterativa ao ficheiro link_exercicios.Rmd. Non acadei facelo máis sinxelo.
```{r results='asis', echo=FALSE} res <- vector("list", length = 10) for (i in 1:10) { res[[i]] <- knitr::knit_child("link_exercicios.Rmd", quiet = TRUE, envir = environment()) } cat(unlist(res), sep = '') ```
Neste exemplo, crea 10 boletíns. Pero chega un momento que aínda que subamos a cifra de pdfs non crea máis, e débese a limitacións de memoria. Terei que investigar un pouco máis no asunto.
O ficheiro link_exercicios.Rmd a súa vez chama a todos os ficheiros que dispoñemos no cartafol exercicios:
```{r child = './exercicios/exercicio1.Rmd'} ``` ```{r child = './exercicios/exercicio2.Rmd'} ``` ```{r child = './exercicios/exercicio3.Rmd'} ``` ```{r child = './exercicios/exercicio4.Rmd'} ``` ```{r child = './exercicios/exercicio5.Rmd'} ``` ```{r child = './exercicios/exercicio6.Rmd'} ```
Se incrementamos o número de exercicios, debemos de facelo tamén neste listado.
E por último, en cada exercicio, observamos dúas partes: na primeira facemos os cálculos con R. Tamén os podemos facer en Python, tal e como expliquei neste post: https://blog.atio.es/node/435 , aínda que non é necesario saír da linguaxe de programación R.
```{r echo=FALSE} v <- sample (c(10,20,30,40,50), size=1) r <- sample (c(2,3,4,5), size=1) i <- round(v/r, 2) ```
Na segunda parte imprimimos no documento o enunciado do problema coas asignación das variables facilitadas polos cálculos da primeira parte:
1. Conéctase unha resistencia de `r r` k$\Omega$ a unha pila de `r v` V. Cal é a intensidade de corrente eléctrica que percorre o circuíto? \newline \newline Solución: I= `r i` mA
Un detalle importante, consiste en rematar o último exercicio do boletín coa instrución \clearpage. A finalidade é a de introducir un salto de páxina e deste xeito, cada boletín comece co exercicio 1.
E o resultado quedaría do seguinte xeito: