Recap - Simple Logic
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 27 sur 71.
Défi
FacileLisez cinq valeurs depuis l'entrée : un entier age, un entier balance, une chaîne isStudent (soit "true" soit "false"), une chaîne hasPromoCode (soit "true" soit "false"), et un entier itemPrice.
Convertissez les valeurs de chaîne en booléens en les comparant à "true".
Évaluez les trois conditions suivantes et imprimez le résultat de chacune en utilisant var_dump(), chacune sur une nouvelle ligne :
- Vérifiez si la personne est éligible à une réduction jeunesse : age est inférieur à 25 ET est étudiant
- Vérifiez si la personne peut se permettre l'article avec une réduction : balance est supérieur ou égal à itemPrice OU (balance est au moins la moitié de itemPrice ET hasPromoCode est true)
- Vérifiez si la personne obtient un passage prioritaire : (age est au moins 65 OU isStudent est true) ET balance est supérieur à 0 ET PAS hasPromoCode
Exemple :
Si les entrées sont 22, 50, true, false, et 80, la sortie devrait être :
bool(true)
bool(false)
bool(true)Explication :
age < 25 && isStudent→ 22 < 25 && true → truebalance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode)→ 50 >= 80 || (50 >= 40 && false) → false || false → false(age >= 65 || isStudent) && balance > 0 && !hasPromoCode→ (false || true) && true && true → true
Essayez vous-même
<?php
// Lire les valeurs d'entrée
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));
// Convertir les valeurs de chaîne en booléens
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";
// TODO: Écrivez votre code ci-dessous
// 1. Vérifier si la personne est éligible à une réduction pour les jeunes
// 2. Vérifier si la personne peut se permettre l'article avec une réduction
// 3. Vérifier si la personne bénéficie d'une caisse prioritaire
?>Toutes les leçons de Fondamentaux
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators