Certification: วันที่ 3 คำถามเกี่ยวกับ Loops

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