Operaciones de asignación y aritmeticas

2/33
Recursos
Transcripción

Aportes 20

Preguntas 4

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Si ustedes estan aprendiendo swift, este material me ayudo muchisimo, https://www.hackingwithswift.com/100

var decimalNumber: Double = 8.0
decimalNumber.formTruncatingRemainder(dividingBy: 3)
print(decimalNumber) //imprime 2 porque remplaza el valor actual de la variable por el modulo del mismo con el que se le mande de parametro, en este caso 3
number += 3 // number = number +3
number -= 2 // number = number -2
number *= 2 // number = number *2
number /= 2 // number = number/2

Operaciones de Asignación
El operador de asignación ( a = b ) inicializa o actualiza el valor de a con el valor de b

let b = 10
let a = 5
a = b
//A es ahora igual 10

Si el lado derecho de la asignación es una tupla con múltiples valores, sus elementos se pueden descomponer en múltiples constantes o variables a las vez

let (x,y) = (1,2)
//x es igual a 1 y y es igual a 2

A diferencia del operador de asignación en C y Objetive-C, el operador de asignación en Swift no devuelve un valor por sí mismo. La siguiente declaración no es válida

if x = y {
	// Esto no es valido, ya que x = y no retorna un valor
}

Esta característica. evita que el operador de asignación ( = ) se utilice por accidente cuando se pretende realmente usar el operador de igualdad ( == ). Swift le ayuda a evitar este tipo de errores en su código al invalidar esto if x = y .

Solo toma la documentación y la traduce al español jaja
ttps://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html

Vamos con todo

No es muy común, pero se suelen hacer operaciones (multiplicación o división) sobre una sobre variable para alterar el valor de la misma de la siguiente manera:

//Increment, decrement and operations
var number = 5
number += 3 //number = number + 3
print(number) // Now is 8
number -= 2 //number = number -2
print(number) // Now is 6
number *= 2
print(number) // Now is 12
number /= 2 // Now is 6 again
print(number)

Ejemplo rápido:

print(5.0.truncatingRemainder(dividingBy: 3.1))
//Output: 1.9

var four = 4
four *= 2
print(four)

four /= 2
print(four)

four %= 2
print(four)

resultado:

8
4
0

Residuo de un valor dividido para otro.
El siguiente ejemplo calcula el resto de dividir 8,625 por 0,75:

let x = 8.625
print(x / 0.75) //11.5

let q = (x/0.75).rounded(.toNearestOrEven) //12
let r = x.remainder(dividingBy: 0.75) //-0.375

let x1 = 0.75 * q * r //-3.375 

Recuerden que: Para dos valores finitos llamados en este caso
x y y, el resto llamado r de dividir x por y, satisface la ecuación:
x == y * q + r, donde q es el número entero más cercano a x/y.

Si x/y está exactamente a la mitad entre dos números enteros, se selecciona que q sea par.

Obtenido de la documentación de Apple: apple-remainder

let x = 8.625
print(x / 0.75)
// Prints “11.5”

let q = (x / 0.75).rounded(.toNearestOrEven)
// q == 12.0
let r = x.remainder(dividingBy: 0.75)
// r == -0.375

let x1 = 0.75 * q + r
// x1 == 8.625

Es muy importante la diferencia entre ‘=’ y ‘==’. El profesor lo explica de fábula.

= Asignar valor a variable
== Comparar valores de variables

14.7.truncatingRemainder(dividingBy: 5.0)
print (9.0/4.0) or print(Float(9)/Float(4))

De acuerdo a la documentación tendríamos que utilizar truncatingRemainder para obtener el residuo de un Double; y se ejemplifica realizando la demostración de la siguiente manera:

let x = 8.625
print(x / 0.75)

let q = (x / 0.75).rounded(.towardZero)

let r = x.truncatingRemainder(dividingBy: 0.75)