Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, Nadia!
Pelo que vejo na imagem, você está trabalhando nos desafios propostos para praticar funções e opcionais em Swift. Vamos analisar o seu código:
Desafio 1 - Verificar se um número é primo:
A função numeroPrimo(numero: Int) -> Bool parece estar correta. Ela percorre todos os números de 1 até o número fornecido e incrementa o contador numerosDivisores sempre que encontra um divisor. Se ao final do loop o numerosDivisores for igual a 2, a função retorna true, indicando que o número é primo, pois só tem dois divisores: 1 e ele mesmo.
Desafio 2 - Função com opcional:
A função recebeNome(nome: String?) está tratando corretamente o opcional. Você utilizou o operador de coalescência nula (??) para fornecer uma mensagem padrão ("Nome não especificado") caso o valor seja nil. Isso está de acordo com o que foi pedido no desafio.
Desafio 3 - Dividir a conta do restaurante:
A função divideConta(valorTotal: Double, numeroPessoas: Double) -> Double está quase correta, mas parece que você esqueceu de incluir os 10% do garçom no cálculo. Para calcular o valor total com a gorjeta, você deve primeiro aumentar o valorTotal em 10% e depois dividir pelo numeroPessoas. Aqui está uma sugestão de como corrigir a função:
func divideConta(valorTotal: Double, numeroPessoas: Double) -> Double {
let valorComGarcom = valorTotal * 1.10 // Adiciona 10% para o garçom
let conta = valorComGarcom / numeroPessoas
return conta
}
E então, ao chamar a função divideConta, você usará o valor da conta sem a gorjeta, e a função cuidará de adicionar os 10% antes de dividir pelo número de pessoas.
Espero que essas dicas ajudem a aprimorar seu código! Se precisar de mais alguma explicação sobre funções ou opcionais, não hesite em revisitar as aulas do curso, ou mandar aqui no fórum.
Parabéns por praticar, isso é ótimo! Bons estudos.