La programación es una herramienta fundamental en el desarrollo de soluciones informáticas para resolver problemas matemáticos y de la vida cotidiana. Con el uso del lenguaje R,podemos crear programas capaces de realizar cálculos automáticos, procesar datos y presentar resultados de manera rápida y eficiente utiles para resolver problemas o necesidades.
En este taller se desarrollaran varios ejercicios prácticos que nos permiten el aprendizaje de estructuras básicas de programación, tales como el ingreso de datos por teclado, uso de variables, operadores matemáticos, condicionales y ciclos repetitivos.
Estos ejercicios contribuyen al fortalecimiento de las habilidades de lógica computacional y al manejo básico del entorno de programación RStudio, permitiendo comprender la importancia de la automatización de procesos mediante algoritmos.
La programación consiste en diseñar algoritmos y traducirlos a un lenguaje que pueda ser interpretado por una computadora. Un algoritmo es una secuencia ordenada de pasos que permiten resolver un problema determinado.
El lenguaje R es un lenguaje de programación ampliamente utilizado para cálculos matemáticos, estadísticos y científicos. Posee funciones integradas que facilitan operaciones numéricas, manipulación de datos y desarrollo de programas interactivos.
Desarrollar programas básicos en lenguaje R que permitan resolver problemas matemáticos y lógicos mediante el uso de estructuras fundamentales de programación.
-Aplicar conceptos básicos de programación en R vistos en clase.
-Utilizar variables y operadores matemáticos en la resolución de problemas.
-Usar estructuras condicionales y repetitivas.
-Desarrollar programas interactivos que permitan el ingreso de datos por el usuario.
-Fortalecer la lógica de programación mediante ejercicios prácticos.
Nota: En los ejercicios donde se utiliza
readline() para solicitar datos al usuario, las líneas
fueron comentadas y reemplazadas temporalmente por valores de ejemplo.
Esto se realizó debido a que al generar el archivo en formato PDF
mediante RMarkdown, el entorno de compilación no permite el ingreso
interactivo de datos por teclado, produciendo errores de ejecución.
Sin embargo, los programas sí funcionan correctamente en RStudio al ejecutarse directamente en la consola de R.
Escribir un programa que pida la temperatura y si esta es en Fahrenheit o Celsius y presentar en pantalla su transformación en la otra medida. Para ejecutar en R Studio:
# Solicitar datos al usuario en consola de RStudio
# temperatura <- as.numeric(readline("Ingrese la temperatura: "))
# escala <- readline("Ingrese la escala (C/F): ")
# Valores de ejemplo para ejecutar en PDF
temperatura <- 30
escala <- "C"
# Conversión de temperatura
if (escala == "C" || escala == "c") {
fahrenheit <- (temperatura * 9/5) + 32
cat("La temperatura en Fahrenheit es:", fahrenheit)
} else if (escala == "F" || escala == "f") {
celsius <- (temperatura - 32) * 5/9
cat("La temperatura en Celsius es:", celsius)
} else {
cat("Escala no válida")
}
## La temperatura en Fahrenheit es: 86
Nota: Las líneas readline() fueron comentadas debido a que RMarkdown no permite el ingreso interactivo de datos al generar archivos PDF.
Escribir un programa que pregunte al usuario por el número de horas trabajadas y el coste por hora. Después debe mostrar por pantalla la paga que le corresponde, además debe preguntar si existen horas extras que tienen un valor diferente y con estos valores se calcule la paga correspondiente
# Solicitar datos al usuario
# horas <- as.numeric(readline("Ingrese las horas trabajadas: "))
# costo <- as.numeric(readline("Ingrese el costo por hora: "))
# horas_extras <- as.numeric(readline("Ingrese las horas extras: "))
# valor_extra <- as.numeric(readline("Ingrese el valor por hora extra: "))
# Valores de ejemplo
horas <- 40
costo <- 5
horas_extras <- 4
valor_extra <- 8
pago_normal <- horas * costo
pago_extra <- horas_extras * valor_extra
pago_total <- pago_normal + pago_extra
cat("El pago total es:", pago_total)
## El pago total es: 232
Escribir un programa que lea un entero positivo, n, introducido por el usuario y después muestre en pantalla la suma de todos los enteros desde 1 hasta n. La suma de los n primeros enteros positivos puede ser calculada de la siguiente forma:
suma=(n(n+1))/2
# Solicitar número al usuario
# n <- as.integer(readline("Ingrese un número entero positivo: "))
# Valor de ejemplo
n <- 10
if (n > 0) {
suma <- (n * (n + 1)) / 2
cat("La suma desde 1 hasta", n, "es:", suma)
} else {
cat("Debe ingresar un número positivo")
}
## La suma desde 1 hasta 10 es: 55
Escribir un programa que pida al usuario su peso (en kg) y estatura
(en metros), calcule el índice de masa corporal y lo almacene en una
variable, y muestre por pantalla la frase Tu índice de masa corporal es
# Solicitar datos al usuario:
peso <- as.numeric(readline("Ingrese su peso en kg: "))
## Ingrese su peso en kg:
estatura <- as.numeric(readline("Ingrese su estatura en metros: "))
## Ingrese su estatura en metros:
# Calcular IMC:
imc <- peso / (estatura^2)
# Mostrar el resultado redondeado:
cat("Tu índice de masa corporal es", round(imc, 2))
## Tu índice de masa corporal es NA
Escribir un programa que pregunte al usuario una cantidad a invertir, el interés anual y el número de años, y muestre por pantalla el capital obtenido en la inversión
# Solicitar datos:
capital <- as.numeric(readline("Ingrese la cantidad a invertir: "))
## Ingrese la cantidad a invertir:
interes <- as.numeric(readline("Ingrese el interés anual (%): "))
## Ingrese el interés anual (%):
anios <- as.numeric(readline("Ingrese el número de años: "))
## Ingrese el número de años:
# Calcular capital final:
capital_final <- capital * (1 + interes/100)^anios
# Mostrar resultado:
cat("El capital obtenido en la inversión es:", round(capital_final, 2))
## El capital obtenido en la inversión es: NA
Realizar un programa que pida el tiempo ya sea en horas, minutos o segundos, luego indicar en qué tipo de tiempo desea transformar y luego presentar el resultado
# Pedimos el tiempo
tiempo <- as.numeric(readline("Ingrese el tiempo: "))
## Ingrese el tiempo:
# Preguntamos el tipo en el que esta
origen <- readline("¿El tiempo está en horas, minutos o segundos?: ")
## ¿El tiempo está en horas, minutos o segundos?:
# preguntamos el ipo de tiempo al que quiere transformar
destino <- readline("Escriba a que tipo de tiempo desea transformar (horas/minutos/segundos): ")
## Escriba a que tipo de tiempo desea transformar (horas/minutos/segundos):
# Proceso
if(origen == "horas" && destino == "minutos"){
resultado <- tiempo * 60
} else if(origen == "horas" && destino == "segundos"){
resultado <- tiempo * 3600
} else if(origen == "minutos" && destino == "horas"){
resultado <- tiempo / 60
} else if(origen == "minutos" && destino == "segundos"){
resultado <- tiempo * 60
} else if(origen == "segundos" && destino == "horas"){
resultado <- tiempo / 3600
} else if(origen == "segundos" && destino == "minutos"){
resultado <- tiempo / 60
} else {
resultado <- tiempo
}
cat("Resultado:", resultado, destino)
## Resultado: NA
Escribir un programa en el que se digiten varios números y luego los números se presenten en pantalla ordenados
# Ingreso de números por teclado
# numeros <- scan()
# Valores de ejemplo
numeros <- c(3, 6, 9, 1, 5)
ordenados <- sort(numeros)
cat("Números ordenados:\n")
## Números ordenados:
print(ordenados)
## [1] 1 3 5 6 9
Escribir un programa que calcule el factorial de un número que ha sido digitado por el usuario
# Ingreso del número
num <- as.integer(readline("Ingrese un número que sera calculado en factorial: "))
## Ingrese un número que sera calculado en factorial:
# Calcular factorial
num_en_factorial <- factorial(num)
# Mostrar resultado
cat("El factorial es:", num_en_factorial)
## El factorial es: NA
Escribir un programa que pida un número e indique si el número es primo o no
# Ingresar número por teclado en RStudio
# num <- as.integer(readline("Ingrese un número: "))
# Valor de ejemplo para PDF
num <- 7
# Variable de control
primo <- TRUE
# Verificar si es primo
if(num <= 1){
primo <- FALSE
} else {
for(i in 2:(num - 1)){
if(num %% i == 0){
primo <- FALSE
}
}
}
# Mostrar resultado
if(primo){
cat("El número es primo")
} else {
cat("El número no es primo")
}
## El número es primo
Escribir un programa que pida un número e indique si el número es par o impar
# Ingresar número por teclado en RStudio
# num <- as.integer(readline("Ingrese un número: "))
# Valor de ejemplo para PDF
num <- 8
# Verificar si el número es par o impar
if(num %% 2 == 0){
cat("El número es par")
} else {
cat("El número es impar")
}
## El número es par
El lenguaje R Studiopermite desarrollar programas sencillos y eficientes para resolver problemas matemáticos y lógicos. Mediante estos ejercicios se logró comprender el uso de variables, condicionales, ciclos y funciones integradas. La práctica constante nos favorece el desarrollo de la lógica de programación y mejora la capacidad para resolver problemas computacionales. Los programas desarrollados demostraron la utilidad de la programación en la automatización de cálculos y procesos.
Explorar la librería shiny para crear herramientas interactivas, ya que RMarkdown no permite usar readline() al compilar en PDF.
Agregar restricciones que controlen lo que ingresa el usuario para evitar errores o que el programa devuelva valores vacíos NA.
Convertir los scripts largos en funciones propias (function()) para que el código sea más limpio, ordenado y fácil de reutilizar.
-Frogames Formación. “Cómo Programar en R.” Consultado el 17 de mayo de 2026. https://cursos.frogamesformacion.com/pages/blog/como-programar-en-r
-IONOS Digital Guide. “For Loop en R: Cómo Funciona el Bucle.” Consultado el 17 de mayo de 2026. https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/for-loop-r/
-Dataquest. “For Loop in R.” Consultado el 17 de mayo de 2026. https://www.dataquest.io/blog/for-loop-in-r/