Colaborador: Ing. Francisco Valverde P.hD en informática

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),

#num1 <- as.numeric(readline("Ingresar el numero para encontrar el factorial"))
num1 <- 5
result =1
if (num1<0){
  print("El numero es negativo")
} else if (num1 == 0){
  print(" el resultado factorial es 1")
}else {
  for (i in 1:num1){
   result=result*i
  }
  cat("el resultado del factorial", num1, "es", result)
}
## el resultado del factorial 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.

x<-sample(1:100,1,F)
intentos<-0
repeat {
  #y<- as.numeric(readline("Ingrese un numero: "))
  y <- sample(1:100,1)
  if(x>y){
    cat("El numero ingresado es menor al numero aleatorio ")
    intentos<-intentos+1
  }else if(x<y){
    cat("El numero ingresado es mayor al numero aleatorio ")
    intentos<-intentos+1
  } 
  if(intentos==10){
    cat("\n LO SIENTO YA NO TE QUEDAN MAS INTENTOS :(")
    cat("\n El numero aleatorio es: ",x)
    cat("\n Intentos Totales: ",intentos)
  }else if(x==y){
    cat("FELICIDADES ADIVINASTE EL NUMERO ")
    cat("\n Intentos Totales: ",intentos)
  }
if(intentos==10 | x==y){
   break
}
}
## El numero ingresado es menor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio El numero ingresado es mayor al numero aleatorio 
##  LO SIENTO YA NO TE QUEDAN MAS INTENTOS :(
##  El numero aleatorio es:  9
##  Intentos Totales:  10

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.

numeros<-0
ingresos<-0
repeat{
  #num<-as.numeric(readline("Ingrese un numero:"))
  num <- sample(0:5,1)
numeros<-numeros+num
  ingresos<-ingresos+1
  if(num==0){
    cat("La suma de los numeros ingresados es: ",numeros,"\n")
    cat(" La media de los numeros ingresados es:",numeros/ingresos)
  }
  if(num==0){
    break
  }
}
## La suma de los numeros ingresados es:  11 
##  La media de los numeros ingresados es: 2.75

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.

#a <- as.numeric(readline("INGRESE LA CANTIDAD DE NUMEROS:"))
a <- 5
cont1 <- 0
cont2 <- 0
cont3 <- 0
for (i in 1:a) {
  #b <- as.numeric(readline("INGRESE UN NUMERO:"))
  b <- sample(-3:3,1)
  if (b>0){
    cont1=cont1+1
  }
  if(b<0){
    cont2=cont2+1
  }
  if(b==0){
    cont3=cont3+1
  }
}
cat("HAY",cont1,"NUMEROS MAYORES A 0 \n")
## HAY 1 NUMEROS MAYORES A 0
cat("HAY",cont2,"NUMEROS MENORES A 0 \n")
## HAY 2 NUMEROS MENORES A 0
cat("HAY",cont3,"NUMEROS IGUALES A 0 \n")
## HAY 2 NUMEROS IGUALES A 0

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.

repeat{
  #c <- (as.character(readline("INGRESE LA LETRA:")))
  c1 <- "a"
  c2 <- "b"
  c3 <- ""
  if (c1=="a" |c1=="e" |c1=="i" |c1=="o" |c1=="u"){
    cat(c1,"ES UNA VOCAL \n")
  }
  if(c3==""){
      print("GRACIAS")
      break
    }else{
      cat(c2,"NO ES UNA VOCAL")
    }
  break
}
## a ES UNA VOCAL 
## [1] "GRACIAS"

Ejercicio 6

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

#a <- readline("INGRESE EL PRIMER NUMERO: ")
#b <- readline("INGRESE EL SEGUNDO NUMERO: ")
a <- 2
b <- 10
cat("LOS NUMEROS PARES ENTRE",a, "Y",b,"SON:")
## LOS NUMEROS PARES ENTRE 2 Y 10 SON:
for (i in a:b) {
  if (i%%2==0){
    print(i)
  }
}
## [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.

