2
respostas

Estou com Dúvidas na Atividade - Mão na Massa - C# - Laços e múltiplos

int soma = 0;
for (int i = 1; i <= 100; i++)
{
    if (i % 3 != 0)
    {
        soma += i;
    }
}
MessageBox.Show("O total é: " + soma);

Gostaria de saber como chegou ao resultado, mais minha maior dúvida é na função if (i % 3 != 0), não estou entendendo muito bem o que ela está fazendo. Sei que o operadores % calcula o resto da divisão, mais não entendi bem o operador !=.

2 respostas

Olá Anael, O operador % de fato retorna o resto da divisão, enquanto o operador != verifica se o valor da esquerda é diferente do da direita.

Neste caso o if (i % 3 != 0) faz uma checagem para verificar se a divisão de i por 3 é diferente de zero, quando for executa o bloco de código.

Pelo que vi do código o que ele faz então é:

// Inicializa soma com valor 0
int soma = 0;
// Executa um loop iniciando com i = 1 
// e enquanto i for menor ou igual a 100, 
// incrementando i por 1 para cada loop
// Na prática este loop roda 100 vezes.
for (int i = 1; i <= 100; i++)
{
    // Verifica se i é múltiplo de 3, 
    // Essa verificação é feita testando se a divisão por 3 retorna resto.
    // caso retorne 0 é múltiplo de 3.
    // se não for múltiplo soma o valor de i a variável soma
    if (i % 3 != 0)
    {
        soma += i;
    }
}
// Exibe no MessageBox a mensagem incluindo soma.
MessageBox.Show("O total é: " + soma);

É importante neste caso rever operadores o != é um operador de comparação, é o oposto de ==

Consegui entender perfeitamente, obrigado Rafael!