EJERCICIOS EN R

UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE CIENCIAS ECONÓMICAS
CARRERA DE ESTADÍSTICA

Autores:

  • Mueses Emily
  • Muzo Jenifer
  • Oña Mishel
  • Simbaña Mavelin

EJERCICIOS EN R

En el presente documento podrá encontrar 20 ejercicios sencillos realizados en el programa Rstudio, cada uno con su respectivo planteamiento del problema y resultados.

Para la elaboración de los mismos, se utilizaron funciones básicas que se encuentran en el mismo programa.

EJERCICIO N°1

Escriba un programa que solicite los catetos de un triángulo rectángulo y muestre su hipotenusa

\[ Hipotenusa = \sqrt{(catetomayor)^2+(catetomenor)^2}\] Pasos a seguir:

Paso 1: Definir las variables cate1 y cate2, usando readline pediremos al usuario
ingresar el cateto mayor y menor, y usaremos as.numeric para que el valor ingresado se convierta en número.

cate1 <- as.numeric(readline(" Ingrese el cateto mayor: "))
cate2 <- as.numeric(readline(" Ingrese el cateto menor: "))
# Ingrese el cateto mayor:
# Ingrese el cacteto menor: 

Paso 2: Usaremos la formula que se puede visualizar al inicio y con la ayuda de la función sqrt calcularemos la raíz, todo este calculo se guardará en variable hipotenusa.

hipotenusa <- sqrt((cate1^2)+(cate2^2))

Paso 3: Utilizamos el comando cat para que nos imprima el texto y el resultado de la operación suponiendo que el cateto menor es 5 y el cateto mayor 15.

cat("El triángulo rectángulo tiene como catetos","\n", 
    "Cateto mayor:", cate1, "\n", "Cateto menor:", cate2,"\n",
    "La hipotenusa del triángulo rectángulo es:", hipotenusa)
# El triángulo rectángulo tiene como catetos 
#  Cateto mayor: 5 
#  Cateto menor: 15 
#  La hipotenusa del triágulo rectángulo es: 15.81139

EJERCICIO N°2

Escribe un programa que calcule las soluciones de una ecuación de segundo grado de la forma ax^2+bx+c=0

Para la resolución de este ejercico nos ayudaremos de la siguiente formula general.

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

Paso 1: Se definirán los valores de a, b y c para establecer las soluciones de la fórmula:

a <- as.numeric(readline("Ingrese el valor de a: ")) 
## Ingrese el valor de a:
b<- as.numeric(readline("Ingrese el valor de b: ")) 
## Ingrese el valor de b:
c=as.numeric(readline("Ingrese el valor de c: ")) 
## Ingrese el valor de c:

Paso 2: Calcularemos el discriminante:

discriminante=((b^2)-(4*a*c)) 

Paso 3: Encontraremos las soluciones:

solucion1=((-b-(sqrt(discriminante)))/2*a) 
solucion2=((-b+(sqrt(discriminante)))/2*a)

Paso 4: Con el uso de la función cat presentaremos el resultado:

cat("La ecuacion de segundo grado, tiene como soluciones: ","\n",
    "x1= ",solucion1,"\n",
    "x2= ",solucion2)
  • La respuesta es: x1= -4, x2= -2, suponiendo que tenemos a=1, b=6, c=8.

EJERCICIO N°3

Calcular el área del triángulo rectángulo dadas su base y altura.

  • Para su solución necesitamos conocer la fórmula del área del triángulo:

\[\Large Área\ del\ triángulo=\frac{b\cdot h}{2}\]

Pasos a seguir:

Paso 1: Definir las variables bs (base) y al(altura):

bs <- as.numeric(readline("Ingrese la base del triángulo:"))
## Ingrese la base del triángulo:
al <- as.numeric(readline("Ingrese la altura del triángulo:")) 
## Ingrese la altura del triángulo:

Paso 2: Aplicamos la fórmula para calcular el área en la variable area:

area <- (bs*al)/2 

Paso 3: Usamos la función cat para mostrar de una mejor manera el resultado:

cat(" La base del triángulo rectángulo es:", bs, "\n", 

    "La altura del triángulo rectángulo es:", al, "\n", 

    "El área del triángulo rectángulo es: ", area) 
  • El área del triángulo es 10, suponiendo que la base es 5 y la altura 4.

EJERCICIO N°4

  • Desarrollar un programa en RStudio que permita calcular el área y el perímetro de un rectángulo utilizando la base y la altura como datos de entrada.

    • Para su desarrollo debemos conocer las fórmulas de áres y perímetro:

