Day 3 [This is Questions of ABAP Certification.]
DATA: number TYPE i.
WHILE number < 10.
ADD 1 TO number.
IF number < 8.
CONTINUE.
ELSE.
ADD 4 TO number.
ENDIF.
ENDWHILE.
WRITE number.
What does NUMBER equal after executing the above code?
a) 4
b) 8
c) 10
d) 12
e) 14
f) 0
g) error
Answer
Answer
d) 12
เรามาดูการทำงานของ Code ดูนะครับ
Data: number type i. “กำหนดให้ ฟิลด์ number เป็นประเภท Interger
เริ่มแรกค่า Number มีค่า 0 เพราะ default ของ Type i คือค่า 0
while number < 10. “คำสั่ง While เป็นคำสั่งเงื่อนไขประเภทวนลูปชนิดหนึ่ง โดยถ้า number มีค่าน้อยกว่า 10 ให้ทำคำสั่งใน ลูป While
เข้ามาสู่คำสั่งใน ลูป while เพราะ Number มีค่าน้อยกว่า 10
Add 1 to number.
เพิ่มค่า 1 เข้าไปใน ฟิลด์ Number
ตอนนี้ Number มีค่า 1แล้ว
If number < 8.”คำสั่ง If เป็นคำสั่งเงื่อนไข ถ้า number น้อยกว่า 8 ให้ทำ
เข้ามาสู่เงื่อนไข If เพราะ Number มีค่า 1
Continue.”คำสั่ง Continue เป็นคำสั่งที่ยกเลิกการทำงานของคำสั่งที่เหลือในรอบปัจจุบันของการวนลูป โดยจะข้ามไปทำงานยังรอบต่อไปของการวนลูป
กลับไปที่ลูป While ทำอย่างงี้จน ค่า Number มากกว่า 8 หรือเท่ากับ 8
Else.”คำสั่ง Else หมายถึง ค่าที่ตรงข้ามกับ If แล้วให้ทำ
Add 4 to number.”เพิ่มค่า 4 เข้าไปใน ฟิลด์ Number
เมื่อ Number มีค่าเท่ากับ 8 แล้วก็จะเข้ามาในส่วนของ Else
หลังจากนั้น เพิ่มค่า 4 เข้าไปที่ Number ตอนนี้ Number มีค่า 12
Endif.
จบการทำงานของเงื่อนไข If
เ มื่อ Number เท่ากับ 12 ก็ไม่ต้องเข้ามาในลูปของ While อีก เพราะ ว่ามีค่าเกิน 10
Endwhile.
จบการทำงานของเงื่อนไข While
Write number.
แสดงค่า number ออกที่หน้าจอ
12