UNIVERSIDAD CENTRAL DEL ECUADOR

                            Facultad de Ciencias Económicas

                        Colaborador Ing. Francisco Valverde PhD
               

EJERCICIOS EN R

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).
Funciones:
El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos de un vector o lista.
El comando function() permite definir una función dentro de otra función, es decir, se puede utilizar como argumento para otras funciones o se pueden ejecutar desde otras funciones.
La función return() procesa datos y devuelven los resultados.
#factorial_num <- function(n){
 # factorial <- 1
  #for (i in 1:n){
   # factorial <- factorial*i
  #}
  #return(print(paste("EL FACTORIAL DE:", n, "ES =", factorial)))
#}
#factorial_num(n<-dlgInput(message="INGRESE EL NUMERO A 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 elnú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.

Funciones:

El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
El comando else (de otro modo) es usado para indicarle a R qué hacer en caso de la condición de un if no se cumpla.
El comando while es muy útil para repetir un procedimiento siempre que se cumple una condición.
#aleatorio<-sample(1:100,1)
#contador<-1
#while (contador<11) 
#{
 # num<- dlgInput(message="INGRESE UN NUMERO:")$res
  #if (num==aleatorio)
  #{
   # resul<-paste("ACERTASTE EN EL INTENTO:", i)
    #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.

Funciones:

El comando while es muy útil para repetir un procedimiento siempre que se cumple una condición.
#CON VENTANAS EMERGENTES:
#suma<- 0
#contador<- 0
#num<- 1
#while(num!= 0)
#{
 # num<- as.numeric(dlgInput(message= "INGRESE UN NUMERO")$res)
  #suma<- suma + num
  #contador<-contador+1
  #media<-suma/contador
#}
#x<-paste("LA SUMA ES:",suma);winDialog(message=x);y<-paste("LA MEDIA #ES:",media);winDialog(message=y)

####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.

Funciones:

El comando function() permite definir una función dentro de otra función, es decir, se puede utilizar como argumento para otras funciones o se pueden ejecutar desde otras funciones.
El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
El comando else (de otro modo) es usado para indicarle a R qué hacer en caso de la condición de un if no se cumpla.
El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos de un vector o lista.
#numeros<-function(num1)
#{
 # for (i in num1)
  #{
   # if(i==0)
    #{
     # print(paste(i,"ES IGUAL A 0"))
    #}else
    #{if(i> 0)
    #{
     # print(paste(i," ES MAYOR A 0"))
    #}else
   # {
    #  print(paste(i," ES MENOR A 0")) 
    #}
    #}
#  }
#}
#numeros(num1<-scan(what= numeric()))

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.

Funciones

El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
El comando else (de otro modo) es usado para indicarle a R qué hacer en caso de la condición de un if no se cumpla.
vocales<-as.character(readline("Dijite el caracter :"))
## Dijite el caracter :
vocales
## [1] ""
if(vocales=="a"|vocales=="e"|vocales=="i"|vocales=="o"|vocales=="u"|
   vocales=="A"|vocales=="E"|vocales=="I"|vocales=="O"|vocales=="U"){ 
  j<-print(" Es vocal")
}else{
  j<-print("No es vocal")
  
}
## [1] "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.

Funciones:

El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos de un vector o lista.
El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
for (i in c(2:20)) {
  if(i%%2)next
  print(" El numero es par:")
  print(i)
}
## [1] " El numero es par:"
## [1] 2
## [1] " El numero es par:"
## [1] 4
## [1] " El numero es par:"
## [1] 6
## [1] " El numero es par:"
## [1] 8
## [1] " El numero es par:"
## [1] 10
## [1] " El numero es par:"
## [1] 12
## [1] " El numero es par:"
## [1] 14
## [1] " El numero es par:"
## [1] 16
## [1] " El numero es par:"
## [1] 18
## [1] " El numero es par:"
## [1] 20

####Ejercicio 7.

Realizar una algoritmo que muestre la tabla de multiplicar de un número introducido por teclado.

Funciones:

El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos de un vector o lista.
El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
for (x in c(1:10)) {
  if(x<=10){
    y<-as.numeric(readline("dato :"))
    y<-2
    z<-x*y
    print(paste0(x,"*",y, ":","Es =",z))
   
  }
}
## dato :
## [1] "1*2:Es =2"
## dato :
## [1] "2*2:Es =4"
## dato :
## [1] "3*2:Es =6"
## dato :
## [1] "4*2:Es =8"
## dato :
## [1] "5*2:Es =10"
## dato :
## [1] "6*2:Es =12"
## dato :
## [1] "7*2:Es =14"
## dato :
## [1] "8*2:Es =16"
## dato :
## [1] "9*2:Es =18"
## dato :
## [1] "10*2:Es =20"

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.

Funciones:

El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
El comando else (de otro modo) es usado para indicarle a R qué hacer en caso de la condición de un if no se cumpla.
El comando while es muy útil para repetir un procedimiento siempre que se cumple una condición.
#inf<- as.numeric(dlgInput(message="INGRESE EL LIMITE INFERIOR")$res);sup<- as.numeric(dlgInput(message="INGRESE UN LIMITE SUPERIOR")$res)
#num<- 1
#suma<- 0
#cont<- 0
#while(num != 0)
 # {
  #num<-as.numeric(readline("INGRESE UN NUMERO : "))
  #suma<- suma + num
  #cont<- cont +1
  #}
#print(paste("LA SUMA DE LOS NUMEROS QUE ESTAN DENTRO DEL INTERVALOS ES:", suma))
#print(paste("FUERA DEL INTERVALO ESTAN:", cont, "NUMEROS"))

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.

Funciones:

El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos de un vector o lista.
#librery(svDialogs)
#funcion <- function(base, exponente)
#{
 # potencia <- 1
  #for (i in 1:exponente)
  #{
   # potencia<- potencia*base
  #}
  #return(print(paste(base, "elevado a:", exponente, "es =", potencia)))
#}
#funcion(base<-as.numeric(dlgInput(message="INGRESE LA BASE:")$res),
 #  exponente<-as.numeric(dlgInput(message="INGRESE EL EXPONENTE:")$res))

Ejercicio 10.

Algoritmo que muestre la tabla de multiplicar de los números 1,2,3,4 y 5.

Funciones:

El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos de un vector o lista.
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"