เนื้อหาวิชา : 3 : กระบวนการทางคณิตศาสตร์และตรรกศาสตร์
ข้อ 191. ให้ตัวแปรทุกตัวเป็นตัวแปรจำนวนจริง โดยที่
X1 = 1, X2 = 2, X3 = 3, X4 = 4
อยากทราบว่า X1 / X2 * X3 / X4 มีค่าเท่าใด
1 : 0.417
2 : 0.375
3 : 0.667
4 : 0.867
เฉลย: 2
อธิบาย:
X1 / X2 * X3 / X4 = 1/2*3/4
คำนวณจากซ้ายไปขวา
= 0.5*3/4
= 1.5/4
=0.375
Note: คูณ/หารลำดับเดียวกัน ให้ทำจากซ้ายไปขวา
ข้อ 192. กำหนดให้ / คือ operator หารแบบจำนวนเต็ม ซึ่งจะปัดเศษทิ้งเสมอ นิพจน์ใดข้างล่างนี้ที่ไม่ได้ค่าเป็น 23
1 : 3 + 4 * 5
2 : 200 / 5 / 2 + 10 / 3
3 : 1 + 77 / 7 * 2
4 : 23 / 3 * 3
เฉลย: 4
อธิบาย:
จากโจทย์ หารแบบจำนวนเต็ม ซึ่งจะปัดเศษทิ้งเสมอ
1 : 3 + 4 * 5 = 3+20 = 23
2 : 200 / 5 / 2 + 10 / 3 = 40/2 + 3 = 23
3 : 1 + 77 / 7 * 2 = 1+11*2 = 1+22 = 23
4 : 23 / 3 * 3 = 7*3 = 21
ข้อ 193. ข้อใดเขียนสมการได้ถูกต้อง
1 : r = -b – (b^2 – 4ac) ^ 0.5 / 2a
2 : r = -b – (b^2 – 4*a*c) ^ 0.5 / 2.0 * a
3 : r = -b – (b^2 – 4*a*c) ^ 0.5 / (2.0*a)
4 : r = (-b – (b*b – 4*a*c) ^ 0.5 ) / a / 2.0
เฉลย: 4
อธิบาย: ตัวเลือกที่ถูกต้องต้องใส่วงเล็บและเครื่องหมายคูณให้ชัดเจน เพื่อให้ลำดับการคำนวณตรงกับสูตร โดยข้อ 4 เขียนให้อยู่ในรูปหารด้วย a และ 2.0 อย่างถูกต้อง
r = (-b – (b*b – 4*a*c) ^ 0.5 ) / a / 2.0
Note: สูตรคณิตศาสตร์เวลาเขียนเป็นโปรแกรม ต้องใส่ * และวงเล็บให้ครบ
ข้อ 194. กำหนดให้ m เป็นตัวแปรชนิดจำนวนเต็ม ข้อใดเป็นการตรวจสอบค่าของตัวแปร m ที่ต่างจากข้ออื่น
1 : NOT((m < 1) AND (m > 12))
2 : (m < 13) AND (m > 0)
3 : NOT(NOT(1 <= m) OR NOT(m <= 12))
4 : (1 <= m) AND (m => 12)
เฉลย: 4
อธิบาย:
1 : NOT((m < 1) AND (m > 12)) = ((m >= 1) AND (m <= 12))
ตรวจสอบว่า m อยู่ในช่วง 1 ถึง 12
2 : (m < 13) AND (m > 0)
หมายถึง 0<m<13
ตรวจสอบว่า m อยู่ในช่วง 1 ถึง 12
3 : NOT(NOT(1 <= m) OR NOT(m <= 12))
ใช้กฎ De Morgan: NOT(A OR B) = NOT(A) AND NOT(B)
ดังนั้นได้เป็น (1 <= m) AND (m <= 12)
ตรวจสอบว่า m อยู่ในช่วง 1 ถึง 12 เช่นเดียวกับข้อ 2
4 : (1 <= m) AND (m => 12) = (m>=1) AND (m>=12)
(m>=1) AND (m => 12) ดังนั้นจะตรวจสอบว่า m อยู่ตั้งแต่ 12 ขึ้นไป
ข้อ 195. ให้ n เป็นตัวแปรแบบจำนวนเต็ม และ % แทน modulus operator จะทำอย่างไรจึงจะได้ตัวเลขสองตัว ณ ตำแหน่งหลักพันและหลักร้อยของจำนวนเต็มในตัวแปร n เช่น n = 12345 ต้องการ 23
1 : (n / 1000) % 100
2 : (n % 1000) / 100
3 : (n % 10000) / 100
4 : (n % 10000) / 1000
เฉลย: 3
อธิบาย:
ตีโจทย์
n= 12345
ทำอย่างไรกับ n ที่จะได้ผลลัพท์ 23 ณ ตำแหน่ง หลักพันและหลักร้อย → xxx23x
1 : (n / 1000) % 100 → 12345/1000 %100 = 12%100 = 12
2 : (n % 1000) / 100 → (12345%1000) /100 = 345/100 = 3
3 : (n % 10000) / 100 → (12345%10000) /100 = 2345/100 = 23 ✔
4 : (n % 10000) / 1000 → (12345%10000) /1000 = 2345/1000 = 2
Note: ใช้ % ตัดด้านหน้า
ใช้ / ตัดด้านหลัง
ข้อ 196. ให้ C คือตัวแปรจำนวนจริงที่แทนอุณหภูมิเป็นองศาเซลเซียส ข้อใดข้างล่างนี้ไม่แทนการแปลงอุณหภูมิใน C ให้เป็นองศาฟาเรนไฮต์เพื่อเก็บใส่ตัวแปร F
1 : F = C * 180/100 + 32
2 : F = 32 + 1.8 * C
3 : F = 1.8C + 32
4 : F = 9 * C / 5 + 32
เฉลย: 3
อธิบาย:
สูตรแปลงคือ F = 1.8 * C + 32 หรือ F = 9*C/5 + 32
แต่ในโปรแกรมต้องเขียนเครื่องหมายคูณ * ชัดเจน ดังนั้น 1.8C ไม่ถูกต้อง → ไม่มีเครื่องหมาย *
Note: ในโปรแกรม ห้ามละเครื่องหมายคูณ ต้องเขียน 1.8 * C
ข้อ 197. ให้ % แทน modulus operator ((201 % (11 % 8)) % (9 % 5)) มีค่าเท่าใด
1 : 0
2 : 1
3 : 2
4 : 3
เฉลย: 1
อธิบาย:
คำนวณในวงเล็บก่อน
((201 % (11 % 8)) % (9 % 5))
= ((201 % 3) % 4)
= (0 % 4)
= 0
Note: ทำวงเล็บก่อน แล้วค่อย % ต่อไป
ข้อ 198. ให้ m คือตัวแปรจำนวนเต็ม ข้อใดที่ไม่ใช่นิพจน์ที่แทนการทดสอบ 1 <= m <= 12
1 : ! ((m < 1) && (m > 12))
2 : ! ( (m < 1) || (m >= 13) )
3 : ! ( ! (1 <= m) || ! (m <= 12) )
4 : (1 <= m) && (m >= 12)
เฉลย: 4
เหมือนข้อ 194.
อธิบาย:
1 <= m <= 12 → ทดสอบว่า m อยู่ระหว่าง 1-12
1 : ! ((m < 1) && (m > 12))
→ (m >= 1) AND (m <= 12) → ตรวจสอบว่า m อยู่ในช่วง 1 ถึง 12
2 : ! ( (m < 1) || (m >= 13) )
→ ถ้า หรือ → จะเป็นจริง
แต่มี ! ข้างหน้า → กลายเป็นจริงเฉพาะเมื่อ
→ ตรวจสอบว่า m อยู่ในช่วง 1 ถึง 12
3 : ! ( ! (1 <= m) || ! (m <= 12) )
ใช้ De Morgan’s law:!(A || B) = !A && !B
ได้เป็น (1 <= m) && (m <= 12)
→ ตรวจสอบว่า m อยู่ในช่วง 1 ถึง 12
4 : (1 <= m) && (m >= 12)
(1 <= m) → m>=1
(m>=1) AND (m => 12) ดังนั้นจะตรวจสอบว่า m อยู่ตั้งแต่ 12 ขึ้นไป
ข้อ 199. ให้ n คือตัวแปรจำนวนเต็ม ข้อใดให้ค่าจริงก็ต่อเมื่อ n เก็บค่าที่เป็นจำนวนคี่
1 : (n == 1) || (n == 3) || (n == 5) || (n == 7) || (n == 9)
2 : (n / 10 == 1)
3 : (n / 2 == 1)
4 : (n % 2 == 1)
เฉลย: 4
อธิบาย:
เลขคี่ = หาร 2 เหลือเศษ 1
ข้อ 200. ให้ n เป็นตัวแปรจำนวนเต็ม ข้อใดให้ค่าจริงเมื่อ n มีค่าตั้งแต่ 13 ถึง 22
1 : (13 < n) && (n < 22)
2 : ! ((n > 22) || (n < 13))
3 : (12 < n) || (n < 23)
4 : (n – (22 – 13 + 1) > 0)
เฉลย: 2
อธิบาย:
ต้องการให้จริงเมื่อ n มีค่าตั้งแต่ 13 ถึง 22
แปลว่า n ต้องไม่ต่ำกว่า 13 และ n ต้องไม่มากกว่า 22
1 : (13 < n) && (n < 22) → 13<n<22 → n=14-21 ✖
2 : ! ((n > 22) || (n < 13)) → n<=22 && n>=13 → n=13-22 ✔
3 : (12 < n) || (n < 23) → n>12 หรือ n<23 ✖
4 : (n – (22 – 13 + 1) > 0) → (n – 8 > 0) → ✖