Nested decisions · قرارات متداخلة
One mark, three outcomes
- A mark of 80 or more is a distinction, 50 or more is a pass, and anything lower is a fail.
- One
IFhas two paths. The second decision goes inside theELSE, as its ownIF. - Each
IFhas its ownENDIF. Indent the inner one so you can see whichELSEit belongs to.
DECLARE Mark : INTEGER
Mark ← 72
IF Mark >= 80
THEN
OUTPUT "Distinction"
ELSE
IF Mark >= 50
THEN
OUTPUT "Pass"
ELSE
OUTPUT "Fail"
ENDIF
ENDIF
Count the marks that count
- A validation tally walks the list and adds 1 only when the value is in range.
- The range test is the
ANDfrom the previous lesson, inside the loop.
DECLARE Mark : ARRAY[1:4] OF INTEGER
DECLARE I, Count : INTEGER
Mark[1] ← 80
Mark[2] ← -1
Mark[3] ← 100
Mark[4] ← 40
Count ← 0
FOR I ← 1 TO 4
IF Mark[I] >= 0 AND Mark[I] <= 100
THEN
Count ← Count + 1
ENDIF
NEXT I
OUTPUT Count // → 3
Watch out
- The inner
IFstarts on the line afterELSE. It is not written on theELSEline. - Close the inner
ENDIFbefore the outer one. The lastENDIFbelongs to the firstIF.
Common mistakes
- An
ENDIFin the wrong place closes the outer test and leaves the inner one open. - A mark of exactly 50 is a pass, and exactly 80 is a distinction. The tests use
>=.
Now you try
- The first two tasks are nested decisions. The third counts with
AND. - Press Check answer to test it.
Read an INTEGER Mark. Output Distinction for 80 or more, otherwise Pass for 50 or more, otherwise Fail. Nest the second IF under ELSE. · اقرأ INTEGER Mark. أخرج Distinction إذا كانت 80 أو أكثر، وإلا أخرج Pass إذا كانت 50 أو أكثر، وإلا أخرج Fail. ضع IF الثانية داخل ELSE.
Click Run to see the output here. · اضغط تشغيل لرؤية المخرجات هنا.
Same three outcomes as the previous task. This input should take the inner ELSE. · نفس النتائج الثلاث كما في المهمة السابقة. يجب أن يأخذ هذا الإدخال ELSE الداخلية.
Click Run to see the output here. · اضغط تشغيل لرؤية المخرجات هنا.
The array Mark holds 80, -1, 100, 40. Count how many values are from 0 to 100 inclusive and output the count (it is 3). · المصفوفة Mark تحتوي على 80، -1، 100، 40. احسب كم عدد القيم من 0 إلى 100 شاملاً الحدين وأخرج العدد (وهو 3).
Click Run to see the output here. · اضغط تشغيل لرؤية المخرجات هنا.