A vezérlési szerkezetek a Cairoban lehetővé teszik, hogy feltételek és ismétlések alapján szabályozd, hogyan fusson le a programod.
Az if kifejezésekkel feltételek alapján hajthatsz végre kódot:
let number = 42;
if number > 0 {
println!("Positive number");
} else if number < 0 {
println!("Negative number");
} else {
println!("Zero");
}
Az if egy kifejezés, ezért értéket is visszaadhat:
let result = if condition { 5 } else { 10 };
A loop segítségével ismételhetsz kódot.
A ciklus a végtelenségig fut, hacsak meg nem állítod. Ha egy feltétel teljesül, a break-kel léphetsz ki belőle.
let mut counter = 0;
loop {
if counter == 5 {
break;
}
println!("Counter: {}", counter);
counter += 1;
}
A ciklusok a break segítségével adhatnak vissza értéket:
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; // Returns 20
}
};
A continue segítségével ugorhatsz a következő iterációra:
let mut i = 0;
loop {
i += 1;
if i % 2 == 0 {
continue; // Skip even numbers
}
if i > 10 {
break;
}
println!("{}", i); // Only prints odd numbers
}
Ebben a feladatban egy kis pékség napi működésének kezelésében segítesz, a Cairo vezérlési szerkezeteit használva.
Valósítsd meg a calculate_total függvényt, amely egy rendelés költségét számítja ki a sütemény típusa és mennyisége alapján:
calculate_total(Pastry::Croissant, 4) // Returns: 12 (4 * 3)
calculate_total(Pastry::Cookie, 10) // Returns: 10 (10 * 1)
Valósítsd meg az apply_discount függvényt, amely a rendelés végösszege alapján alkalmaz kedvezményeket.
A százalékos kedvezményt a végösszegre alkalmazd, majd kerekítsd le a legközelebbi egész érmére (lefelé kerekítés).
apply_discount(25) // Returns: 22
apply_discount(15) // Returns: 14
apply_discount(8) // Returns: 8
Valósítsd meg a baking_schedule függvényt, amely egy napi sütési tervet készít.
A pékség óránként 5 rendelésből álló adagokban süt:
baking_schedule(18) // Returns: [5, 5, 5, 3] (3 full batches + 3 remaining)
baking_schedule(10) // Returns: [5, 5] (2 full batches)
baking_schedule(3) // Returns: [3] (1 partial batch)
Használj megfelelő vezérlési szerkezeteket (if/else, loop), hogy hatékonyan oldd meg az egyes problémákat.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Cairo nyelvet 25 fogalom68 feladat segítségével, valódi emberi mentorálással, mindez ingyen.