Mis Conocimientos en RPUBS
##Escribir un programa que solicite los catetos de un triángulo rectángulo**
##y muestre su hipotenusa**
#Cateto1<-as.numeric(readline("Ingresa el valor del primer cateto: "))**
#Cateto2<-as.numeric(readline("Ingresa el valor del segundo cateto: "))
Cateto1 <- 2
Cateto2 <- 3
#Calculamos su hipotenusa
hipotenusa<- sqrt(Cateto1^2 + Cateto2^2)
#Imprimimos el resultado
cat("La hipotenusa es:", hipotenusa)
## La hipotenusa es: 3.605551
##EJERCICIO 2
##Escribir un programa que calcule las soluciones de una ecuación de
##segundo grado de la forma ax2+bx+c=0
##a <- as.numeric(readline("Ingrese el valor del coeficiente a: "))
a <- 1
##b <- as.numeric(readline("Ingrese el valor del coeficiente b: "))
b <- -3
##c <- as.numeric(readline("Ingrese el valor del coeficiente c: "))
c <- 2
d <- b^2 - 4*a*c
cat("El discriminante es =", d)
## El discriminante es = 1
if(d > 0) {
x1 <- (-b + sqrt(d))/(2*a)
x2 <- (-b - sqrt(d))/(2*a)
cat("Respuestas =", x1, "\nx2 =", x2)
} else if(d == 0) {
x <- -b/(2*a)
cat("Respuestas:\nx =", x)
} else {
real <- -b/(2*a)
imag <- sqrt(abs(d))/(2*a)
cat("Respuestas:\ =", real, "+", imag, " =", real, "-", imag, "i")
}
## Respuestas = 2
## x2 = 1
##EJERCICIO 3
##Calcular el área del triángulo rectángulo dadas su base y altura
##base <- as.numeric(readline("Ingrese la base del triángulo: "))
base <- 5
##altura <- as.numeric(readline("Ingrese la altura del triángulo: "))
altura <- 10
area <- (base * altura) / 2
cat("El área del triángulo es:", area)
## El área del triángulo es: 25
##EJERCICIO 4
##Calcular el área y perímetro de un rectángulo dado su base y altura
##B <- as.numeric(readline(prompt = 'Ingrese la base de su rectángulo: '))
B <- 4
##H <- as.numeric(readline(prompt = 'Ingrese la altura de su rectángulo: '))
H <- 8
area <- B * H
perimetro <- 2 * (B + H)
cat('El área del rectángulo es:', area, '\n')
## El área del rectángulo es: 32
cat('El perímetro del rectángulo es:', perimetro, '\n')
## El perímetro del rectángulo es: 24
##EJERCICIO 5
##Calcular el promedio de 3 notas que estén entre 0 y 20
cat("Ingresa tres notas entre 0 y 20:\n")
## Ingresa tres notas entre 0 y 20:
##nota1 <- as.numeric(readline("Nota 1: "))
nota1 <- 15
##nota2 <- as.numeric(readline("Nota 2: "))
nota2 <- 14
##nota3 <- as.numeric(readline("Nota 3: "))
nota3 <- 16
if (any(c(nota1, nota2, nota3) < 0) | any(c(nota1, nota2, nota3) > 20)) {
cat("ERROR: LAS NOTAS DEBEN ESTAR ENTRE 0 Y 20")
} else {
promedio <- round((nota1 + nota2 + nota3) / 3, 2)
cat("\nSu promedio es:", promedio)
if (promedio > 14) {
cat("\nFelicidades, tienes un buen promedio")
} else {
cat("\nDebes mejorar tu promedio")
}
}
##
## Su promedio es: 15
## Felicidades, tienes un buen promedio
##EJERCICIO 6
##Calcular el área y el perímetro de la circunferencia, dado el radio
##B <- as.numeric(readline(prompt = 'Ingrese la base de su rectángulo: '))
B <- 6
##H <- as.numeric(readline(prompt = 'Ingrese la altura de su rectángulo: '))
H <- 4
area <- B * H
perimetro <- 2 * (B + H)
cat('El área del rectángulo es:', area, '\n')
## El área del rectángulo es: 24
cat('El perímetro del rectángulo es:', perimetro, '\n')
## El perímetro del rectángulo es: 20
##radio <- readline(prompt="Ingrese el radio de la circunferencia :")
radio <- "7"
n1 <- as.numeric(radio)
class(n1)
## [1] "numeric"
radio_cuadrado <- n1*n1
area <- pi*radio_cuadrado
perimetro <- 2*(pi*n1)
cat("El área de la circunferencia con radio",n1,"es:",area)
## El área de la circunferencia con radio 7 es: 153.938
cat("El perímetro de la circunferencia con radio",n1,"es:",perimetro)
## El perímetro de la circunferencia con radio 7 es: 43.9823
##EJERCICIO 7
##Calcular el área y perímetro de un trapecio dados su base mayor, base menor y la altura
##A<- as.numeric(readline(prompt = "Ingrese la base menor del trapecio :"))
A <- 4
##B <- as.numeric(readline(prompt = "Ingrese la base mayor del trapecio :"))
B <- 10
##altura <- as.numeric(readline(prompt = "Ingrese la altura del trapecio :"))
altura <- 5
area <- ((A+B)*altura)/2
medida <- (B-A)/2
C_cuadrado <- (altura^2)+(medida^2)
C <- sqrt(C_cuadrado)
perimetro <- A+B+(C*2)
cat("El área del trapecio de altura",altura,"es :",area)
## El área del trapecio de altura 5 es : 35
cat("El perímetro del trapecio de altura",altura,"es:",perimetro)
## El perímetro del trapecio de altura 5 es: 25.6619
##EJERCICIO 8
##Dados dos números, determinar cuál es el mayor y cuál es el menor.
##Si los dos números son iguales el mensaje debe decir que son números iguales
##n1 <- as.numeric(readline(prompt = "Ingrese el primer número:"))
n1 <- 8
##n2 <- as.numeric(readline(prompt = "Ingrese el segundo número:"))
n2 <- 12
if(n1 > n2) {
cat("El número mayor es:",n1,"\n")
cat("El número menor es:",n2,"\n")
} else {
if(n1 == n2) {
cat("Son números iguales")
} else {
cat("El número mayor es:",n2,"\n")
cat("El número menor es:",n1,"\n")
}
}
## El número mayor es: 12
## El número menor es: 8
##EJERCICIO 9
##Escribe un programa que lea dos números y muestre en la salida su suma, resta, multiplicación y división
##num1 <- as.numeric(readline(prompt = 'Ingrese el primer número: '))
num1 <- 20
##num2 <- as.numeric(readline(prompt = 'Ingrese el segundo número: '))
num2 <- 4
suma <- num1 + num2
resta <- num1 - num2
multiplicacion <- num1 * num2
if (num2 != 0) {
division <- num1 / num2
} else {
division <- 'Indefinida (división por cero)'
}
cat('La suma de los números es:', suma, '\n')
## La suma de los números es: 24
cat('La resta de los números es:', resta, '\n')
## La resta de los números es: 16
cat('La multiplicación de los números es:', multiplicacion, '\n')
## La multiplicación de los números es: 80
cat('La división de los números es:', division, '\n')
## La división de los números es: 5
##EJERCICIO 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
##cantidad <- as.numeric(readline(prompt = 'Ingrese la cantidad en dólares: '))
cantidad <- 100
total <- cantidad * 1.12
cat('El valor total a pagar es:', total, 'dólares\n')
## El valor total a pagar es: 112 dólares
TALLER 3
# **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
# * Pedir al usuario la temperatura
## temp <- as.numeric(readline(prompt = "Ingrese la temperatura: "))
temp <- 25 # ejemplo: temperatura fija
# * Transformacion de medida
fahrenheit <- 32
celsius <- 9/5
# * Calculo
medida <- (temp * celsius) + 32
medida2 <- (temp - fahrenheit) * (5/9)
# * Resultados
cat("La temperatura ingresada en celsius es: ", medida, "°", "\n")
## La temperatura ingresada en celsius es: 77 °
cat("La temperatura ingresada en fahrenheit es: ", medida2, "F", "\n")
## La temperatura ingresada en fahrenheit es: -3.888889 F
# **Ejercicio 2**
# Escribir un programa que pregunte al usuario por el número de horas trabajadas
# y el coste por hora. Además debe preguntar si existen horas extras.
# * Ingreso de datos
## horas <- as.numeric(readline(prompt = "Ingrese las horas trabajadas : "))
## coste <- as.numeric(readline(prompt = "Ingrese el coste por hora :"))
horas <- 8
coste <- 15
# * Calculo
h_trabaja <- (470 / horas)
total <- (coste * h_trabaja)
# * Resultados
cat("El número total de horas de trabajo es: ", total, "\n")
## El número total de horas de trabajo es: 881.25
## extra <- as.character(readline(prompt = "Tiene horas extra:"))
extra <- "Si"
# * Condicion
if (extra == "Si") {
## num <- as.numeric(readline(prompt = "Ingrese el valor extra"))
num <- 10
} else {
cat("El valor total de horas trabajadas es: ", total, "\n")
}
## sup_extra <- as.character(readline(prompt = "Su hora extra es suplementaria o extraordinaria :"))
sup_extra <- "suplementaria"
# * Calculo de horas extras
if (sup_extra == "suplementaria") {
suple <- num * 0.5
total1 <- total + suple
cat("El total más horas extras es: ", total1, "\n")
} else {
ordi <- num * 1
total2 <- total + ordi
cat("El total más horas extras es: ", total2, "\n")
}
## El total más horas extras es: 886.25
# **Ejercicio 3**
# Leer un entero positivo n y calcular la suma de los primeros n números
# * Ingreso de Datos
## n <- as.numeric(readline(prompt = "Ingrese un número positivo: "))
n <- 10
# * Calculo
suma <- (n * (n + 1)) / 2
# * Mostrar el resultado
cat("La suma de los primeros", n, "números positivos es:", suma, "\n")
## La suma de los primeros 10 números positivos es: 55
# **Ejercicio 4**
# Calcular el índice de masa corporal (IMC)
# * Ingreso de Datos
## peso <- as.numeric(readline(prompt = "Ingrese el peso en Kg: "))
## estatura <- as.numeric(readline(prompt = "Ingrese su estatura en metros: "))
peso <- 70
estatura <- 1.75
# * Calculo
imc <- (peso / (estatura)^2)
# * Mostrar resultados
cat("Tu índice de masa corporal es: ", round(imc, digits = 2), "\n")
## Tu índice de masa corporal es: 22.86
# **Ejercicio 5**
# Calcular el capital obtenido por una inversión
# * Ingreso de Datos
## monto <- as.numeric(readline(prompt = "Ingrese el monto para invertir: "))
## interes <- as.numeric(readline(prompt = "Ingrese el interés anual en porcentaje:"))
## años <- as.numeric(readline(prompt = "Ingrese el número de años: "))
monto <- 1000
interes <- 5
años <- 3
# * Calculo
interes_deci <- interes / 100
capital_final <- monto * (1 + interes_deci)^años
# * Mostrar resultados
cat("El capital obtenido después de", años, "años será:", capital_final, "\n")
## El capital obtenido después de 3 años será: 1157.625
# **Ejercicio 6**
# Conversión de unidades de tiempo
## tiempo <- as.numeric(readline(prompt = "Ingrese la cantidad de tiempo: "))
tiempo <- 2
## unidad_origen <- tolower(readline(prompt = "Ingrese la unidad actual (horas, minutos, segundos): "))
unidad_origen <- "horas"
## unidad_destino <- tolower(readline(prompt = "Ingrese la unidad a la que desea convertir (horas, minutos, segundos): "))
unidad_destino <- "minutos"
# * Inicializar la variable
resultado <- 0
# * Realizar la conversión
if (unidad_origen == "horas" && unidad_destino == "minutos") {
resultado <- tiempo * 60
} else if (unidad_origen == "horas" && unidad_destino == "segundos") {
resultado <- tiempo * 3600
} else if (unidad_origen == "minutos" && unidad_destino == "horas") {
resultado <- tiempo / 60
} else if (unidad_origen == "minutos" && unidad_destino == "segundos") {
resultado <- tiempo * 60
} else if (unidad_origen == "segundos" && unidad_destino == "horas") {
resultado <- tiempo / 3600
} else if (unidad_origen == "segundos" && unidad_destino == "minutos") {
resultado <- tiempo / 60
} else if (unidad_origen == unidad_destino) {
resultado <- tiempo
} else {
cat("Unidad de tiempo inválida o no soportada para conversión.\n")
quit()
}
# * Mostrar resultado
cat("El tiempo convertido es:", resultado, unidad_destino, "\n")
## El tiempo convertido es: 120 minutos
# **Ejercicio 7**
# Ordenar una serie de números
## n <- as.numeric(readline(prompt = "¿Cuántos números desea ingresar? "))
n <- 5
# * Inicializar vector
numeros <- numeric(n)
# * Bucle para ingreso
for (i in 1:n) {
## numeros[i] <- as.numeric(readline(prompt = paste("Ingrese el número", i, ": ")))
numeros[i] <- i * 2 # ejemplo fijo: 2, 4, 6, 8, 10
}
# * Ordenar y mostrar
numeros_ordenados <- sort(numeros)
cat("Los números ordenados son:", numeros_ordenados, "\n")
## Los números ordenados son: 2 4 6 8 10
# **Ejercicio 8**
# Calcular factorial
## numero <- as.numeric(readline(prompt = "Ingrese un número para calcular su factorial: "))
numero <- 5
# * Inicializar resultado
factorial_result <- 1
# * Bucle
for (i in 1:numero) {
factorial_result <- factorial_result * i
}
# * Mostrar
cat("El factorial de", numero, "es:", factorial_result, "\n")
## El factorial de 5 es: 120
# **Ejercicio 9**
# Verificar si un número es primo
## num <- as.numeric(readline(prompt = "Ingrese un número para verificar si es primo: "))
num <- 7
es_primo <- TRUE
if (num <= 1) {
es_primo <- FALSE
} else {
for (i in 2:floor(sqrt(num))) {
if (num %% i == 0) {
es_primo <- FALSE
break
}
}
}
if (es_primo) {
cat(num, "es un número primo\n")
} else {
cat(num, "no es un número primo\n")
}
## 7 es un número primo
# **Ejercicio 10**
# Verificar si un número es par o impar
## num <- as.numeric(readline(prompt = "Ingrese un número para verificar si es par o impar: "))
num <- 8
if (num %% 2 == 0) {
cat(num, "es un número par\n")
} else {
cat(num, "es un número impar\n")
}
## 8 es un número par