EJERCICIOS DEL SEGUNDO TALLER

Ejercicio 1:

Calcular la hipotenusa de un triángulo rectángulo

Definimos la variable del primer cateto

cateto1 <- as.numeric(25)

Definimos la variable del segundo cateto

cateto2 <- as.numeric(7)

Definimos la variable hipotenusa y asignamos la raíz de la suma de los catetos con el comando sqrt

hipotenusa <- sqrt((cateto1^2) + (cateto2^2))

Reflejamos el resultado con el comando cat

cat("La hipotenusa del triángulo rectángulo es:", hipotenusa)
## La hipotenusa del triángulo rectángulo es: 25.96151

Ejercicio 2:

Calcular las soluciones de una ecuación de segundo grado

Definimos 3 variables como tipo numérico (a, b, c)


a <- as.numeric(5)
b <- as.numeric(9)
c <- as.numeric(1.5)

Calculamos el valor del discriminante

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

Definimos nuestras variables para las soluciones

solu1 <- ((-b + (sqrt(discriminante))) / (2 * a))
solu2 <- ((-b - (sqrt(discriminante))) / (2 * a))

Mostramos el resultado con el comando cat

cat("La ecuación de segundo grado ingresada es:", a, "x^2 +", b, "x +", c, "= 0",
    "Las soluciones son:", "x1 =", solu1, "y x2 =", solu2)
## La ecuación de segundo grado ingresada es: 5 x^2 + 9 x + 1.5 = 0 Las soluciones son: x1 = -0.1858572 y x2 = -1.614143

EJERCICIO 3

Crear un programa que nos permita calcular el area de un triangulo rectangulo basado en la base y altura ingresadas por el usuario

Definimos la variable de la base

base<-as.numeric(10)

Definimos la variable de la altura

altura<-as.numeric(15)

Definimos la variable area y realizamos la operacion base por altura, dividido entre 2

area<-((base*altura)/2)

Reflejamos el resultado

cat("El area resultante del triangulo rectangulo es:", area)
## El area resultante del triangulo rectangulo es: 75

EJERCICIO 4

Crear un programa para calcular el area y perimetro de un rectangulo dado su base y altura

Definimos la base y altura del triangulo

base<- as.numeric(20)
altura<- as.numeric(25)

Se muestra el area y el perimetro del rectangulo

cat("El C!rea del rectC!ngulo es =", base*altura)
## El C!rea del rectC!ngulo es = 500
cat("El perC-metro del rectC!ngulo es =", 2*base+2*altura)
## El perC-metro del rectC!ngulo es = 90

EJERCICIO 5

Crear un progrma que identifique 3 notas ingresadas por el usuario y calcule el promedio

Definimos las variables que seran para las notas

not1 <- as.numeric(15)
not2 <- as.numeric(12)
not3 <- as.numeric(19.5)

Definimos la variable promedio

promedio <- ((not1+not2+not3)/3)

mostramos el resultado

cat("El promedio de las calificaciones", not1,not2,not3,  "es: ", promedio)
## El promedio de las calificaciones 15 12 19.5 es:  15.5

EJERCICIO 6

Calcular el area y perimetro de la circunferencia dado el radio

definimos el valor del radio

r <- as.numeric(9.8)

Calculamos el radio

area <- pi * r^2

Calculamos el perimetro

perimetro <- 2 * pi * r

mostramos el resultado

cat("El C!rea del circulo es: ", area)
## El C!rea del circulo es:  301.7186
cat("El perC-metro del circulo es: ",perimetro)
## El perC-metro del circulo es:  61.57522

EJERCICIO 7

Calcular el area y perimetro de un trapecio dado su base mayor, base menor y altura.

primero definimos las bases y la altura

base_mayor<- as.numeric(8)
base_menor<- as.numeric(5)
altura<- as.numeric(9)

hacemos las operaciones y mostramos el area del trapecio

cat("el area del trapecio es =",((base_mayor+base_menor)/2)*(altura),"cm^2")
## el area del trapecio es = 58.5 cm^2

#Para calcular el perimetro de un trapecio necesitamos utilizar el teorema de PitCagoras que nos dice que los lados del trapecio son igual a: c2=a2+b^2

c <- as.numeric(((base_mayor - base_menor)/2)^2 + altura^2)
cat("El valor de c^2 es =", c)
## El valor de c^2 es = 83.25
lado<-sqrt(c)

mostramos el resultado

cat("el lado del trapecio es =",lado)
## el lado del trapecio es = 9.124144
cat("el perC-metro del trapecio es =",lado+lado+base_mayor+base_menor,"cm")
## el perC-metro del trapecio es = 31.24829 cm

EJERCICIO 8

crear un programa que Dados dos numeros, determinar cual es el numero mayor y cual es el numero menor, si los dos numeros son iguales y el mensaje debe decir que son numeros iguales

definimos las variables del primer y segundo numero
n1 <- as.numeric(-4)
n2 <- as.numeric(-1)

hacemos las operaciones y mostramos el resultado

