UNIVERSIDAD CENTRAL DEL ECUADOR

Facultad de Ciencias Económicas

Ingeniería en Estadística

Autores: Fernanda Chipantaxi, Ayleen Rubio, Marlon Llugsha, Cristhian Diaz

Fecha: 17-06-2022

Colaborador: Ing. Francisco Valverde, PHD en informática

Manual de elaboración de programas en Rstudio

Introducción

Esta guía presenta la forma como debe llevarse a cabo el procedimiento en la realización de programas en Rstudio los cuales serán los más básicos para poder conocer las funciones o formas de usar Rstudio. Para programar se necesitan aptitudes que no son difíciles de desarrollar como pensamiento lógico, capacidad analítica, concentración, curiosidad, etc.

Este instrumento, presentará un entorno atractivo, amigable y con muchas opciones de ayuda para un principiante y así, permite entrar en el mundo de la programación de la manera más fácil posible.


20 Programas propuestos explicados paso a paso


1. Calcular la hipotenusa de un triángulo rectángulo dado sus catetos
  • Para hacer un programa que calcule la hipotenusa de un triángulo rectángulo se debe usar la siguiente fórmula.
FÓRMULA DE LA HIPOTENUSA

\[c = \sqrt{a^2+b^2}\]

  1. Se asigna a la variable a que reciba el valor de 4 para el primer cateto.
a <- as.numeric(readline("Ingrese el primer cateto: "))
## Ingrese el primer cateto:
a <- 4
  1. Se asigna a la variable b que reciba el valor de 3 para el segundo cateto.
b <- as.numeric(readline("Ingrese el segundo cateto: "))
## Ingrese el segundo cateto:
b <- 3 
  1. Ocupamos la función cat para dar salida a la respuesta utilizando la formula de la hipotenusa.
cat("La hipotenusa del triángulo rectángulo es: ",sqrt(a^2+b^2))
## La hipotenusa del triángulo rectángulo es:  5

2. Realizar un programa que calcule las soluciones de una ecuación de segundo grado de la forma ax^2+bx+c=0
FÓRMULA GENERAL

\[ \ x = \frac{-b\pm\sqrt{b^2-4ac}}{2a} \]

  1. Asignamos la variable function a la ecuación con (a,b,c).
cua <- function(a,b,c)
cua 
  1. Asignamos un número a la función (a,b,c).
a <- 1
b <- -5
c <- 6
cua(a,b,c)
## function(a,b,c)
## cua
  1. Ejecutamos la condición de la ecuación con if en el que obtendremos 2 resultados: x1 y x2 dado la fórmula general.
if((b^2-4*a*c)>=0) 
X1 <- ((-b + sqrt(b^2 - (4*a*c)))/(2*a))
X2 <- ((-b - sqrt(b^2 - (4*a*c)))/(2*a))
  1. Se lleva a cabo la impresión en este caso el comando print de los dos resultados dado la condición
print(paste("el valor de x1 es:",X1))
## [1] "el valor de x1 es: 3"
    print(paste("el valor de x2 es:",X2))
## [1] "el valor de x2 es: 2"

3. Calcular el área de un triángulo rectángulo dado su base y altura
FÓRMULA TRIÁNGULO RECTÁNGULO

\[Área=\frac{base*altura}2\] 1. Se crea la variable base que reciba la base del triángulo

base <- as.numeric(readline("Ingrese la base: "))
## Ingrese la base:
base <- 8
  1. Se crea la variable altura que reciba la altura del triángulo
altura <- as.numeric(readline("Ingrese la altura: "))
## Ingrese la altura:
altura <- 4.5
  1. Se utiliza la función cat para dar salida a la respuesta y también se emplea la fórmula del área del triángulo rectángulo
cat("El área del triángulo rectángulo es: ", (base*altura)/2)
## El área del triángulo rectángulo es:  18

4. Calcular el área de un rectángulo dado su base y altura
  • Para hacer un programa que calcule el área y perímetro de un rectángulo se debe usar la siguiente fórmula.
FÓRMULAS

