“Grupo N°3” ” Integrantes: Ayala Tania” ” Callatasig Katherine” ” Iñiguez Yessica” ” Vera Melany”
## Ejercicio 1
# 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).
# Nota: Debemos instalar el paquete svDialogs y activar la libreria
library(svDialogs)
# Paso 1. Realizamos una función para calcular el factorial de un número
facto <- function(n){
fact = 1
for (i in 1:n){
fact <- fact*i
}
return(print(paste("El factorial del valor", n,"!", "es =", fact)))
}
# Paso 2. LLamamos a la funcion y pedimos que ingrese el numero para calcular su factorial
facto(n<-dlgInput(message="Ingrese por favor un numero para calcular el factorial: ")$res)
## 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.
# Paso 1. En una variable sacamos un aleatorio de 1 hasta 100 y ponemos un contador.
aleatorio<-sample(1:100,1)
contador<-1
# Paso 2. Utilizando la función while para realizar el ejercicio con las condiciones requeridas.
while (contador<11)
{
num<- dlgInput(message="INGRESE UN NUMERO:")$res
if (num==aleatorio)
{
resul<-paste(" ACERTASTE EN EL INTENTO: ",contador, " EL NUMERO ERA: ", aleatorio)
winDialog(message=resul)
contador<-12
} else
{
if (num>aleatorio)
{
winDialog(message="EL NUMERO ES MUY ALTO")
} else
{
if (num<aleatorio)
{
winDialog(message="EL NUMERO ES MUY BAJO")
}
}
}
if (contador == 10)
{
x<-paste("SE TERMINARON LOS INTENTOS, EL NUMERO ERA:",aleatorio)
winDialog(message=x)
}
contador<-contador+1
}
## Ejercicio 3
## Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos.
#Asignación de variables
#Asignación de una variable para la suma de todos los números
a<- 0
#Asignación de una variable como contador
num<- 1
#Se usa la función while (mientras) que es un bucle diseñado para ejecutar
#el código hasta que se cumpla una condición
while (num>0){
a[num]<- as.numeric(readline("Ingrese un nÚmero: "))
if ( a[num] == 0){
print(cat("La suma de los números es ", sum(a)," "))
print(cat("La media de los números es", sum(a)/(num-1)," "))
break
}
num<-num+1
}
# Ejercicio 4
# 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.
#Asignación de diferentes variables que funcionen como contadores
p<-0
#Contador para valores mayores que 0
c1<-0
#Contador para valores menores que 0
c2<-0
#Contador para valores iguales a 0
c3<-0
#Asignación de la función as.numeric para solicitar el ingreso de datos al usuario.
s<- as.numeric(readline("ingrese la cantidad de numeros: "))
#Se usa la función for que es una iteración repetitiva para ejecutar el código.
for (i in 1:s) {
p[i]<- as.numeric(readline("ingrese un numero: "))
if (p[i]>0){
c1<- c1+1
}
if (p[i]<0){
c2<- c2+1
}
if (p[i]==0){
c3<- c3+1
}
}
#Aplicación de la función cat ()
cat("\n Hay",c1,"números mayores que 0\n",
"Hay",c2,"números menores que 0\n",
"Hay",c3,"números iguales a 0\n")
# Ejercicio 5
# Algoritmo que pida caracteres e imprima ‘VOCAL’ si son vocales y ‘NO VOCAL’ en caso contrario, el programa termina cuando se introduce un espacio.
#Comenzaremos por asignar un valor de ” ” (espacio)
#para que termine cuando se ingrese un espacio:
caracter<- " "
#Se utiliza un bucle de while
#colocando un bucle for
#y declara todas las vocales para determinar si es o no una vocal.
while(caracter!= "")
{
caracter<- readline("Ingrese un caracter:")$res
for(i in caracter)
{
if(i== "a" | i== "e" | i== "i" | i== "o" | i== "u")
{
print(paste(i,"Es Vocal"))
}else
{
print(paste(i,"No es Vocal"))
}
}
}
# Ejercicio 6
# Escribir un programa que imprima todos los números pares entre dos números que se le pidan al usuario.
pares<-function(x,y) {
for(pares in x:y) {
if(pares%%2==0)
print(pares)
}
}
#Se contarán todos los pares del número ingresado del 1 al 10.
pares(1,10)
## [1] 2
## [1] 4
## [1] 6
## [1] 8
## [1] 10
# Ejercicio 7
# Realizar una algoritmo que muestre la tabla de multiplicar de un número introducido por teclado.
#Asignación de la función as.numeric para solicitar el numero.
y<- as.numeric(readline("ingrese un numero para obtener su tabla de multiplicar: "))
#Proceso para resolver el ejercicio con el bucle for y el comando if
cat("Tabla de multiplicar del ",y,"\n")
for (x in c(1:12)) {
if(x<=12){
z<-x*y
print(paste0(x,"*",y," = ",z))}
}
# Ejercicio 8
# 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:
# La suma de los números que están dentro del intervalo (intervalo abierto).
# Cuantos números están fuera del intervalo.
# He informa si hemos introducido algún número igual a los límites del intervalo.
#Procedimiento
#Instalar el paquete "svDialogs"
install.packages("svDialogs")
library(svDialogs)
#Determinar el limite superior y el inferior
num <- 1
suma <- 0
contador <- 0
lim_inferior <- as.numeric(dlgInput(message="Inserte el lC-mite inferior")$res);
lim_superior <- as.numeric(dlgInput(message="Inserte el lC-mite superior")$res)
while(num != 0)
{
if (lim_inferior > lim_superior) {
lim_superior <- as.numeric(dlgInput(message="Inserte el lC-mite superior")$res)
} else {
num<-as.numeric(dlgInput(message="Inserte un número")$res)
suma<- suma + num
contador<- contador +1
}
}
num <- sample(0:11,1)
if (num>lim_inferior & num<lim_superior){
suma <- suma+num
}
if (num<lim_inferior | num>lim_superior){
cont=cont+1
}
if (num==lim_inferior | num==lim_superior){
cat(num,"es igual a uno de los limites \n")
}
print(paste("La suma de las cantidades del intevalo es:", suma));
print(paste("Se ingresaron:", contador, "números fuera del intervalo"))
# 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.
f2 <- function(base, exponente){
potencia <- 1
for (i in 1:exponente)
{
potencia<- potencia*base
}
return(print(paste(base, "elevado a:", exponente, "es =", potencia)))
}
f2(base<-as.numeric(dlgInput(message="Ingrese un número para la base:")$res),
exponente<-as.numeric(dlgInput(message="Ingrese un número para el exponente:")$res))
# Ejercicio 10
# Algoritmo que muestre la tabla de multiplicar de los números 1,2,3,4 y 5.
for (i in 1:5) {
cat("TABLA DEL",i,"\n")
for (j in 1:12) {
cat(i,"x",j,"=",i*j,"\n")
}
}