Crea una aplicación que pida un número y calcule su factorial (El factorial de un número es el producto de todos los enteros entre 1 y el propio número y se representa por el número seguido de un signo de exclamación. Por ejemplo 5! = 1x2x3x4x5=120)
library(svDialogs)
## Warning: package 'svDialogs' was built under R version 4.3.2
facto <- function(n){
fact = 1
for (i in 1:n){
fact <- fact*i
}
return(print(paste("El factorial del valor", n,"!", "es =", fact)))
}
# facto(n<-dlgInput(message="Ingrese por favor un numero para calcular el factorial: ")$res)
facto(5)
## [1] "El factorial del valor 5 ! es = 120"
##Ejercicio 2
Crea una aplicación que permita adivinar un número. La aplicación genera un número aleatorio del 1 al 100. A continuación va pidiendo números y va respondiendo si el número a adivinar es mayor o menor que el introducido,a demás de los intentos que te quedan (tienes 10 intentos para acertarlo). El programa termina cuando se acierta el número (además te dice en cuantos intentos lo has acertado), si se llega al limite de intentos te muestra el número que había generado.
aleatorio<-sample(1:100,1)
contador<-1
while (contador<11)
{
# num<- dlgInput(message="INGRESE UN NUMERO:")$res
num <- aleatorio
if (num==aleatorio)
{
#resul<-paste("ACERTASTE EN EL INTENTO EL NUMERO ERA:", aleatorio)
#winDialog(message=resul)
print("ACERTASTE EN EL INTENTO EL NUMERO ERA")
contador<-12
} else
{
if (num>aleatorio)
{
#winDialog(message="EL NUMERO ES MUY ALTO")
print("EL NUMERO ES MUY ALTO")
} else
{
if (num<aleatorio)
{
#winDialog(message="EL NUMERO ES MUY BAJO")
print("EL NUMERO ES MUY BAJO")
}
}
}
if (contador == 10)
{
#x<-paste("SE TERMINARON LOS INTENTOS, EL NUMERO ERA:",aleatorio)
#winDialog(message=x)
print("SE TERMINARON LOS INTENTOS, EL NUMERO ERA:",aleatorio)
}
contador<-contador+1
}
## [1] "ACERTASTE EN EL INTENTO EL NUMERO ERA"
Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos.
count <- 0
contador <- 0
suma_media <- function(num) {
repeat {
#num <- as.numeric(dlgInput("Ingrese un numero: ")$res)
num <- 0
contador <- contador + 1
count <- count + num
suma <- sum(count)
media <- (suma/contador)
if(num == 0) {
break }
else {
print(paste("LA SUMA ES:", suma));print(paste("LA MEDIA ES:", media))
}
}
}
suma_media()
Realizar un algoritmo que pida números (se pedirá por teclado la cantidad de números a introducir). El programa debe informar de cuantos números introducidos son mayores que 0, menores que 0 e iguales a 0.
#cantidad_numeros <- as.integer(readline("Ingresa la cantidad de números a introducir: "))
cantidad_numeros <- 2
numeros_mayores <- 0
numeros_menores <- 0
numeros_iguales <- 0
for (i in 1:cantidad_numeros) {
#numero <- as.numeric(readline(paste("Ingresa el número", i, ": ")))
numero <- 0
if (numero > 0) {
numeros_mayores <- numeros_mayores + 1
} else if (numero < 0) {
numeros_menores <- numeros_menores + 1
} else {
numeros_iguales <- numeros_iguales + 1
}
}
cat("Números mayores que 0:", numeros_mayores, "\n")
## Números mayores que 0: 0
cat("Números menores que 0:", numeros_menores, "\n")
## Números menores que 0: 0
cat("Números iguales a 0:", numeros_iguales, "\n")
## Números iguales a 0: 2
Algoritmo que pida caracteres e imprima ‘VOCAL’ si son vocales y ‘NO VOCAL’ en caso contrario, el programa termina cuando se introduce un espacio.
vocales <- function(caracter1) {
repeat {
caracter1 <- as.character(readline("Ingrese una letra: "))
caracter1 <- 0
if(caracter1 == "a" | caracter1 == "e" | caracter1 == "i" | caracter1 == "o" | caracter1 == "u" & caracter1 != " "){
cat(caracter1, "es una vocal")
} else {
if(caracter1 == 0) {
break }
else {
cat(caracter1, "no es una vocal")
}
}
}
}
vocales()
## Ingrese una letra:
Escribir un programa que imprima todos los números pares entre dos números que se le pidan al usuario.
num_pares<-function(num1){
#num1<-as.numeric(dlgInput(message="Ingrese el primer numero:")$res)
num1 <- 2
#num2<-as.numeric(dlgInput(message="Ingrese el segundo numero:")$res)
num2 <- 2
for(i in num1:num2)
{if(i%% 2 ==0){
print(paste(i,"ES PAR"))
}else{
print(paste(i,"ES IMPAR"))
}
}
}
num_pares()
## [1] "2 ES PAR"
##Ejercicio 7
Realizar una algoritmo que muestre la tabla de multiplicar de un número introducido por teclado.
#numero <- as.integer(readline("Ingresa un número para la tabla de multiplicar: "))
numero <- 2
for (i in 1:12) {
resultado <- numero * i
cat(numero, "x", i, "=", resultado, "\n")
}
## 2 x 1 = 2
## 2 x 2 = 4
## 2 x 3 = 6
## 2 x 4 = 8
## 2 x 5 = 10
## 2 x 6 = 12
## 2 x 7 = 14
## 2 x 8 = 16
## 2 x 9 = 18
## 2 x 10 = 20
## 2 x 11 = 22
## 2 x 12 = 24
Escribe un programa que pida el limite inferior y superior de un intervalo. Si el límite inferior es mayor que el superior lo tiene que volver a pedir. A continuación se van introduciendo números hasta que introduzcamos el 0. Cuando termine el programa dará las siguientes informaciones:
#limite_inferior <- as.integer(readline("Ingresa el límite inferior del intervalo: "))
limite_inferior <- 1
#limite_superior <- as.integer(readline("Ingresa el límite superior del intervalo: "))
limite_superior <- 3
while (limite_inferior > limite_superior) {
cat("El límite inferior debe ser menor o igual al límite superior.\n")
#limite_inferior <- as.integer(readline("Ingresa el límite inferior del intervalo: "))
limite_inferio <- 1
#limite_superior <- as.integer(readline("Ingresa el límite superior del intervalo: "))
limite_superior <- 3
}
suma_intervalo <- 0
numeros_fuera_intervalo <- 0
numeros_iguales_limites <- FALSE
repeat {
#numero <- as.integer(readline("Ingresa un número (0 para terminar): "))
numero <- 0
if (numero == 0) {
break
}
if (numero > limite_inferior && numero < limite_superior) {
suma_intervalo <- suma_intervalo + numero
} else {
numeros_fuera_intervalo <- numeros_fuera_intervalo + 1
}
if (numero == limite_inferior || numero == limite_superior) {
numeros_iguales_limites <- TRUE
}
}
cat("Suma de números dentro del intervalo:", suma_intervalo, "\n")
## Suma de números dentro del intervalo: 0
cat("Cantidad de números fuera del intervalo:", numeros_fuera_intervalo, "\n")
## Cantidad de números fuera del intervalo: 0
if (numeros_iguales_limites) {
cat("Se ingresó al menos un número igual a los límites del intervalo.\n")
}
##Ejercicio 9
Escribe un programa que dados dos números, uno real (base) y un entero positivo (exponente), saque por pantalla el resultado de la potencia. No se puede utilizar el operador de potencia.
#base <- as.numeric(readline("Ingresa la base (real): "))
base <- 2
#exp <- as.integer(readline("Ingresa el exponente (entero positivo): "))
exp <- 3
resultado <- base ^ exp
cat("El resultado de", base, "elevado a la", exp, "es:", resultado, "\n")
## El resultado de 2 elevado a la 3 es: 8
Algoritmo que muestre la tabla de multiplicar de los números 1,2,3,4 y 5.
tabla<- 1:5
for(i in 1:9)
{
mult<- tabla*i
print(paste(i, "x", tabla, "=", mult))
}
## [1] "1 x 1 = 1" "1 x 2 = 2" "1 x 3 = 3" "1 x 4 = 4" "1 x 5 = 5"
## [1] "2 x 1 = 2" "2 x 2 = 4" "2 x 3 = 6" "2 x 4 = 8" "2 x 5 = 10"
## [1] "3 x 1 = 3" "3 x 2 = 6" "3 x 3 = 9" "3 x 4 = 12" "3 x 5 = 15"
## [1] "4 x 1 = 4" "4 x 2 = 8" "4 x 3 = 12" "4 x 4 = 16" "4 x 5 = 20"
## [1] "5 x 1 = 5" "5 x 2 = 10" "5 x 3 = 15" "5 x 4 = 20" "5 x 5 = 25"
## [1] "6 x 1 = 6" "6 x 2 = 12" "6 x 3 = 18" "6 x 4 = 24" "6 x 5 = 30"
## [1] "7 x 1 = 7" "7 x 2 = 14" "7 x 3 = 21" "7 x 4 = 28" "7 x 5 = 35"
## [1] "8 x 1 = 8" "8 x 2 = 16" "8 x 3 = 24" "8 x 4 = 32" "8 x 5 = 40"
## [1] "9 x 1 = 9" "9 x 2 = 18" "9 x 3 = 27" "9 x 4 = 36" "9 x 5 = 45"