\[Área = Base*Altura\] \[Perímetro = (2*b)+(2*h)\]

  1. Se asigna a la variable b que reciba la medida de la base en cm, ocuparemos la funciones as.numeric y readline.
b<-as.numeric(readline("Ingrese la medida del base en cm del rectángulo  "))
## Ingrese la medida del base en cm del rectángulo
b<-15
  1. Asígnanos a la variable h que reciba la medida de la base en cm, ocuparemos la funciones as.numeri y readline.
h<-as.numeric(readline("Ingrese la medida del altura en cm del rectángulo  "))
## Ingrese la medida del altura en cm del rectángulo
h<-7
  1. Ocupamos la función cat para dar salida la respuesta y incluimos las fórmulas para que se hagan sus respectivos cálculos.
cat("El área de un rectángulo es: ", (b*h) ,"cm^2","\n","El perímetro de un rectángulo es: ", ((2*b)+(2*h)) ,"cm")
## El área de un rectángulo es:  105 cm^2 
##  El perímetro de un rectángulo es:  44 cm

5. Calcular el promedio de 3 notas que estén entre 0 y 20

Para hacer un programa que calcule el promedio de tres notas se debe usar la siguiente formula.

FÓRMULA 

\[Promedio = \frac{nota1+nota2+nota3}{3}\]

  1. Crear variables en las que reciba tres valores de tipo numérico. Dentro de cada variable se ingresarán las notas que estén entre 0 y 20.
nota1 <- as.numeric(readline("Ingrese el primer número: "))
## Ingrese el primer número:
nota1 <- 15
nota2 <- as.numeric(readline("Ingrese el segundo número: "))
## Ingrese el segundo número:
nota2 <- 13
nota3 <- as.numeric(readline("Ingrese el tercer número: "))
## Ingrese el tercer número:
nota3 <- 18
  1. Ocupamos la función Cat para dar salida al promedio de las tres notas ingresadas utilizando la fórmula.
cat("El promedio de las notas es: ",(nota1+nota2+nota3)/3)
## El promedio de las notas es:  15.33333

6. Realizar el cálculo del perímetro y Área de una circunferencia dado el radio
FÓRMULAS

\[ Perímetro = \pi*2*r \]

\[ Área = \pi*r^2 \]

  1. Asignación a la variable num1, donde se ingresará el radio
num1 <- as.numeric(readline("Ingrese el radio: "))
## Ingrese el radio:
num1 <- 7
  1. Agregamos un cat que permitirá que la fórmula del perímetro se ejecute
cat("El perimetro es: ",(pi*2*num1))
## El perimetro es:  43.9823
  1. Para poder sacar el área de la circunferencia en el que asignamos num1 como numérico y agregamos una línea de texto que nos permitirá ingresar el radio.
num1 <- as.numeric(readline("Ingrese el radio: "))
## Ingrese el radio:
num1 <- 7
  1. Por último agregamos un cat el cual ejecutará la fórmula del área de la circunferencia obteniendo el resultado.
cat("El area es:",(pi*num1^2))
## El area es: 153.938

7. Calcular el área de un trapecio dado su base mayor, base menor y altura
  • Para hacer un programa que calcule el área de un trapecio se debe usar la siguiente fórmula.
FÓRMULA

\[Área \ trapecio = \frac{b1+b2}2*h\]

  1. Se asigna a la variable bmayor que reciba un valor para la base mayor.
bmayor <- as.numeric(readline("Ingrese la base mayor: "))
## Ingrese la base mayor:
bmayor <- 8

2.Se asigna a la variable bmenor que reciba un valor para la base menor.

bmenor <- as.numeric(readline("Ingrese la base menor: "))
## Ingrese la base menor:
bmenor <- 6 
  1. Se asigna a la variable alt que reciba un valor para la altura.
alt <- as.numeric(readline("Ingrese la altura: "))
## Ingrese la altura:
alt <- 4 
  1. Ocupamos la función cat para dar salida a la respuesta utilizando la fórmula del área de trapecio.
cat("El área del trapecio es: ", (bmayor+bmenor)/2*alt)
## El área del trapecio es:  28

