Oii, Mateus! Tudo bem?
É uma excelente dúvida. Quando estamos começando a estudar lógica de programação, o uso de "Senão Se" (ou else if) pode parecer um pouco repetitivo ou confuso, mas ele é justamente o que impede que o seu código entre em conflito.
Pense no "Senão" como um caminho de exclusão. Se o sistema entra na primeira condição, ele ignora todo o resto. O conflito só aconteceria se você usasse apenas vários "SE" (if) isolados, pois o computador tentaria testar todos eles ao mesmo tempo.
- O primeiro SE: É a porta de entrada. Se a condição for verdadeira, o código executa a ação e encerra a verificação.
- O SENÃO SE: Ele só é testado se o primeiro "SE" for falso. É como dizer: "Já que ele não foi aprovado, vamos ver se ao menos ele está de recuperação".
- O SENÃO (final): É o "caso contrário". Se nenhuma das opções acima funcionou, essa é a resposta padrão.
No seu exemplo, o uso do "Senão" ajuda o computador a não ter que perguntar coisas desnecessárias. Olha como ficaria o fluxo lógico:
- SE nota >= 7: Exibe "Aprovado" e para aqui.
- SENÃO, SE nota >= 5: O sistema já sabe que a nota é menor que 7 (porque o primeiro passo falhou), então ele só checa se é maior que 5 para dizer "Recuperação".
- SENÃO: Se não é maior que 7 e nem maior que 5, só sobrou ser menor que 5. Então ele exibe "Reprovado" sem precisar de um novo teste.
Dessa forma, não há conflito porque o "Senão" cria uma fila: o segundo teste só acontece se o primeiro falhar, e o terceiro só acontece se os dois anteriores falharem.
Ficou um pouco mais claro como essa "escadinha" de condições funciona para organizar as decisões do sistema?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!