//Desafio 1
class Pessoa {
var nome: String
var idade: Int
var altura: Double
var peso: Double
init(nome: String, idade: Int, altura: Double, peso: Double) {
self.nome = nome
self.idade = idade
self.altura = altura
self.peso = peso
}
var imc: Double {
return peso / (altura * altura)
}
var adulto: Bool {
if idade >= 18 {
print("Maior de idade")
return true
}else {
print("Menor de idade")
return false
}
}
}
let pessoa = Pessoa(nome: "Gabriel", idade: 33, altura: 1.98, peso: 80)
print("Meu nome é \(pessoa.nome), tenho \(pessoa.idade) de idade com \(pessoa.altura) de altura portanto meu IMC é \(pessoa.imc)")
//Meu nome é Gabriel, tenho 33 de idade com 1.98 de altura portanto meu IMC é 20.40608101214162
let ehAdulto = pessoa.adulto //Maior de idade
//Desafio 2
class Empregado {
var salario = 3800.0 {
willSet {
if newValue > salario {
print("Parabéns, você recebeu uma promoção! Seu novo salário é de R$\(newValue).")
} else if salario == newValue {
print("Parece que não houve uma promoção dessa vez.")
}
}
didSet {
if salario < oldValue {
print("O novo salário não pode ser menor do que era anteriormente.")
salario = oldValue
}
}
}
func reduzir(_ valor: Double) {
salario -= valor
}
func aumento(_ valor: Double) {
salario += valor
}
}
let empregado = Empregado()
empregado.aumento(500.00) //Parabéns, você recebeu uma promoção! Seu novo salário é de R$4300.0.
empregado.reduzir(1000) //O novo salário não pode ser menor do que era anteriormente.
empregado.aumento(0.0) //Parece que não houve uma promoção dessa vez.