8. Programa para dados dos números, determinar cuál es el número mayor y cual es el número menor, si los dos números son iguales el mensaje debe decir que son números iguales.
  1. Se asigna a la variable n1 que reciba un valor numérico para el primer número a comparar.
n1<-as.numeric(readline("Ingrese el primer número "))
## Ingrese el primer número
n1<-15 
  1. Se asigna a la variable n2 que reciba un valor numérico para el segundo número para realizar la comparación.
n2<-as.numeric(readline("Ingrese el segundo número para realizar la comparación "))
## Ingrese el segundo número para realizar la comparación
n2<-8
  1. Ocupamos la función cat para dar salida a respuesta utilizando los símbolos lógicos en las diferentes comparaciones la que sea correcta dará una respuesta de “TRUE” que significa verdadera.
cat("El primer número es menor al segundo: ", n1<n2)
## El primer número es menor al segundo:  FALSE
cat("El primer número es mayor al segundo: ", n1>n2)
## El primer número es mayor al segundo:  TRUE
cat("El primer número es igual al segundo: ", n1==n2)
## El primer número es igual al segundo:  FALSE

9. Calcular la suma, resta, multiplicación y división de dos números
  1. Se asigna a la variable numero1 que reciba el primer número.
numero1 <- as.numeric(readline("Ingrese el primer número: "))
## Ingrese el primer número:
numero1 <- 10
  1. Se asigna a la variable numero2 que reciba el segundo número.
numero2 <- as.numeric(readline("Ingrese el segundo número: "))
## Ingrese el segundo número:
numero2 <- 2
  1. Ocupamos la función cat para dar salida a la respuesta de la suma de los dos números.
cat("La suma es:",numero1+numero2)
## La suma es: 12
  1. Ocupamos la función cat para dar salida a la respuesta de la resta de los dos números.
cat("La resta es: ",numero1-numero2)
## La resta es:  8
  1. Ocupamos la función cat para dar salida a la respuesta de la multiplicación de los dos números.
cat("La multiplicación es: ",numero1*numero2)
## La multiplicación es:  20
  1. Ocupamos la función cat para dar salida a la respuesta de la división de los dos números.
cat("La división es: ",numero1/numero2)
## La división es:  5

10. Ejecutar un programa que pida una cantidad en dólares y como resultado se visualice el IVA (12%) Y el valor total a pagar
FÓRMULA 

\[ Valor\ del\ IVA = Dólares * 12\% \]

1.Se asigna dólares para ingresar la cantidad en dólares.

Dolares <- as.numeric(readline("Ingrese la cantidad en dólares: "))
## Ingrese la cantidad en dólares:
Dolares <- 145
  1. Agregamos un cat que nos ayuda a ejecutar la formula del IVA.
cat("Valor del IVA(12%) es: ", (Dolares*0.12))
## Valor del IVA(12%) es:  17.4
  1. Agregamos nuevamente un cat para calcular el IVA más la cantidad de dólares.
cat("Valor del total a pagar es: ", ((Dolares*0.12)+Dolares))
## Valor del total a pagar es:  162.4

11. Escribir un programa que pida la temperatura y si está es en Fahrenheit o Celsius, presentar en su pantalla la transformación en la otra medida.
  • Para crear el programa que pida la temperatura en grados Fahrenheit y convertir a grados Celsius, se debe usar la siguiente fórmula
FÓRMULAS
FÓRMULA DE GRADOS FAHRENHEIT A CELSIUS

\[°C = \frac{(°F-32)*5}{9}\]

Se nos da un valor de 35 °F y deseamos transformar a grados Celsius, para ello realizamos los siguientes pasos:

  1. Se asigna a la variable F que reciba la temperatura en grados Fahrenheit
F <- as.numeric(readline("Ingrese la temperatura en Fahrenheit: "))
## Ingrese la temperatura en Fahrenheit:
F <- 35
  1. Ocupamos la función cat para dar salida a la respuesta utilizando la fórmula de transformar de grados Fahrenheit a grados Celsius.
