#operaciones ##operaciones aritmeticas

#suma
suma1 <- 10 + 15
suma2 = 12 + 32
suma1 + suma2
## [1] 69
# resta
40 - 35
## [1] 5
#multiplicacion
multi<-12*15

#division
div<-56/3

#potenciacion
potenc<-4^2

potenc
## [1] 16
multi
## [1] 180
#modulo
modu<-56%%3

modu
## [1] 2

#operaciones logicas ##las variables logicas solo tienen 2 estados true o false

logica<-TRUE
logica2<-FALSE
logica<-FALSE

#OPERADOR AND - SE UTILIZA EL SIMBOLO &&
TRUE && TRUE
## [1] TRUE
TRUE && FALSE
## [1] FALSE
FALSE && TRUE
## [1] FALSE
FALSE && FALSE 
## [1] FALSE
#OPERADOR OR - EL CARACTER A UTILIZAR ES ||
TRUE ||TRUE
## [1] TRUE
TRUE || FALSE 
## [1] TRUE
FALSE || TRUE
## [1] TRUE
FALSE || FALSE 
## [1] FALSE
#OPERADOR NOT - EL CARACTER A UTILIZAR ES !
!TRUE
## [1] FALSE
!FALSE
## [1] TRUE

#operadores decomparacion

#operador igual
# el operador igual sirve para comparar los valores de dos variables u objetos
#si los valores de las variables son iguales el resultado sera true.de lo contrario,sera false


17==17
## [1] TRUE
17==12
## [1] FALSE
miletra1<-"a"
miletra2<-"a"

miletra1==miletra2
## [1] TRUE
#operador no igual
#sirve para indicar si dos objetos o variables son diferentes.si la condicion se cumple el resultado sera true. de lo contrario, sera false

10!=7
## [1] TRUE
10!=10
## [1] FALSE
#operador mayor que >
#sirve para comparar si un numero es mayor que otro.si se cumple la condicion el resultado sera true. de lo contrario,sera false.

41>35
## [1] TRUE
41>57
## [1] FALSE
#operador mayor o igual que >=
#sirve para compara si un numero es mayor o igual que otro.si se cumple la condicion el resultado sera true. de lo contrario,sera false.

10>=10
## [1] TRUE
15>=10
## [1] TRUE
7>=9
## [1] FALSE
#operador < menor que 
#sirve para comparar si un numero es menor que otro. si se cumple la condicion el resultado sera true. de lo contrario, sera false.

57<60
## [1] TRUE
57<15
## [1] FALSE
#operador menor o igual que  <=
#sirve para comparar si un numero es menor o igual que otro.si se cumple la condicion el resultrado es true. de lo contrario sera false.

35<50
## [1] TRUE
10<7
## [1] FALSE

#estructuras de control #if (si),elseif(sino si),else (sino)

minum <-41
#determinar si un numero es positivo,negativo o cero
#print es una funcion que sirve para imprimir un dato en la consola 
if(minum>0){
  print("minumes positivo")
}else if(minum==0){
  print("minumes cero")
}else{
  print("minume es negativo")
}
## [1] "minumes positivo"

#estructura for ##for es una estructura de contorl de tipo ciclica que sirve para recorrer colecciones de datos,como arreglos ,listas,vectores,matrices.

for (m in 1:5){
  print(m)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
vectorci<-c("a","b","c","d","e")
#la funcion length permite conocer el tamaño de un objeto
length(vectorci)
## [1] 5
for (mivariable in vectorci) {
  print(paste("el elemento del vectores",mivariable))
}
## [1] "el elemento del vectores a"
## [1] "el elemento del vectores b"
## [1] "el elemento del vectores c"
## [1] "el elemento del vectores d"
## [1] "el elemento del vectores e"
vectorci[5]
## [1] "e"
for(i in 1:length(vectorci)){
  print(paste("el elemento en la posicion",i,"es",vectorci[i]))
}
## [1] "el elemento en la posicion 1 es a"
## [1] "el elemento en la posicion 2 es b"
## [1] "el elemento en la posicion 3 es c"
## [1] "el elemento en la posicion 4 es d"
## [1] "el elemento en la posicion 5 es e"

estructura de control while

while significa mientras

i<-1
while(i<=5){
print(i) 
  i<-i+1
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5

#Estructura de control switch (opcion o cambiador) ##Sirve para seleccionar una opcion dentro de varios opciones de seleccion

valor <- 3
resultado <- switch(valor,"1"="Casa","2"="Apartamento","3"="Finca","Opcion invalida")
print(resultado)
## [1] "Finca"

#definir una funcion

evaluar_numero<-function(x){
  if(x>0){
    print("x es positivo")
  }else if (x==0){
    print("x es cero")
  }else{
    print("x es negativo")
  }
}
evaluar_numero(7)
## [1] "x es positivo"
evaluar_numero(-10)
## [1] "x es negativo"