1
resposta

[Desafio] Desafios 1, 2 e 3

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

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:

  1. 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.

  2. 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.

  3. 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.