cat("La transformación de ",F," grados Fahrenheit a Celsius es: ",(F-32)*(5/9),"grados C")
## La transformación de  35  grados Fahrenheit a Celsius es:  1.666667 grados C
  • Para crear el programa que pida la temperatura en grados Celsius y convertir a grados Fahrenheit, se debe usar la siguiente fórmula
FÓRMULA DE GRADOS CELSIUS A FAHRENHEIT

\[°F = \frac{9}{5}*°C+32\] Se nos da un valor de 5 °C y deseamos transformar a grados Fahrenheit, para ello realizamos los siguientes pasos:

  1. Se asigna a la variable C que reciba la temperatura en grados Celsius
C <- as.numeric(readline("Ingrese la temperatura en Celsius: "))
## Ingrese la temperatura en Celsius:
C <- 5
  1. Ocupamos la función cat para dar salida a la respuesta utilizando la fórmula de transformar de grados Celsius a grados Fahrenheit.
cat("La transformación de ",C," grados Celsius a Fahrenheit es: ",(C*9/5)+32,"grados F")
## La transformación de  5  grados Celsius a Fahrenheit es:  41 grados F

12. Escribir un problema que pregunte al usuario por el número de horas trabajadas y el coste por hora. Después de mostrar por la pantalla la paga que le corresponde, además debe preguntar si existe horas extras que tienen un valor diferente y con estos valores se calcule la paga correspondiente.
  • Para hacer este programa necesitaremos conocer las fórmulas para calcular cuánto se paga por hora extra trabajada con residuo de 50% y 100%
FÓRMULA

\[Horas \ extras \ 50 = \ horas \ extras *((coste \ de \ horas*0.50)+coste \ de \ horas)\]

\[Horas \ extras \ 100 = \ horas \ extras *((coste \ de \ horas*1.00)+coste \ de \ horas)\]

  1. Se asigna a la variable htrabajadas que reciba un valor de las horas trabajadas por el usuario.
htrabajadas<-as.numeric(readline("Ingrese el número de horas trabajadas: "))
## Ingrese el número de horas trabajadas:
htrabajadas<-240
  1. Se asigna a la variable costexh que reciba un valor que se deberá pagar por las horas normales trabajas.
costexh<-as.numeric(readline("Ingrese coste por hora trabajada: "))
## Ingrese coste por hora trabajada:
costexh<-2.5
  1. Se asigna a la variable hextras50 que reciba un valor de las horas extras trabajadas con un recargo de 50%.
hextras50<-as.numeric(readline("Ingrese el número de horas extras realizadas con recargo de 50%: "))
## Ingrese el número de horas extras realizadas con recargo de 50%:
hextras50<-8
  1. Se asigna a la variable hextras100 que reciba un valor de las horas extras trabajadas con un recargo de 100%.
hextras100<-as.numeric(readline("Ingrese el número de horas extras realizadas con recargo de 100%: "))
## Ingrese el número de horas extras realizadas con recargo de 100%:
hextras100<-15
  1. Se realiza el cálculo para obtener el 50% del costo a pagar por hora trabajada la asignamos a la variable pagohextra50.
pagohextra50<-hextras50*((costexh*0.50)+costexh)
  1. Se realiza el cálculo para obtener el 100% del costo a pagar por hora trabajada la asignamos a la variable pagohextra100.
pagohextra100<-hextras100*((costexh*1.00)+costexh)
  1. Ocupamos la función cat para dar salida a respuesta de la paga que recibirá sin horas extras el usuario multiplicando las horas trabajadas por el coste de las horas.
cat("Su paga a recibir es de: ", (costexh*htrabajadas), "dólares")
## Su paga a recibir es de:  600 dólares
  1. Ocupamos la función cat para dar salida a respuesta de la paga que recibirá con la suma de todas las horas extras del usuario multiplicando las horas trabajadas por el coste de las horas más el pago de las horas extras con recargo de 50% y 100%.
cat("Su paga a recibir con todas las horas extras es de: ", ((costexh*htrabajadas)+pagohextra50+pagohextra100), "dólares")
## Su paga a recibir con todas las horas extras es de:  705 dólares

13. Escribir un programa que lea un número positivo (n), realizar la suma de todos los enteros desde 1 hasta n. Utilizando la siguiente fórmula:
FÓRMULA

