Rangkuman: Logika Sederhana
Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 27 dari 71.
Tantangan
MudahBaca lima nilai dari input: sebuah bilangan bulat age, sebuah bilangan bulat balance, sebuah string isStudent (bernilai "true" atau "false"), sebuah string hasPromoCode (bernilai "true" atau "false"), dan sebuah bilangan bulat itemPrice.
Ubah nilai string menjadi boolean dengan membandingkannya dengan "true".
Evaluasi tiga kondisi berikut dan cetak hasil masing-masing menggunakan var_dump(), tiap hasil pada baris baru:
- Periksa apakah orang tersebut memenuhi syarat untuk mendapat diskon usia muda: usia kurang dari 25 DAN merupakan pelajar
- Periksa apakah orang tersebut mampu membeli barang dengan diskon: balance lebih besar dari atau sama dengan itemPrice ATAU (balance setidaknya setengah dari itemPrice DAN hasPromoCode bernilai true)
- Periksa apakah orang tersebut mendapat layanan checkout prioritas: (usia setidaknya 65 ATAU isStudent bernilai true) DAN balance lebih besar dari 0 DAN BUKAN hasPromoCode
Contoh:
Jika inputnya adalah 22, 50, true, false, dan 80, outputnya seharusnya:
bool(true)
bool(false)
bool(true)Penjelasan:
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
Coba sendiri
<?php
// Baca nilai input
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));
// Ubah nilai string menjadi boolean
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";
// TODO: Tulis kodemu di bawah ini
// 1. Periksa apakah orang tersebut berhak mendapat diskon untuk anak muda
// 2. Periksa apakah orang tersebut mampu membeli barang dengan diskon
// 3. Periksa apakah orang tersebut mendapat prioritas saat membayar
?>Semua pelajaran di Dasar-Dasar
4Operator Perbandingan & Logika
Operator PerbandinganKesamaan & IdentitasOperator Logika Bagian 1Operator Logika Bagian 2Rangkuman: Logika Sederhana2Variabel dan Tipe Data
AngkaString dan Tanda KutipBooleanKonvensi PenamaanRangkuman, Inisialisasi VariabelVariabel KosongPenggabungan stringMengambil input PenggunaKonversi ke Tipe Data Lain5Logika Percabangan
Pernyataan ifIf-elseOperator ternaryOperator koalesensi nullPernyataan switchRangkuman: Membuat Keputusan3Operator Dasar
Operator AritmetikaOperator ModuloOperator PangkatPenugasan GabunganInkrementasi/DekrementasiPrioritas OperatorUlasan: Perhitungan SederhanaOperator stringLatihan sendiri: Compiler PHP online