02 - Calculadora

François Rebaudo, IRD francois.rebaudo@ird.fr

Marzo 2019 ; PUCE-Quito-Ecuador http://myrbooksp.netlify.com/

CC BY-NC-ND 3.0

Operadores aritméticos

Operadores aritméticos

Operadores aritméticos.
Label Operador
adición +
resta -
multiplicación *
división /
potencia ^
módulo %%
cociente decimal %/%

http://myrbooksp.netlify.com/premierspas#l011opari

Operadores aritméticos

5 + 5 * 2
## [1] 15
(5 + 5) * 2
## [1] 20
(5 + 5) * (2 + 2)
## [1] 40
(5 + 5) * ((2 + 2) / 3)^2
## [1] 17.77778

Las multiplicaciones y divisiones tienen prioridad sobre las adiciones y sustracciones. Si es necesario, podemos usar paréntesis.

Operadores aritméticos

451 %% 2
## [1] 1
288 %% 2
## [1] 0
(5 + 5 * 2) %% 2
## [1] 1
((5 + 5) * 2) %% 2
## [1] 0

El operador módulo corresponde al resto de la división euclidiana.

Operadores aritméticos

5 %% 3 # ???
7 %% 3 # ???
9 %% 3 # ???

Algunas constantes: pi y Inf.

pi
## [1] 3.141593
pi * 5^2
## [1] 78.53982
1/0
## [1] Inf

Operadores comparativos

Operadores comparativos

Operadores de comparación.
Label Operador
más pequeño que <
mayor que >
más pequeño o igual a <=
más grande o igual a >=
igual a ==
diferente de !=

http://myrbooksp.netlify.com/premierspas#l011opcomp

Operadores comparativos

5 > 3
## [1] TRUE
2 < 1.5
## [1] FALSE
2 <= 2
## [1] TRUE
3.2 >= 1.5
## [1] TRUE

Operadores comparativos

(5 + 8) > (3 * 45/2)
## [1] FALSE
58 == 58
## [1] TRUE
42 != 53
## [1] TRUE
(3 + 2) != 5
## [1] FALSE

Operadores comparativos

R usa TRUE y FALSE, que también son valores que se pueden probar con operadores de comparación. Pero R también asigna un valor a TRUE y FALSE.

TRUE == TRUE
## [1] TRUE
TRUE > FALSE
## [1] TRUE
1 == TRUE
## [1] TRUE
0 == FALSE
## [1] TRUE

Operadores comparativos

TRUE + 1
## [1] 2
FALSE + 1
## [1] 1
(FALSE + 1) == TRUE
## [1] TRUE

Operadores comparativos

T == TRUE
## [1] TRUE
F == FALSE
## [1] TRUE
T == 1
## [1] TRUE
F == 0
## [1] TRUE

R es un lenguaje permisivo: significa que admite cierta flexibilidad en la forma de escribir el código. Nunca usaremos T y F, aun que se encuentra con frecuencia en Internet…

Operadores comparativos

7 + 2 == 9 # ???
154654/23212 == 6.662674 # ???
154654/23212 != 6.662674 # ???
154654/23212 > 6.662674 # ???
sprintf("%.20f", 154654/23212)
sprintf("%.40f", pi)
154654/23212 != 6.66267447871790441383 # ???

Operadores lógicos

Operadores lógicos

Operadores lógicos.
Label Operador
no es !
y &
o |
o exclusivo xor()

http://myrbooksp.netlify.com/premierspas#l011oplog

Operadores lógicos

((3 + 2) == 5) & ((3 + 3) == 5)
## [1] FALSE
((3 + 2) == 5) & ((3 + 3) == 6)
## [1] TRUE
(3 < 5) & (5 < 5)
## [1] FALSE
(3 < 5) & (5 <= 5)
## [1] TRUE

Operadores lógicos

xor((3 + 2) == 5, (3 + 3) == 6)
## [1] FALSE
xor((3 + 2) == 5, (3 + 2) == 6)
## [1] TRUE
xor((3 + 3) == 5, (3 + 2) == 6)
## [1] FALSE
xor((3 + 3) == 5, (3 + 3) == 6)
## [1] TRUE

Operadores lógicos

xor(7 + 2 == 9, (3 + 3) == 6) # ???
154654/23212 != 6.662674 | 154654/23212 > 6.662674 # ???

Ayuda sobre los operadores

El archivo de ayuda en inglés sobre operadores aritméticos se puede obtener con el comando ?'+'. El de los operadores de comparación con el comando ?'==' y el de los operadores lógicos con el comando ?'&'.

Un poco de vocabulario?

Un poco de vocabulario?

  • comilla simple: '
  • comillas dobles: "
  • apóstrofe:
  • cierre de comilla simple: `
  • llave: {
  • paréntesis: (
  • corchete: [
  • potencia: ^
  • menor a: <
  • mayor a: >

Un poco de vocabulario?

  • punto de exclamación: !
  • igual: ==
  • tiene como valor: =
  • modulo: %%
  • dólares: $
  • el signo ‘o’: |
  • el signo ‘y’: &
  • el octothorpe: #
  • guión bajo: _
  • guión: -

SIGUIENTE