\[suma=n*(n+1)*2\] 1. Se crea la variable num que un número positivo

num <- as.numeric(readline("Ingrese un número positivo: " ))
## Ingrese un número positivo:
num <- 5
  1. Se utiliza la fórmula
sum <- num*(num+1)/2
  1. Se utiliza cat para dar salida a la respuesta
cat("La suma de todos los enteros es: ",sum)
## La suma de todos los enteros es:  15

14. Realizar un programa que pida al usuario su peso en kilogramos y estatura en metros calcule e índice de masa corporal y lo almacene en una variable
FÓRMULA

\[ Masa \ Corporal = \frac{peso}{altura^2} \]

  1. Asignación de la variable peso para ingresar el peso en kilogramos
peso<- as.numeric(readline("Ingrese el peso en Kilogramos: "))
## Ingrese el peso en Kilogramos:
peso <- 60
  1. Asignación de la variable estatura para ingresar la altura en metros.
estatura<- as.numeric(readline(" Ingrese la estatura en metros: "))
##  Ingrese la estatura en metros:
estatura <- 1.75
  1. Realizamos la asignación de IMC en el cual ejecutaremos la fórmula
IMC<-peso/estatura^2
  1. Agregamos cat para introducir el resultado agregamos round para calcular la masa corporal.
cat("Su índice de masa corporal es: ", round(IMC,2))
## Su índice de masa corporal es:  19.59

15. 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
  • Para hacer un programa que calcule el capital obtenido en la inversión se debe usar las siguientes formulas
FÓRMULA DE LA TASA DE INTERÉS

\[Tasa \ de \ interés = \frac{Interés \ anual}{100}\]

FÓRMULA DEL CAPITAL

\[Capital = \ Inversión*(1+tasa \ de \ interés)^{años}\]

Para este ejercicio obtendremos los siguientes valores: una inversión de 100$, el interés anual es del 8% y el período es de 5 años.

  1. Se asigna a la variable cinversion que reciba el valor de la inversión
cinversion <- as.numeric(readline("Ingrese la cantidad a invertir: "))
## Ingrese la cantidad a invertir:
cinversion <- 100
  1. Se asigna a la variable interesanual que reciba un el valor del interés anual
interesanual <- as.numeric(readline("Ingrese el interes anual: "))
## Ingrese el interes anual:
interesanual <- 8 
  1. Se asigna a la variable A que reciba el valor del período en años
A <- as.numeric(readline("Ingrese el número de años: "))
## Ingrese el número de años:
A <- 5
  1. Se asigna a la variable tasa_interes para calcular la tasa de interés utilizando la primera fórmula
tasa_interes <- interesanual/100
tasa_interes
## [1] 0.08
  1. Se asigna a la variable capital para calcular el capital utilizando la segunda fórmula
capital <- cinversion*(1+tasa_interes)^A
capital
## [1] 146.9328
  1. Ocupamos la función cat para dar salida a la respuesta al capital obtenido de la inversión y también se utiliza la función round para que nos dé una respuesta con un aproximado de dos decimales.
cat("El capital obtenido es de : ",round(capital,digits = 2))
## El capital obtenido es de :  146.93

16. Realizar un programa que pida el tiempo ya sea en horas, minutos o segundos luego indicar en qué tipo de tiempo desea trasformar y luego presentar el resultado.
  • Para hacer este programa necesitaremos conocer las fórmulas para calcular las trasformaciones del tiempo como las siguientes:
FÓRMULA

\[Trasformación \ a \ Segundos = Minutos*60\]

\[Trasformación \ a \ Dias = \frac{Minutos}{1440}\]

\[Trasformación \ a \ Horas = \frac{Minutos}{60}\]

  1. Se asigna a la variable tiempo_minutos que reciba un valor que se deberá pagar por las horas normales trabajas.
tiempo_minutos<-as.numeric(readline("Ingrese el tiempo en minutos: "))
## Ingrese el tiempo en minutos:
tiempo_minutos<-3000
  1. Se realiza el cálculo para obtener las trasformaciones dependiendo del tiempo.
