Capítulo 03: Estrutura Condicional 🍃🍥
Neste capítulo, vamos aprender a fazer o programa tomar decisões usando a estrutura if e o poderoso match do Rust, com o tema Naruto!
📖 O que é Estrutura Condicional?
É quando o programa precisa testar uma condição e seguir caminhos diferentes dependendo do resultado.
📖 Exemplo Guiado: Teste Chunin
Vamos criar um programa que avalia se um ninja passou no teste escrito do Exame Chunin (precisa de nota 7 ou mais).
- Crie o arquivo
teste_chunin.rsna pastasrc/:
fn main() {
let nota = 8.5; // Em Rust, a tipagem é inferida!
println!("Nota do ninja: {}", nota);
if nota >= 7.0 {
println!("Aprovado! Voce esta pronto para a proxima fase.");
} else {
println!("Reprovado! Volte para a Academia Ninja.");
}
}🕹️ Como Executar e Testar no VS Code
- Abra le terminal integrado.
- Compile:
rustc teste_chunin.rs - Execute:
./teste_chunin
Resultado Esperado:
Nota do ninja: 8.5
Aprovado! Voce esta pronto para a proxima fase.📖 Recurso Rust: O Poder do match
O Rust possui o match, que funciona como um switch super avançado. É ótimo para testar múltiplos valores!
let rank = 1;
match rank {
1 => println!("Genin"),
2 => println!("Chunin"),
3 => println!("Jonin"),
_ => println!("Rank desconhecido"), // O '_' serve como padrão (default)
}📊 Ilustração Visual: Fluxo de Decisão
Veja como o programa decide qual caminho seguir:
graph TD A{"Nota >= 7.0?"} -->|Sim| B[Aprovado!] A -->|Não| C[Reprovado!]
🛠️ Prática Obrigatória 1: Classificação Ninja
Crie um programa chamado rank_ninja.rs que use uma variável com a quantidade de missões concluídas por um ninja e o classifique (use if ou match):
- Menos de 10 missões: Genin
- De 10 a 50 missões: Chunin
- Mais de 50 missões: Jonin
🔑 Gabarito de Código
Prática 1: rank_ninja.rs
fn main() {
let missoes = 25;
println!("Missões concluídas: {}", missoes);
if missoes < 10 {
println!("Seu rank e: Genin");
} else if missoes <= 50 {
println!("Seu rank e: Chunin");
} else {
println!("Seu rank e: Jonin");
}
}