Logic: AND, OR, NOT · Logika: AND, OR, NOT
A club that checks both ends of the age
- A club takes members only from 11 to 16. One test cannot say both ends.
ANDisTRUEonly when both tests areTRUE:Age >= 11 AND Age <= 16.NOTflips a Boolean. The tasks use it on a flag, not on a number.
Klub yang memeriksa batas usia
- Klub hanya menerima anggota berusia 11 hingga 16. Satu tes tidak bisa mengecek kedua batas tersebut sekaligus.
ANDbernilaiTRUEhanya ketika kedua tes bernilaiTRUE:Age >= 11 AND Age <= 16.NOTmembalikkan nilai Boolean. Tugas-tugas ini menggunakannya pada flag, bukan pada angka.
DECLARE Age : INTEGER
Age ← 14
IF Age >= 11 AND Age <= 16 THEN
OUTPUT "accepted"
ELSE
OUTPUT "no"
ENDIF
A fare that depends on either age
- A bus fare is free under 5, or at 65 and over. One of those tests is enough.
ORisTRUEwhen either operand isTRUE.
Tarif yang bergantung pada salah satu kondisi usia
- Tarif bus gratis di bawah 5 tahun, atau usia 65 ke atas. Salah satu dari tes tersebut sudah cukup.
ORbernilaiTRUEjika salah satu operand bernilaiTRUE.
DECLARE Age : INTEGER
Age ← 70
IF Age < 5 OR Age >= 65 THEN
OUTPUT "free"
ELSE
OUTPUT "pay"
ENDIF
Nest the second decision
- 80 or more is a distinction. Otherwise, 50 or more is a pass, and the rest is a fail.
- The second
IFis the statement underELSE, with its ownENDIF. THENstays on theIFline, including the inner one.
Nests keputusan kedua
- Nilai 80 atau lebih adalah Distinction. Sebaliknya, 50 atau lebih adalah Pass, dan sisanya adalah Fail.
IFkedua adalah pernyataan di bawahELSE, denganENDIFmiliknya sendiri.THENtetap berada pada barisIF, termasuk yang di dalamnya.
DECLARE Mark : INTEGER
Mark ← 72
IF Mark >= 80 THEN
OUTPUT "Distinction"
ELSE
IF Mark >= 50 THEN
OUTPUT "Pass"
ELSE
OUTPUT "Fail"
ENDIF
ENDIF
Watch out
- Write the variable on both sides of
AND.Mark >= 0 AND <= 100is not a test. - IGCSE 0478 puts
THENon the following line. Do not mix the two papers.
Hati-hati
- Tulis variabel di kedua sisi
AND.Mark >= 0 AND <= 100bukan merupakan sebuah tes. - IGCSE 0478 menempatkan
THENpada baris berikutnya. Jangan mencampur kedua format soal tersebut.
Common mistakes
ELSEbelongs to theIFabove it. Indent the innerIFso the finalENDIFis the outer one.NOTapplies to a Boolean.NOT Markis not how you test a number.
Kesalahan umum
ELSEberada di dalamIFdi atasnya. Berikan indentasi padaIFbagian dalam agar akhirannya adalahENDIFbagian luar.NOTberlaku untuk Boolean.NOT Markbukan cara untuk menguji angka.
Now you try
- One task is an
OR, one is aNOT, and one is the nested grade.
Sekarang Anda coba
- Satu tugas adalah
OR, satu lagi adalahNOT, dan satu lagi adalah grade bersarang.
Read an INTEGER Age. Output free when Age is under 5 or at least 65, using OR. Otherwise output pay. · Baca sebuah INTEGER Age. Outputkan free jika Age berada di bawah 5 atau setidaknya 65, menggunakan OR. Sebaliknya, outputkan pay.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Alarm is a BOOLEAN set to FALSE. If NOT Alarm, output quiet, otherwise output ring. · Alarm adalah himpunan BOOLEAN untuk FALSE. Jika NOT Alarm, outputkan quiet, jika tidak outputkan ring.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Read an INTEGER Mark. Output Distinction for 80 or more, otherwise Pass for 50 or more, otherwise Fail. Put the second IF under ELSE, with THEN on the IF line. · Baca satu INTEGER Mark. Outputkan Distinction untuk nilai 80 atau lebih, jika tidak outputkan Pass untuk nilai 50 atau lebih, jika tidak outputkan Fail. Letakkan IF kedua di bawah ELSE, dengan THEN pada baris IF.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.