print("TABLAS DE MULTIPLICAR")
## [1] "TABLAS DE MULTIPLICAR"
#c <- as.numeric(readline("INGRESE EL NUMERO:"))
c <- 4
for (i in 1:12) {
  cat(c,"x",i,"=",c*i,"\n")
}
## 4 x 1 = 4 
## 4 x 2 = 8 
## 4 x 3 = 12 
## 4 x 4 = 16 
## 4 x 5 = 20 
## 4 x 6 = 24 
## 4 x 7 = 28 
## 4 x 8 = 32 
## 4 x 9 = 36 
## 4 x 10 = 40 
## 4 x 11 = 44 
## 4 x 12 = 48

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.
suma=0
cont=0
for (k in 1:100000) {
  #inf <- as.numeric(readline("INGRESE EL LIMITE INFERIOR:"))
  inf <- 2
  #sup <- as.numeric(readline("INGRESE EL LIMITE SUPERIOR:"))
  sup <- 10
  while (inf>sup | inf==sup) {
    print("INGRESE UN LIMITE SUPERIOR MAYOR AL INFERIOR")
    #inf <- as.numeric(readline("INGRESE EL LIMITE INFERIOR:"))
    inf <- 2
    #sup <- as.numeric(readline("INGRESE EL LIMITE SUPERIOR:"))
    sup <- 10
  }
  #num <- as.numeric(readline("INTRODUZCA UN NUMERO:"))
  num <- sample(0:11,1)
  if (num>inf & num<sup){
    suma <- suma+num
  }
  if (num<inf | num>sup){
    cont=cont+1
  }
  if (num==inf | num==sup){
    cat(num,"es igual a uno de los limites \n")
  }
  while (num!=0) {
    #num <- as.numeric(readline("INTRODUZCA UN NUMERO:"))
    num <- sample(0:11,1)
    if (num>inf & num<sup){
      suma <- suma+num
    }
    if (num<inf | num>sup){
      cont=cont+1
    }
    if (num==inf | num==sup){
      cat(num,"es igual a uno de los limites \n")
    }
  }
  cat("LA SUMA DE LOS NUMEROS ES:",suma,"\n")
  cat("LA CANTIDAD DE NUMEROS FUERA DE LOS LIMITES SON: ",cont,"\n")
  
  
  #op <- tolower(readline("DESEA CONTINUAR CON EL PROGRAMA? S/N"))
  op <- "no"
  if (op=="s" | op=="si"){
    k <- 1
    suma=0
    cont=0
  }else{
    print("MUCHAS GRACIAS")
    break
  }
}
## LA SUMA DE LOS NUMEROS ES: 10 
## LA CANTIDAD DE NUMEROS FUERA DE LOS LIMITES SON:  1 
## [1] "MUCHAS GRACIAS"

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("INGRESE LA BASE: "))
base <- 2
#expo <- as.numeric(readline("INGRESE EL EXPONENTE: "))
expo <- 5
mult=base
for (i in 1:(expo-1)) {
  mult=mult*base
}
cat("EL RESULTADO ES:",mult)
## EL RESULTADO ES: 32

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")
  }
}
## TABLA DEL 1 
## 1 x 1 = 1 
## 1 x 2 = 2 
## 1 x 3 = 3 
## 1 x 4 = 4 
## 1 x 5 = 5 
## 1 x 6 = 6 
## 1 x 7 = 7 
## 1 x 8 = 8 
## 1 x 9 = 9 
## 1 x 10 = 10 
## 1 x 11 = 11 
## 1 x 12 = 12 
## TABLA DEL 2 
## 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 
## TABLA DEL 3 
## 3 x 1 = 3 
## 3 x 2 = 6 
## 3 x 3 = 9 
## 3 x 4 = 12 
## 3 x 5 = 15 
## 3 x 6 = 18 
## 3 x 7 = 21 
## 3 x 8 = 24 
## 3 x 9 = 27 
## 3 x 10 = 30 
## 3 x 11 = 33 
## 3 x 12 = 36 
## TABLA DEL 4 
## 4 x 1 = 4 
## 4 x 2 = 8 
## 4 x 3 = 12 
## 4 x 4 = 16 
## 4 x 5 = 20 
## 4 x 6 = 24 
## 4 x 7 = 28 
## 4 x 8 = 32 
## 4 x 9 = 36 
## 4 x 10 = 40 
## 4 x 11 = 44 
## 4 x 12 = 48 
## TABLA DEL 5 
## 5 x 1 = 5 
## 5 x 2 = 10 
## 5 x 3 = 15 
## 5 x 4 = 20 
## 5 x 5 = 25 
## 5 x 6 = 30 
## 5 x 7 = 35 
## 5 x 8 = 40 
## 5 x 9 = 45 
## 5 x 10 = 50 
## 5 x 11 = 55 
## 5 x 12 = 60