ESTRUCTURAS DE CONTROL

INTRODUCCIÓN.

En el presente artículo realizaremos una serie de ejercicios sobre el uso de las estructuras de control en R, realizados por estudiantes de la Facultad de Ciencias Económicas, carrera de Estadística de la Universidad Central del Ecuador, estos programas nos será de ayuda para nuestro aprendizaje.

FACTORIAL DE UN NÚMERO.

Calcular el factorial de un número

#library(svDialogs)
#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)

ADIVINAR UN NÚMERO.

Vamos a adivinar un número en 10 intentos

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

PEDIR NÚMEROS HASTA INGRESAR UN CERO.

Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos

#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
#  }
#print(paste("LA SUMA ES:", suma));print(paste("LA MEDIA ES:", media))

NÚMEROS MAYORES, MENORES E IGUALES A CERO.

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.

##COMO FUNCION:
#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()))

ESTRUCTURA DE CONTROL CON CARÁCTERES.

Algoritmo que pida caracteres e imprima ‘VOCAL’ si son vocales y ‘NO VOCAL’ en caso contrario, el programa termina cuando se introduce un espacio.

#letra<- ""
#while(letra!=  " ")
#{
#  letra<- dlgInput(message="INGRESE UN CARACTER:")$res
#  for(i in letra) 
#  {
#    if(i== "a" | i== "e" | i== "i" | i== "o" | i== "u")
#    {
#      print(paste(i,"ES VOCAL"))
#    }else
#    {
#      print(paste(i,"NO ES VOCAL")) 
#    }
#  }
#}

NÚMEROS PARES.

Escribir un programa que imprima todos los números pares entre dos números que se le pidan al usuario.

##COMO FUNCION:
#f6<-function(num1, num2)
#  {
#  for(i in num1:num2)
#    {if(i%%2 ==0)
#      {
#      print(paste(i,"ES PAR"))
#      }else
#        {
#          print(paste(i," ES IMPAR"))
#        }
#    }
#  }
#f6(num1<-as.numeric(dlgInput(message="Ingrese el primer numero:")$res),
#   num2<-as.numeric(dlgInput(message="Ingrese el segundo numero:")$res))

TABLA DE MULTIPLICAR.

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

##COMO FUNCION:
#f7<-function(tabla, lim)
#  {
#  for(i in 1:lim)
#  {
#    mult<- tabla*i
#    print(paste(i, "x", tabla, "=", mult))
#  }
#  }
#f7(tabla<-as.numeric(dlgInput(message="QUE TABLA DESEA REALIZAR:")$res),
#   lim<-as.numeric(dlgInput(message="HASTA QUE NUMERO QUIERE MULTIPLICAR:")$res))

INTRODUCIR NÚMEROS ENTRE LIMITES.

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.
#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(dlgInput(message="INGRESE UN NUMERO")$res)
#  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"))

POTENCIA DE UN NÚMERO.

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.

#ff <- function(base, exponente)
#{
#  potencia <- 1
#  for (i in 1:exponente)
#  {
#    potencia<- potencia*base
#  }
#  return(print(paste(base, "elevado a:", exponente, "es =", potencia)))
#}
#ff(base<-as.numeric(dlgInput(message="INGRESE LA BASE:")$res),
#   exponente<-as.numeric(dlgInput(message="INGRESE EL EXPONENTE:")$res))

TABLAS DE MULTIPLICAR DE 1 A 5.

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