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

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 :”,round(imc,2))

#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.”)) } }