if (n1 > n2) {
  cat(n1, "es mayor. ", n2, "es menor.")
} else if (n1 < n2) {
  cat(n2, "es mayor. ", n1, "es menor.")
} else {
  cat("Ambos nC:meros son iguales.")
}
## -1 es mayor.  -4 es menor.

EJERCICIO 9

Escribe un programa que lea dos numeros y muestre en la salida su suma, resta, multiplicacion y division

num1 <- as.numeric(5)
num2 <- as.numeric(-2)

realizamos las operaciones correspondientes

suma <-  num1 + num2
resta <-  num1 - num2
multiplicacion <-  num1 * num2
division <- num1 / num2

mostramos los resultados

cat("La suma del numero 1:", num1, "con el numero 2:" , num2, "es: ", suma)
## La suma del numero 1: 5 con el numero 2: -2 es:  3
cat("La resta del numero 1:", num1, "con el numero 2:" , num2, "es: ", resta)
## La resta del numero 1: 5 con el numero 2: -2 es:  7
cat("La multiplicaciC3n del numero 1:", num1, "con el numero 2:" , num2, "es: ", multiplicacion)
## La multiplicaciC3n del numero 1: 5 con el numero 2: -2 es:  -10
cat("La division del numero 1:", num1, "con el numero 2:" , num2, "es: ", division)
## La division del numero 1: 5 con el numero 2: -2 es:  -2.5

EJERCICIO 10

Realice un programa que pida una cantidad en dolares y como resultado se visualice el IVA (12%) y el valor total a pagar.

Definimos una variable para oder digitar la cantidad en $$

a<- as.numeric(1800)

calculamos el IVA total

iva<- a*0.12
total<- a+iva

Mostramos el resultado

cat("Su dinero incluido el IVA es igual a: ", total)
## Su dinero incluido el IVA es igual a:  2016

** EJERCICIOS DEL TERCER TALLER**

EJERCICIO 1

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.

Definimos la temperatura

tem <- as.numeric(15)

cambiamos a Fahrenheit o Celcius (centigrados) segun querramos

grad <- tolower("celcius")

hacemos las operaciones y mostramos el resultado

if (grad == "celcius") {
  temp_f <- (tem * 9/5) + 32
  cat("La temperatura en Fahrenheit es:", temp_f, " grados Fahrenheit \n")
} else {
  temp_c <- (tem - 32) * 5/9
  cat("La temperatura en Celsius es:", temp_c, " grados celsius\n")
} 
## La temperatura en Fahrenheit es: 59  grados Fahrenheit

EJERCICIO 2

Escribir un programa que pregunte al usuario por el numero de horas trabajadas y el coste por hora. Despues debe mostrar por pantalla la paga que le corresponde, ademas debe preguntar si existen horas extras que tienen un valor diferente y con estos valores se calcule la paga correspondiente

Solicitar el número de horas trabajadas y calcular la paga básica

horas_t<-as.numeric(48)
coste_h <- as.numeric(19)
paga_b <- horas_t * coste_h

calcular la paga de horas extra y la paga total, si no hay horas extra mostrara la paga basica

horas_e <- tolower("si")
if (tolower(horas_e) == "si" ) {
  horas_et <- as.numeric(25)
  coste_he <- as.numeric(20)
  pago_e <- horas_et * coste_he
  paga_t <- paga_b + pago_e
  cat("La paga total, incluyendo las horas extras, es: ", paga_t, "\n")
} else {
  cat("La paga total sin horas extra es: ", paga_b, "\n")
}
## La paga total, incluyendo las horas extras, es:  1412

EJERCICIO 3:

Escribir un programa que lea un entero positivo, n, introducido por el usuario y despues 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

hacemos lo planteado y mostramos el resultado

n<- as.numeric(15)

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

cat("La suma de los primeros ", n, " terminos es igual a ", suma)
## La suma de los primeros  15  terminos es igual a  120

#EJERCICIO 4 ## **Calcular el IMC de una persona #### Solicitar al usuario su peso en kilogramos

p <- as.numeric(65)

Solicitar al usuario su estatura en metros

e <- as.numeric(1.78)

Calcular el Índice de Masa Corporal (IMC)


imc <- p / (e^2)

Mostrar el resultado redondeado a 2 decimales

cat("Tu índice de masa corporal es:", round(imc, 2), "\n")

EJERCICIO 5:

Escribir un programa que pregunte al usuario una cantidad a invertir, el interes anual y el número de años,y muestre por pantalla el capital obtenido en la inversión

definimos las variables ingreso, tasa de interes y el tiempo

c<- as.numeric(1800)
i<- as.numeric(5.2)
a<- as.numeric(12)

realizamos las operaciones y mostramos los resultados

i<-i/100

capital<-c*(1-i)^a

cat("el capital obtenido es de ", capital)
## el capital obtenido es de  948.3585

EJERCICIO 6

Realizar un programa que pida el tiempo ya sea en horas, minutos o segundos, luego indicar en que tipo de tiempo desea transformar y luego presentar el resultado

