ESTRUCTURAS DE CONTROL
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.
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)
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
#}
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))
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()))
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"))
# }
# }
#}
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))
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))
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:
#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"))
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))
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))
#}