##Taller 2 #PROBLEMAS#
#1.-Escribe un programa que solicite los catetos de un triángulo rectángulo y muestre su hipotenusa.# cat(“Programa que solicita los catetos de un triangulo rectangulo y muestre su hipotenusa”) cateto_a <- as.numeric(readline(“Ingrese el valor del primer cateto:”)) cateto_b <- as.numeric(readline(“Ingrese el valor del segundo cateto:”))
hipotenusa <- sqrt(cateto_a^2 + cateto_b^2)
cat(“La hipotenusa del triangulo es:”, hipotenusa, “”)
#2.-Escribe 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 de a:”)) b <- as.numeric(readline(“Ingrese el valor de b:”)) c <- as.numeric(readline(“Ingrese el valor de c:”))
discriminante <- b^2 - 4 * a * c
if (discriminante > 0) { x1 <- (-b + sqrt(discriminante)) / (2 * a) x2 <- (-b - sqrt(discriminante)) / (2 * a) cat(“Las soluciones son x1 =”, x1, “y x2 =”, x2, “”) } else if (discriminante == 0) { x <- -b / (2 * a) cat(“La solución única es x =”, x, “”) } else { cat(“La ecuación no tiene soluciones reales.”) }
#3.- Calcular el área del triángulo rectángulo dadas su base y altura.#
base <- as.numeric(readline(“Ingrese la base del triángulo:”)) altura <- as.numeric(readline(“Ingrese la altura del triángulo:”))
area <- (base * altura) / 2
cat(“El área del triángulo es:”, area, “”)
#4.-Calcular el área y perímetro de un rectángulo dado su base y altura
cat(“Programa que calcule el Área y Perímetro de un rectangulo ”)
base <- as.numeric(readline(“Ingrese la base del rectángulo:”)) altura <- as.numeric(readline(“Ingrese la altura del rectángulo:”))
area <- base * altura perimetro <- 2 * (base + altura)
cat(“El área del rectángulo es:”, area, “”) cat(“El perímetro del rectángulo es:”, perimetro, “”)
#5.- Calcular el promedio de 3 notas que estén entre 0 y 20 cat(“Programa que calcule el promedio de 3 notas ”)
nota1 <- as.numeric(readline(“Ingrese la primera nota (entre 0 y 20):”)) nota2 <- as.numeric(readline(“Ingrese la segunda nota (entre 0 y 20):”)) nota3 <- as.numeric(readline(“Ingrese la tercera nota (entre 0 y 20):”))
cat(“Nota 1:”, nota1, “”) cat(“Nota 2:”, nota2, “”) cat(“Nota 3:”, nota3, “”)
if ((nota1 >= 0 && nota1 <= 20) && (nota2 >= 0 && nota2 <= 20) && (nota3 >= 0 && nota3 <= 20)) { # Calcular el promedio promedio <- (nota1 + nota2 + nota3) / 3 # Mostrar el resultado cat(“El promedio de las tres notas es:”, promedio, “”) } else { cat(“Error: Todas las notas deben estar entre 0 y 20.”) }
#6.-Calcular el perimetro y el area de una circunferencia, dado el radio
radio <- as.numeric(readline(prompt = “Ingrese el radio de la circunferencia:”))
area <- pi * radio^2 perimetro <- 2 * pi * radio
cat(“Área de la circunferencia:”, round(area, 2), “”) cat(“Perímetro de la circunferencia:”, round(perimetro, 2), “”)
#7.- Calcular el área y perímetro de un trapecio dados su base mayor, base menor y altura.
base_mayor <- as.numeric(readline(“Ingrese la base mayor del trapecio:”)) base_menor <- as.numeric(readline(“Ingrese la base menor del trapecio:”)) altura <- as.numeric(readline(“Ingrese la altura del trapecio:”))
area <- ((base_mayor + base_menor) * altura) / 2 cat(“El área del trapecio es:”, area, “”)
#8.- Dados dos números, determinar cual 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. cat(“Dados dos números, determinar cual 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 ”)
numero1 <- as.numeric(readline(prompt = “Ingrese el primer número:”)) numero2 <- as.numeric(readline(prompt = “Ingrese el segundo número:”))
if (numero1 > numero2) { cat(“El número mayor es:”, numero1, “”) cat(“El número menor es:”, numero2, “”) } else if (numero1 < numero2) { cat(“El número mayor es:”, numero2, “”) cat(“El número menor es:”, numero1, “”) } else { cat(“Ambos números son iguales.”) }
#9.- Escribe un programa que lea dos números y muestre en la salida su suma, resta, multiplicación y división. cat(“Programa que pide dos numeros y hace las operaciones básicas ”)
numero1<-as.numeric(readline(“Ingrese el primer número: ”)) numero2<-as.numeric(readline(“Ingrese el segundo número: ”))
suma <- numero1 + numero2 resta <- numero1 - numero2 multiplicacion <- numero1 * numero2 division <- ifelse(numero2 != 0, numero1 / numero2, “La división entre 0 es una indeterminanción)”)
cat(“Suma:”, suma, “”) cat(“Resta:”, resta, “”) cat(“Multiplicación:”, multiplicacion, “”) cat(“División:”, division, “”)
#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. cat(“Realice un programa que pida una cantidad en dólares y como resultado se visualice el IVA y el valor total a pagar ”) cantidad <- as.numeric(readline(prompt = “Ingrese la cantidad en dólares:”))
iva <- cantidad * 0.12
total <- cantidad + iva
cat(“IVA (12%): $”, round(iva, 2), “”) cat(“Total a pagar: $”, round(total, 2), “”)
##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.##
temperatura <- as.numeric(readline(“Introduce la temperatura:”)) escala <- tolower(readline(“¿La temperatura igresada está en Fahrenheit o Celsius? (F/C):”))
if (escala == “f”) { #CONVERTIR TEMPERATURAS temperatura_convertida <- (temperatura - 32) * 5 / 9 cat(temperatura, “grados Fahrenheit son”, round(temperatura_convertida, 2), “grados Celsius”) } else if (escala == “c”) {
temperatura_convertida <- (temperatura * 9 / 5) + 32 cat(temperatura, “grados Celsius son”, round(temperatura_convertida, 2), “grados Fahrenheit”) } else { cat(“Escala no válida. Por favor, ingresa ‘F’ o ‘C’”) }
#EJERCICIO 2: 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.# us <- as.numeric(readline(“Ingrese el número de horas trabajadas:”))
costo<- as.numeric(readline(“Ingrese el costo por horas trabajadas:”))
extras <- as.numeric(readline(“Ingrese el número de horas extras trabajadas:”)) ## Ingrese el número de horas extras trabajadas: valor <- uscosto pagaextra <- (extras(costo*2)) sueldototal <- valor+pagaextra cat(“Su sueldo sin horas extras es de:”, valor, “dólares”) cat(“Su sueldo total es de:”, sueldototal, “dólares”)
#EJERCICIO 3: 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#
n <- as.integer(readline(“Introduce un numero entero positivo:”))
if (n > 0) {
suma <- n * (n + 1) / 2
cat(“La suma de los primeros”, n, “numeros enteros es:”, suma, “”) } else { cat(“Por favor, ingresa un numero entero positivo mayor que 0.”)
}
#EJERCICIO 4: 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
peso <- as.numeric(readline(“Por favor ingrese su peso en Kg:”))
## Por favor ingrese su peso en Kg: estatura <-
as.numeric(readline(“Por favor ingrese su estatura en metros:”)) imc
<- (peso/(estatura^2)) cat(“Tu indice de masa coorporal es
#EJERCICIO 5: 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#
cantidad_invertir <- as.numeric(readline( “Introduce la cantidad a invertir:”)) interes_anual <- as.numeric(readline(“Introduce el interés anual en porcentaje:”)) numero_anos <- as.numeric(readline(“Introduce el número de años:”))
capital_final <- cantidad_invertir * (1 + interes_anual / 100) ^ numero_anos
cat(“El capital obtenido después de”, numero_anos, “años será:”, round(capital_final, 2), “”)
#EJERCICIO 6: Solicitar al usuario que ingrese varios números n <- as.numeric(readline(prompt = “¿Cuántos números deseas ingresar?”))
numeros <- numeric(n)
for (i in 1:n) { numeros[i] <- as.numeric(readline(prompt = paste(“Ingresa el número”, i, “:”))) }
numeros_ordenados <- sort(numeros)
cat(“Los números ordenados son:”, numeros_ordenados, “”)
cantidad <- as.numeric(readline(“Ingrese la cantidad de tiempo:”)) unidad_origen <- tolower(readline(“¿En qué unidad está el tiempo? (horas, minutos, segundos):”)) unidad_destino <- tolower(readline(“¿A qué unidad desea convertir? (horas, minutos, segundos):”))
if (unidad_origen == “horas”) { tiempo_en_segundos <- cantidad * 3600 # 1 hora = 3600 segundos } else if (unidad_origen == “minutos”) { tiempo_en_segundos <- cantidad * 60 # 1 minuto = 60 segundos } else { tiempo_en_segundos <- cantidad # Ya está en segundos }
if (unidad_destino == “horas”) { resultado <- tiempo_en_segundos / 3600 # Convertir segundos a horas } else if (unidad_destino == “minutos”) { resultado <- tiempo_en_segundos / 60 # Convertir segundos a minutos } el… <- as.numeric(readline(“¿Cuántos números deseas ingresar?”))
numeros <- numeric(n)
for (i in 1:n) { numeros[i] <- as.numeric(readline(prompt = paste(“Ingresa el número”, i, “:”))) }
numeros_ordenados <- sort(numeros)
cat(“Los números ordenados son:”, numeros_ordenados, “”)
#Ejercicio 7
cantidad <- as.numeric(readline(“Ingrese la cantidad de tiempo:”)) unidad_origen <- tolower(readline(“¿En qué unidad está el tiempo? (horas, minutos, segundos):”)) unidad_destino <- tolower(readline(“¿A qué unidad desea convertir? (horas, minutos, segundos):”))
if (unidad_origen == “horas”) { tiempo_en_segundos <- cantidad * 3600 # 1 hora = 3600 segundos } else if (unidad_origen == “minutos”) { tiempo_en_segundos <- cantidad * 60 # 1 minuto = 60 segundos } else { tiempo_en_segundos <- cantidad # Ya está en segundos }
if (unidad_destino == “horas”) { resultado <- tiempo_en_segundos / 3600 # Convertir segundos a horas } else if (unidad_destino == “minutos”) { resultado <- tiempo_en_segundos / 60 # Convertir segundos a minutos } else { resultado <- tiempo_en_segundos # Ya está en segundos }
cat(“El resultado de la conversión es:”, resultado, unidad_destino, “”)
#Ejercicio 8 n <- as.numeric(readline(“¿Cuántos números deseas ingresar?”))
numeros <- numeric(n)
for (i in 1:n) { numeros[i] <- as.numeric(readline(prompt = paste(“Ingresa el número”, i, “:”))) }
numeros_ordenados <- sort(numeros)
cat(“Los números ordenados son:”, numeros_ordenados, “”)
#Ejercicio 9 numero <- as.numeric(readline(prompt = “Introduce un número para calcular su factorial:”))
if (numero < 0) { print(“El factorial no está definido para números negativos.”) } else {
factorial <- 1 for (i in 1:numero) { factorial <- factorial * i }
print(paste(“El factorial de”, numero, “es”, factorial)) }
#Ejercicio 10
numero <- as.numeric(readline(prompt = “Introduce un número para verificar si es primo:”))
if (numero < 2) { print(“El número no es primo.”) } else { es_primo <- T
for (i in 2:sqrt(numero)) { if (numero %% i == 0) {
es_primo <- F
break
}
}
if (es_primo) { print(paste(“El número”, numero, “es primo.”)) } else { print(paste(“El número”, numero, “no es primo.”)) } }