Solicitar al usuario que ingrese el numero de horas, minutos o segundos

tiempo<- as.numeric(95)

especificar en qué medida se encuentra el valor ingresado

"Especifique si el numero ingresado se encuentra en horas (h), minutos (m) o segundos (s) "
## [1] "Especifique si el numero ingresado se encuentra en horas (h), minutos (m) o segundos (s) "
tim_e <- tolower("m")
"Especifique a que unidad hacer la conversion, horas (h), minutos (m) o segundos: (s) "
## [1] "Especifique a que unidad hacer la conversion, horas (h), minutos (m) o segundos: (s) "
conv<-tolower("h")

realizamos las operaciones y mostramos el resultado

if (tim_e == "s"  & conv == "h" ) {
  tim_h <- (tiempo *0.00027777)
  cat("los ", tiempo, " segundos convertido a horas es:", tim_h, "\n")
} else if (tim_e == "s"& conv == "m") {
  tim_m <- (tiempo * 0.0166667) 
  cat("los ", tiempo, " segundos convertido a minutos es:", tim_m, "\n")
} else if (tim_e == "s"& conv == "s") {
  tim_s <- (tiempo * 1) 
  cat("los ", tiempo, " segundos convertido a segundos es:", tim_s,"\n")
} else if (tim_e == "m"& conv == "s") {
  tim_s <- (tiempo * 60) 
  cat("los ", tiempo, " minutos convertido a segundos es:", tim_s, "\n")
} else if (tim_e == "m"& conv == "h") {
  tim_h <- (tiempo * 0.0166667) 
  cat("los ", tiempo, " minutos convertido a horas es:", tim_h, "\n")
} else if (tim_e == "m"& conv == "m") {
  tim_m <- (tiempo * 1) 
  cat("los ", tiempo, " minutos convertido a minutos es:", tim_m, "\n")
} else if (tim_e == "h"& conv == "m") {
  tim_m <- (tiempo * 60) 
  cat("las ", tiempo, " horas convertido a minutos es:", tim_m, "\n")
}else if (tim_e == "h"& conv == "h") {
  tim_h <- (tiempo * 1) 
  cat("las ", tiempo, " horas convertido a horas es:", tim_h, "\n")
} else if (tim_e == "h"& conv == "h") {
  tim_s <- (tiempo * 3600) 
  cat("lss ", tiempo, " horas convertido a segundos es:", tim_s, "\n")
} else{
  cat("Unidad no v??lida. Por favor, ingresa 'h' para horas 'm' para minutos o's' para segundos.\n")
}
## los  95  minutos convertido a horas es: 1.583336

EJERCICIO 7

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

definimos varios numeros

num1<-as.numeric(8)
num2<-as.numeric(-4)
num3<-as.numeric(6)
num4<-as.numeric(2)
num5<-as.numeric(9)
num6<-as.numeric(0)

definimos una variable como objeto y agregamos los numeros ingresados

numeros<- c(num1,num2,num3,num4,num5,num6)

mostramos los resultados

cat("Los números de forma descendiente son:", sort(numeros,decreasing = TRUE))
## Los números de forma descendiente son: 9 8 6 2 0 -4
cat("Los números de forma ascendiente son:", sort(numeros,decreasing = FALSE))
## Los números de forma ascendiente son: -4 0 2 6 8 9

Ejercicio 8

Escribir un programa que calcule el factorial de un número que ha sido digitado por el usuario

Solicitar el número al usuario, hacer los calculos y mostrar el resultado

num <-as.numeric(5)
if (num < 0 || floor(num) != num) {
  cat("Por favor ingresa un numero entero no negativo.\n")
} else {
  factorial <- 1
  for (i in 1:num) {
    factorial <- factorial * i
  }
  sol<-cat("El factorial de", num, "es:", factorial, "\n")
}
## El factorial de 5 es: 120

Ejercicio 9

Ver si un número es primo o no

Solicitar al usuario que ingrese un número

"Introduce un número: "
## [1] "Introduce un número: "
numero <- as.integer(13)

Comprobar si el número es menor o igual a 1, hacer los calculos correspondientes y mostrar el resultado

if (numero <= 1) {
  cat(numero, "no es un número primo.\n")
} else {
  es_primo <- TRUE
  for (i in 2:sqrt(numero)) {
    if (numero %% i == 0) {
      es_primo <- FALSE
      break
    }
  }
  if (es_primo) {
    cat(numero, "es un número primo.\n")
  } else {
    cat(numero, "no es un número primo.\n")
  }
}
## 13 es un número primo.

Ejercicio 10

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

Paso 1: Definimos a “número” como una var. numerica y con readline pedimos que se ingrese un numero

"Ingrese un número: "
## [1] "Ingrese un número: "
 f<- as.numeric(18)

Utilizando if y else definimos si es par o impar y mostramos los resultados

if(f %% 2==0){
    cat("El número",f, "es par")
  } else {
    cat("El número",f, "es impar")
  }
## El número 18 es par