\[\Large Área= base\cdot altura\]
\[\Large Perímetro=2\cdot(base)+2\cdot(altura)\]

Pasos a seguir:

Paso 1: Se define las variables “base” y “altura” para almacenar los valores ingresados por el usuario:

base <- as.numeric(readline("Ingresar la base del rectángulo: ")) 
## Ingresar la base del rectángulo:
altura <- as.numeric(readline("Ingresar la altura del rectángulo: ")) 
## Ingresar la altura del rectángulo:

Paso 2: Utilizar la fórmula del área de un rectángulo, que consiste en multiplicar la base por la altura, y la fórmula del perímetro:

area <- base * altura 
perimetro <- 2 * (base + altura) 

Paso 3: Finalmente, se muestra los resultados en pantalla utilizando la función cat:

cat("El área del rectángulo es:", as.character(area)) 

cat("El perímetro del rectángulo es:", as.character(perimetro)) 
  • El área del rectángulo es 216 y su perímetro es 60, suponiendo que se ingresó una base de 18 y altura de 12.

EJERCICIO N°5

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

  • Para realizar este ejercicio lo haremos de la siguiente manera:

\[\Large Promedio=\frac{nota1+nota2+nota3}{3}\] Pasos a seguir:
Paso 1: Definir la variable nombre para que el usuario pueda ingresar su nombre:

nombre <- as.character(readline("Ingrese su nombre")) 
## Ingrese su nombre

Paso 2: Definir las variables n1,n2,n3 que seran usadas para ingresar las notas:

n1 <- as.numeric(readline("Ingrese la nota1")) 
## Ingrese la nota1
n2 <- as.numeric(readline("Ingrese la nota2")) 
## Ingrese la nota2
n3 <- as.numeric(readline("Ingrese la nota3")) 
## Ingrese la nota3

Paso 3: Calcular el promedio de las notas con la fórmula que se indicó en el inicio:

promedio <- (n1+n2+n3)/3 

Paso 4: Imprimir los resultados con la función cat:

cat(nombre, "Su promedio es: ", promedio) 
  • El resultado se presentará de la siguiente manera: Saul su promedio es 12.72667, suponiendo que se ingresó en nombre= Saul, en n1= 14.50, n2= 13.18 y en n3= 10.50

EJERCICIO N°6

Calcular el área y perímetro de la circunferencia dado el radio

\[ Area= pi*r^2 \]

\[ Perímetro = 2*pi*r \] Pasos a seguir:

Paso 1: Se define la variable “radio” para almacenar los valores ingresados por el usuario.

radio <- as.numeric(readline("Ingresa el radio de la circunferencia: "))
# Ingrese el radio de la circunferenica: 

Paso 2 : A continuación, se utilizarán las fórmulas matemáticas correspondientes para calcular el área y el perímetro de la circunferencia, las visuclizamos al incio del ejercicio.

areacir <- pi * radio^2
perimetrocir <- 2 * pi * radio

Paso 3: Después de realizar los cálculos, se mostrarán los resultados obtenidos en pantalla mediante la función “cat”. Daremos el valor 3 para el radio