segundos<-tiempo_minutos*60
dias<-tiempo_minutos/1440
horas<-tiempo_minutos/60
  1. Ocupamos la función Cat para dar salida una respuesta de cada trasformación de tiempo en la ubicamos cada variable correspondiente como segundos, días y horas.
cat("Su tiempo en minutos es ", tiempo_minutos , "minutos")
## Su tiempo en minutos es  3000 minutos
cat("Su tiempo en segundos es ", segundos , "segundos")
## Su tiempo en segundos es  180000 segundos
cat("Su tiempo en días es ", dias , "días")
## Su tiempo en días es  2.083333 días
cat("Su tiempo en horas es ", horas , "horas")
## Su tiempo en horas es  50 horas

17. Escribir un programa en el que se digiten varios números y luego los números se ordenen de forma ascendente
  1. Crear variables en las que reciba caracteres de tipo numérico
num1<-as.numeric(readline("Ingrese el primer número: "))
## Ingrese el primer número:
num1<- 10
num2<-as.numeric(readline("Ingrese el segundo número: "))
## Ingrese el segundo número:
num2<- 7
num3<-as.numeric(readline("Ingrese el tercer número: "))
## Ingrese el tercer número:
num3<- 15 
num4<-as.numeric(readline("Ingrese el cuarto número: "))
## Ingrese el cuarto número:
num4<- 1
num5<-as.numeric(readline("Ingrese el quinto número: "))
## Ingrese el quinto número:
num5<- 20
  1. Con las variables creadas crear un vector llamado números
números<-c(num1,num2,num3,num4,num5)
  1. Ocupamos la función Cat para dar salida una respuesta y la función Sort para ordenar los valores del vector de forma ascendente.
cat("Ordenar de forma ascendente: ",sort(números))
## Ordenar de forma ascendente:  1 7 10 15 20

18. Efectuar un programa que calcule la factorial de un número que ha sido digitado por un usuario
  1. Asignación a facto como una Function
facto <- function()
facto()
  1. Realizamos la asignación a n para ingresar el número factorial que deseamos calcular
n <- as.integer(readline("Ingrese un número para calcular el factorial: "))
## Ingrese un número para calcular el factorial:
n <- 7
  1. Ejecutamos la for para obtener dada la condición el cálculo del número factorial
fact=1
for(i in 1:n)
  fact
  1. Afirmamos que fact es igual a fact por factorial a calcular.
 fact=fact*i
  1. Agregamos un cat que nos permitirá ejecutar el cálculo de nuestro número factorial que deseamos saber.
cat("El factorial del valor: ", n, "! es = ", fact)
## El factorial del valor:  7 ! es =  7

Código completo:

facto<-function(){
  n<-as.integer(readline("Ingrese un número para calcular el factorial: "))
  n<-7
  fact=1
  for(i in 1:n) {

    fact=fact*i
}
cat("El factorial del valor: ", n, "! es =", fact)
}
facto()
## Ingrese un número para calcular el factorial: 
## El factorial del valor:  7 ! es = 5040

19. Escribir un programa que pida un número e indique si el número es primo o no
  1. Crear la variable num que reciba un número
num <- as.integer(readline("Ingrese un número: " ))
## Ingrese un número:
num <- 19
  1. Utilizar la siguiente fórmula para saber si el número es primo
pri <- (sum(num/1:num==num%/%1:num))
pri==2
## [1] TRUE

20. Escribe un programa que pida un numero e indique si el número es par o impar
  1. Crear la variable numero1 que reciba un número
numero1<-as.numeric(readline("Ingrese un número: "))
## Ingrese un número:
numero1<- 8
  1. Se divide el número ingresado para 2 y si el residuo es igual a 0, el número es par
cat("El número ", numero1 , "es par ","\n", numero1%%2==0 ,"\n")
## El número  8 es par  
##  TRUE
  1. Se divide el número ingresado para 2 y si el residuo es igual a 1, el número es impar
cat("El número ", numero1 , "es impar ","\n", numero1%%2==1 ,"\n")
## El número  8 es impar  
##  FALSE