cat("El área
    de la circunferencia es de:", areacir, "\n", "El perímetro de la circunferencia es de:", perimetrocir)
# El area de la circunferencia es de: 28,26
# El perímetro de la circunferencia es de: 18,8

EJERCICIO N°7

Determinar el área y perímetro de un trapecio, mediante el ingreso de su base mayor, base menor y altura. Para este código se utilizó 2 fórmulas de área y perímetro, considerando que para el perímetro se tomó en cuenta a la altura y a su base mayor, como lo podrán observar a continuación

\[ Área= \frac{B+b}{2}+h \] \[ Perímetro = B+b+2c \] Paso 1: Ingresar los valores del trapecio, base menor, base mayor y altura para definir las variables

base1 <- as.numeric(readline("Ingrese el valor del base menor:"))
base2 <- as.numeric(readline("Ingrese el valor de la base mayor :"))
altu <- as.numeric(readline("Ingrese el valor de la altura: "))
# Ingrese la base menor :
# Ingrese el valor de la base mayor :
# Ingrese el valor de la altura: 

Paso 2: Con ayuda de las formulas del principio calcularemos la base y el perímetro

perimetro <-(base^2+altu^2)
perimetro <- sqrt(perimetro)
area <- ((base1+base2)/2)*altu
perimetro <- (2*perimetro+base1+base2)

Paso 2: Imprimir los resultados mediante la función cat(), como base menor pondremos 10, como base mayor 20 y como altura 15

cat("El área es :",area)
cat("El perímetro es:",perimetro)
# El área es: 155
# El perímetro es: 80

EJERCICIO N°8

Dados dos números, determinar cuál es el número mayor y cuál es el número menor, si los dos números son iguales el mensaje debe decir que son números iguales. En este ejercicio se deben ingresar dos valores y el programa va a comparar si los dos números ingresados son mayores, menores o iguales.

Pasos a seguir:

Paso 1: Creamos las variables numéricas “n1” y “n2”.Vamos a suponer que n1=5 y n2=7.

n1 <- as.numeric(readline("Ingrese el primer número: "))
# Ingrese el primer número: 
n2 <- as.numeric(readline("Ingrese el segundo número: "))
# Ingrese el segundo número:

Paso 3: Comparamos los números ingresados para saber si es mayor

a=n1>n2

PASO 4: Comparamos los números ingresados para saber si es menor

b=n1<n2

PASO 5: Comparamos los números ingresados para saber si son iguales

c=n1==n2

PASO 6: Presentamos la respuesta de los números

cat("La respuesta de los números ingresados son: ","\n",
"El resultado de que:",n1,"sea mayor que",n2,"es:",a,"\n",
"El resultado de que:",n1,"sea menor que",n2,"es:",b,"\n",
"El resultado de que:",n1,"sea igual que",n2,"es:",c,"\n")
# El resultado de que: 5 sea mayor que 7 es: False
# El resultado de que: 5 sea menor que 7 es: True
# El resultado de que  5 sea igual que 7 es: False

EJERCICIO N°9

Ingresar 2 valores y determinar los resultados de las operaciones básicas, como suma, resta, multiplicación y división.

Pasos a seguir:

Paso 1: Definiremos las variables n1 y n2 para ingresar nuestros números con los que se realizaran las operaciones básicas. Los valores que usaremos son: n1= 5 y n2= 7

n1 <- as.numeric(readline("Ingrese el primer número:"))
# Ingrese el primer número 
n2 <- as.numeric(readline("Ingrese el segundo número:"))
# Ingrese el segundo número

Paso 2: Realizar los calculos en las respectivas variables

suma <- (n1+n2)
resta <- (n1-n2)
multi <- (n1*n2)
divi <- (n1/n2)

Paso 4: Presentamos las respuestas con ayuda de la función cat()

cat("Los resultados de las siguientes operaciones son:", "\n",
"SUMA", "\n",
n1,"+",n2,"=",suma,"\n" ,
"RESTA", "\n", 
n1,"-",n2,"=",resta, "\n",
"MULTIPLICACIÓN", "\n",
n1,"*",n2,"=",multi,"\n",
"DIVISIÓN", "\n",
n1,"/",n2,"=",divi)
# Los resultados de las siguientes operaciones son: 
#  SUMA 
#  5 + 7 = 12 
#  RESTA 
#  5 - 7 = -2 
#  MULTIPLICACIÓN 
#  5 * 7 = 35 
#  DIVISIÓN 
#  5 / 7 = 0.7142857

EJERCICIO N°10

Realice un Programa que pida una cantidad en dólares y como resultado se visualice el IVA (12%) y el valor total a pagar.

Pasos a seguir:

Paso 1: Pediremos al usuario ingresar una cantidad en dólares y este valor se guardara en la variable cantidad. Los valores que ingresaremos son: Cantidad =100

antidad <- as.numeric(readline("Ingrese la cantidad en dólares: "))
# Ingrese la cantidad en dólares

Paso 2: Calculamos el Iva y la cantidad total

va=(cantidad*0.12)
c1=(cantidad+iva)

Paso 3: Mostramos los resultados usando cat()

cat("El valor a pagar con IVA es:" ,iva, "\n",
"El total a pagar es: ", c1, "dólares ")
# El valor a pagar con IVA es: 12 
# El total a pagar es:  112 dólares 

EJERCICIO N°11

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.

Pasos a seguir:

Paso 1: Creamos dos variables numéricas, colocamos el mensaje que le aparecerá al usuario, utilizamos readline

tem as.numeric(readline("Ingrese la temperatura: "))
# Ingrese la temperatura 

Paso 2: Pedir al usuario que diga si es Celsius o Fahrenheit

temp1 <- as.character(readline("Si la temperatura es Fahrenheit ingrese FH y si es Celisius ingrese CL: "))
#Si la temperatura es Fahrenheit ingrese FH y si es Celisius ingrese CL:

Paso 3: Calcular la temperatura a Fahrenheit

n1 <- ((tem-32)*(5/9))

Paso 4: Calcular la temperatura a CELSIUS

n <- ((tem*(9/5))+32)

Paso 5: Imprimir las respuestas pero cumpliendo una condición y usando cat(). En este caso la temperatura ingresada será 45 y esta en Fhrenheit

if(temp1=="FH")
{c1=n1
cat("Su temperatura en Celsius es: ",c1,"B0C")}
if(temp1=="CL")
{f1=n
cat("Su temperatura en Fahrenheit es: ",f1,"B0F")}
# La temperatura en Celcius es: 7.22222 °C

EJERCICIO N°12

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

Pasos a seguir:

Paso 1: pedir al usuario ingresar el número de horas trabajadas por medio de la función readline y luego el valor ingresado se convertirá en número usando as.numeric

hrtra <- as.numeric(readline("Ingrese el número de horas trabajadas: "))
# Ingrese el número de horas trabajadas:

Paso 2: pedir al usuario ingresar el pago por hora usando readline y as.numeric

val <- as.numeric(readline("Ingrese el coste por hora: "))
# Ingrese el coste por hora:

Paso 3: Pedir al usuario ingresar el número de horas extra

extras <- as.numeric(readline("Ingrese el número de horas extras trabajadas: "))
# Ingrese el número de horas extras trabajadas:

Paso 4: Calcular el valor sin las horas extra, el valor incluyendo las horas extra y el sueldo total

valor <- hrtra*val
pagohx <- (extras*(valor*2))
stotal <- valor+pagohx

PASO 5: Mostrar el resultado mediante la función cat(). Ingresaremos los siguientes valores: horas trabajadas= 160, coste por hora = 3$ y horas extra =24

cat("Su sueldo sin horas extras es de:", valor, "dólares","\n",
"Su sueldo total es de: ", stotal, "dólares ")
# Su sueldo sin horas extras es de: 480 dólares 
# Su sueldo total es de:  23520 dóares

EJERCICIO N°13

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

Pasos a seguir:

PASO 1: Pedir al usuario ingresar un número entero positivo mediante las funciones readline para mostrar el mensaje y as.numeric para convertir el valor ingresado en número

num1 <- as.numeric(readline("Ingrese un número entero positivo: "))
# Ingrese un número entero positivo:

PASO 2: Calcular la suma de todos los enteros des el 1 con la formula

\[ suma= n*\frac{n+1}{2} \]

suma <- (num1*(num1+1)/2)

PASO 3: Mostrar el resultado

cat("La suma de los enteros positivos desde 1 hasta",num1,"es: ",suma)
# La suma de los enteros positivos desde 1 hasta 10 es:  55

EJERCICIO N°14

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 donde es el índice de masa corporal calculado redondeado con dos decimales

Pasos a seguir:

Paso 1: Pedir al susuario ingresar su peso en kilogramos

peso <- as.numeric(readline("Ingrese su peso en Kg: "))
# Ingrese su peso en Kg:

Paso2: Pedir al usuario ingresar su estatura en metros

estatura <- as.numeric(readline("Ingrese su estatura en metros: "))
# Ingrese su estatura en metros:

Peso 3: calcular el indice de masa corporal con la formula:

\[ IMC= \frac{Peso}{Estatura ^2} \]

imc <- (peso/(estatura^2))

Paso 4: Mostrar los resultados y usamos round para reducir a dos decimales la respuesta. Los valores que usaremos para este calculo es: peso = 80 y estatura = 1.83

cat("Tu indice de masa coorporal es :",round(imc,2))
# Tu indice de masa coorporal es : 23,89 

EJERCICIO N°15

Realizar un programa, el cual pregunte al usuario su capital inicial, tasa de interés anual y los años, y como resultado otogar la inversion final. Codigo

Pasos a seguir:

Paso 1: Lectura de los datos, inverción, interés anual y número de años

inv <- as.numeric((readline("Ingrese el valor a invertir:")))
inte <- as.numeric((readline("Ingrese el interés anual:")))
años <- as.numeric((readline("Ingrese el número de años:")))
# Ingrese el valor a invertir:
# Ingrese el interés anual:
# Ingrese el número de años:

Paso 2: Calculamos la inversión final mediante la formula: \[ Inversión final = inversión * (1+ interés)^ {años} \]

cv <- (1+inte)^años
cv <- inv*cv

Paso 3: Mostramos el Resultado

cat("Al invertir",inv," dólares en",años,"años y con una tasa de interés del",inte," % se obtiene 
    una inversión de",cv,"dolares")
# Al invertir 1200 en 4 años y con una tasa de interés del 1.2 % se obtiene una inversión de 281107.2 dólares 

EJERCICIO N°16

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.

Pasos a seguir:

Paso 1: Solicitar el tiempo y el tipo de tiempo al que se desea convertir. Se le pide al usuario que introduzca el tiempo en el formato HH:MM:SS. El valor ingresado será 19:50

tiempo <- readline("Ingrese el tiempo (HH:MM:SS): ")
# Ingrese el tiempo (HH:MM:SS):

Paso 2: Luego, se solicita al usuario que indique el tipo de tiempo al que desea convertirlo, ya sea “horas”, “minutos” o “segundos”.El tiempo a convertir será a horas

tipo <- readline("Ingrese el tipo de tiempo al que desea convertir (horas, minutos, segundos): ")
# Ingrese el tipo de tiempo al que desea convertir (horas, minutos, segundos):

Paso 4: Separar el tiempo en horas, minutos y segundos y convertirlos a numéricos Después, se utiliza la función “strsplit()” para separar el tiempo ingresado en horas, minutos y segundos.

tiempo_split <- strsplit(tiempo, ":")[[1]]
horas <- as.numeric(tiempo_split[1])
minutos <- as.numeric(tiempo_split[2])
segundos <- as.numeric(tiempo_split[3])

Paso 5: Realizar la conversión,se utilizará la función switch() para realizar la conversión del tiempo según el tipo seleccionado.

resultado <- switch(
  tipo,
  horas = as.character(horas),
  minutos = as.character(horas * 60 + minutos),
  segundos = as.character(horas * 3600 + minutos * 60 + segundos)
)

** Paso 6:** Mostrar el resultado

cat("El resultado es:", resultado, tipo, "\n")
El resultado es 19 horas 

EJERCICIO N°17

Escribir un programa en el que se digiten varios números y luego los números se presenten en pantalla ordenados

Pasos a seguir:

Paso 1: Solicitar los números separados por comas.Se solicita al usuario que ingrese varios números separados por comas. Los valores ingresados serán 10, 30, 60, 90, 120, 130

numeros <- readline("Ingrese varios números separados por comas: ")
# Ingrese varios números separados por comas:

Paso 2: Convertir los números a un vector numérico.A continuación, se utiliza la función “strsplit()” para dividir la cadena de números en una lista donde cada número es un elemento.

numeros_vec <- as.numeric(strsplit(numeros, ",")[[1]])

Paso 3: Ordenar los números de forma ascendente. Se ordenan los números de forma ascendente utilizando la función “sort()”.

numeros_ordenados <- sort(numeros_vec)

Paso 4: Convertir los números ordenados a caracteres

numeros_ordenados_char <- as.character(numeros_ordenados)

Paso 5: Presentar los números ordenados en pantalla

cat("Los números ordenados son:", numeros_ordenados_char, "\n")
# Los números ordenados son: 10 30 60 90 120 130 

EJERCICIO N°18

Escribir un código donde se calcule la factorial de un numero ingresado por el usuario.

Pasos a seguir:

Paso 1: Pedir al usuario que ingrese un número. El valor que ingresaremos es 9

numero <- as.integer(readline("Ingresa un número entero: "))
# Ingresa un número entero:

Paso 2: Calcular la factorial utilizando una variable con un nombre diferente

fact <- prod(1:numero)

Paso 3: Mostrar el resultado

cat("El factorial de", numero,"es",fact)
# El factorial de 9 es 362880

EJERCICIO N°19

Escribir un programa que pida un número e indique si el número es primo o no

Pasos a seguir:

Paso 1: Pedir al usuario ingresar un número. El número que usaremos es 1

num1<-as.numeric(readline("Ingrese un número: "))
# Ingrese un número:

Paso 2: Creamos una variable nueva para realizar la operación, con el signo % realizaremos la operación de división y con ella obtendremos el cociente del ejercicio y si es primo o no.

p<-(sum(num1/1:num1==num1%/%1:num1))
p==2
# [1] FALSE

EJERCICIO N°20

Escribir un programa que pida un número e indique si el número es par o impar.

Pasos a seguir:

Paso 1: Pedir el número al usuario. Ingresaremos el número 5

n <- as.numeric(readline("Ingrese un número: "))
# Ingrese un número:

Paso 2: Calcular si es par usando %% que nos ayudará a saber el residuo de la división

par<-(n%%2==0)

Paso 3: Calcular si es impar usando %% que nos ayudará a saber el residuo de la division

impar<-(n%%2==1)

Paso 4: Imprimir el resultado

cat("El número",n,"es par: ",par, "\n"
"El número",n,"es impar: ",impar)
# El número 5 es par: FALSE
# El número 5 es impar: TRUE