พื้นฐานวิทยาการคอมพิวเตอร์: ชุดสรุปเร่งรัด

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 20 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม

โจทย์ใหม่กลับไปที่รายวิชา

ในหน้าต่างพิมพ์ ให้เลือก “บันทึกเป็น PDF” เพื่อเก็บสำเนาไว้ในอุปกรณ์ของคุณ

1สูตรและวิธีทำ

ระบบเลข

ค่าประจำตำแหน่ง
ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
เป็นเลขฐานสิบ
Σ dk·bk
จากเลขฐานสิบ
หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
ฐานสิบหก ↔ ฐานสอง
เลขฐานสิบหกหนึ่งหลัก = 4 บิต
two’s complement
กลับบิตแล้วบวก 1

ตรรกศาสตร์ประพจน์และการพิสูจน์

แถวของตารางค่าความจริง
2ⁿ
นัยสำคัญ (ถ้า–แล้ว)
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
นิเสธของนัย
¬(p → q) ≡ p ∧ ¬q
เงื่อนไขสองทาง
p ↔ q ≡ (p → q) ∧ (q → p)
กฎของเดอมอร์แกน
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
กฎการแจกแจง
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
นิเสธของตัวบ่งปริมาณ
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
โมดัสโพเนนส์ โมดัสโทลเลนส์
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

วิธีการ

  1. นับจำนวนตัวแปรที่ต่างกัน ตารางค่าความจริงมี 2ⁿ แถว โดยเริ่มจากแถวที่ทุกตัวเป็น 1
  2. ให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง และเติมคอลัมน์จากด้านในออกมาด้านนอก
  3. ใช้กฎของตัวเชื่อมแต่ละตัว: → เป็น 0 เฉพาะเมื่อ 1 → 0 และ ↔ เป็น 1 เมื่อทั้งสองข้างมีค่าเท่ากัน
  4. สำหรับความสมมูล ให้เปรียบเทียบคอลัมน์สุดท้ายทีละแถว สำหรับการอ้างเหตุผล ให้ดูเฉพาะแถวที่ทุกสมมติฐานเป็น 1
  5. การหานิเสธของข้อความที่มีตัวบ่งปริมาณ ให้ย้าย ¬ เข้าไปด้านใน สลับ ∀ กับ ∃ และใส่นิเสธให้สูตรด้านใน

ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

เกตพื้นฐาน
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
กฎของพีชคณิตแบบบูล
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
กฎของเดอมอร์แกน
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
ลำดับของแผนที่คาร์โนห์
00, 01, 11, 10 (Gray code)
กลุ่มของ 2ᵏ เซลล์
สูญเสีย k ตัวแปร
มัลติเพล็กเซอร์ 4 ต่อ 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
ฟลิปฟล็อป
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
ตัวนับ
n บิต: 2ⁿ สถานะ; มอด N: n ที่น้อยที่สุดที่ 2ⁿ ≥ N; fout = fclk/N
ตัวนับริปเปิล
fmax = 1/(n·tpd)
ตัวนับริงและตัวนับจอห์นสัน
n และ 2n สถานะ

วิธีการ

  1. สำหรับวงจร ให้ทำจากอินพุตไปถึงเอาต์พุตทีละเกตและเขียนค่าบนทุกเส้น หรือเขียนนิพจน์ของมันแล้วเติมตารางค่าความจริง
  2. สำหรับการทำให้ง่าย ให้ใส่ 1 (และค่าไม่สนใจเป็น X) ลงในแผนที่คาร์โนห์ที่มีแถวและคอลัมน์เรียงตามรหัสเกรย์: 00, 01, 11, 10
  3. ครอบคลุม 1 ด้วยกลุ่ม 1, 2, 4, 8 หรือ 16 เซลล์ให้น้อยที่สุดและใหญ่ที่สุดเท่าที่เป็นไปได้ โดยพันข้ามขอบ แต่ละกลุ่มคือหนึ่งพจน์ผลคูณที่ประกอบด้วยตัวแปรที่คงที่ จัดกลุ่ม 0 สำหรับรูป POS
  4. สำหรับฟลิปฟล็อปและตัวนับ ให้อ่านอินพุตที่ขอบแอ็กทีฟของสัญญาณนาฬิกาแต่ละขอบ เขียนสถานะหลังทุกขอบ และจำไว้ว่าตัวนับ n บิตวนกลับหลัง 2ⁿ สถานะ

ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

การหารที่มีเศษ
a = q·n + r, 0 ≤ r < n
ยูคลิด
gcd(a, b) = gcd(b, a mod b)
ตัวคูณร่วมน้อย
lcm(a, b) = a·b/gcd(a, b)
อินเวอร์ส
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
ความสอดคล้องเชิงเส้น
a·x ≡ b → x ≡ a⁻¹·b (mod n)
ฟังก์ชันโทเทียนต์ของออยเลอร์
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
แฟร์มา
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

วิธีการ

  1. ลดทุกจำนวนมอดูโล n ก่อน เศษจะอยู่ระหว่าง 0 ถึง n − 1
  2. สำหรับ ห.ร.ม. ให้หารซ้ำด้วยขั้นตอนวิธีของยูคลิด เศษที่ไม่เป็นศูนย์ตัวสุดท้ายคือ ห.ร.ม.
  3. สำหรับตัวผกผัน ให้ทำขั้นตอนวิธีแบบขยาย และเก็บสัมประสิทธิ์ของ a ถ้าเป็นลบให้บวก n
  4. แก้ a·x ≡ b โดยคูณด้วย a⁻¹ รวมสองความสอดคล้องโดยเขียน x = r₁ + m₁k
  5. สำหรับเลขยกกำลัง ให้เขียนเลขชี้กำลังเป็นเลขฐานสองแล้วยกกำลังสองซ้ำ ใน RSA จะได้ d = e⁻¹ mod φ(n) โดย φ(n) = (p − 1)(q − 1)

ทฤษฎีกราฟ

เล็มมาการจับมือ
Σ deg(v) = 2|E|
กราฟบริบูรณ์
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
กราฟปรกติ
|E| = n·k/2
ต้นไม้และป่า
|E| = n − 1, |E| = n − c
ใบของต้นไม้
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
ออยเลอร์
วงจร: ดีกรีเป็นคู่ทุกจุดยอด; ทางเดิน: มีดีกรีคี่พอดี 2 จุดยอด
วงจรแฮมิลตันใน Kn
(n − 1)!/2
การปรับค่าของไดก์สตรา
d(v) = min(d(v), d(u) + w(u, v))
วอล์กความยาว L
(Mᴸ)ij

วิธีการ

  1. เขียนดีกรีของทุกจุดยอด ผลบวกของดีกรีเท่ากับสองเท่าของจำนวนเส้นเชื่อม
  2. สำหรับโจทย์ออยเลอร์ ให้ตรวจว่ากราฟเชื่อมโยงกัน และนับจุดยอดที่มีดีกรีคี่
  3. สำหรับต้นไม้ ให้ใช้ว่ามี n − 1 เส้นเชื่อม และเล็มมาการจับมือ
  4. สำหรับไดก์สตรา ให้เก็บตารางระยะทางชั่วคราว และยืนยันจุดยอดที่ยังไม่ยืนยันซึ่งมีค่าน้อยที่สุดในแต่ละรอบ
  5. สำหรับต้นไม้ทอดข้ามค่าน้อยที่สุด ให้เรียงเส้นเชื่อมตามน้ำหนักและข้ามทุกเส้นที่ทำให้เกิดวัฏจักร (ครัสคัล) หรือขยายต้นไม้ต้นเดียวจากจุดยอดเริ่มต้น (พริม)

การแบ่งซับเน็ต IPv4

โฮสต์ต่อซับเน็ต
2(32 − prefix) − 2 (/31: 2, /32: 1)
ขนาดบล็อก
256 − (mask octet)
ที่อยู่เครือข่าย
IP AND มาสก์
ที่อยู่บรอดคาสต์
IP OR (NOT mask): บิตโฮสต์ทั้งหมดเป็น 1
ซับเน็ตจาก n บิตที่ยืม
2n

2โจทย์ฝึก

1.ระบบเลขปานกลาง
two's complement 8 บิต0−12806403201608040201

ตั้งบิตให้เก็บ −15 ใน two's complement 8 บิต อ่านเป็นจำนวนไม่มีเครื่องหมาย ค่าของรูปแบบ U เป็นเท่าใด

N = −158 bit
U =
2.ระบบเลขยาก
24 บิต two's complement, N = ??เครื่องหมาย???????????????????????

จำนวนเต็มที่ติดลบมากที่สุด N ที่เก็บได้ใน two's complement 24 บิตคือเท่าใด

24 bit
N =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
pqr(q → r) ∨ (q ∧ ¬p)r ∨ ¬p((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p)111?110?101?100?011?010?001?000?

ในตารางค่าความจริง 8 แถวของ ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) มีกี่แถวที่เป็นจริง เรียกจำนวนนี้ว่า N

((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p)
N =
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก

ตารางค่าความจริง 16 แถวมีกี่แถวที่ทำให้ ¬(¬(¬s → q) ∨ (p → (¬q ∧ r))) เป็นจริง เรียกจำนวนนี้ว่า N

¬(¬(¬s → q) ∨ (p → (¬q ∧ r)))
N =
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD0001111000011110111111

ในแผนที่คาร์โนห์นี้มี 1 เพียงตัวเดียวพอดีที่ไม่มี 1 อยู่ติดกัน จึงยังเป็นกลุ่มหนึ่งเซลล์ (มินเทอมเต็มที่มีสี่ลิเทอรัล) ในรูป SOP ที่น้อยที่สุด เพื่อนบ้านข้ามขอบแผนที่นับด้วย ให้คลิกเซลล์นั้น

F = Σm(3, 5, 12, 13, 14, 15)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
DQ3​Q3​DQ2​Q2​DQ1​Q1​DQ0​Q0​CLKJOHNSON

ตัวนับจอห์นสัน 4 บิต Q₃Q₂Q₁Q₀ เริ่มที่ 0000 ทุกขอบสัญญาณนาฬิกา บิตเลื่อนไปทางขวาหนึ่งตำแหน่ง (Q₃ → Q₂ → Q₁ → Q₀) และ Q₃ รับค่ากลับของ Q₀ จงหาสถานะ Q = Q₃Q₂Q₁Q₀ เป็นเลขฐานสิบหลัง 7 ขอบสัญญาณนาฬิกา

Q₃Q₂Q₁Q₀ = 00007
Q =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาฟังก์ชันโทเทียนต์ของออยเลอร์ φ(49) ซึ่งเป็นจำนวนของจำนวนเต็มตั้งแต่ 1 ถึง 49 ที่เป็นจำนวนเฉพาะสัมพัทธ์กับ 49

n = 49 = 72
φ(49) =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก

ใช้การยกกำลังสองซ้ำเพื่อหา 11188 mod 58

a = 11k = 188n = 58
11188 mod 58 =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ความซับซ้อนเชิงเวลาของอัลกอริทึม Bellman–Ford บนกราฟที่มี V จุดยอดและ E เส้นเชื่อมคือเท่าใด

  1. AO(V × E)
  2. BO(E log V)
  3. CO(V³ × E)
  4. DO(V + E)
10.อัลกอริทึมและความซับซ้อนยาก

ปัญหาการหยุด (halting problem) แสดงว่า

  1. Aไม่มีอัลกอริทึมใดตัดสินได้สำหรับทุกโปรแกรมและอินพุตว่าโปรแกรมจะหยุดหรือไม่
  2. Bบางโปรแกรมทำงานเร็วขึ้นบนคอมพิวเตอร์ที่เร็วกว่า การหยุดจึงขึ้นอยู่กับฮาร์ดแวร์
  3. Cควรหลีกเลี่ยงลูป
  4. Dทุกโปรแกรมจะหยุดในที่สุด
11.โครงสร้างข้อมูลปานกลาง

แทรกคีย์ 50, 30, 70, 20, 40 ตามลำดับนี้ลงใน binary search tree ว่าง ลูกซ้ายของ 30 คืออะไร

  1. A70
  2. B20
  3. C50
  4. D40
12.โครงสร้างข้อมูลยาก

Fenwick tree (binary indexed tree) บนอาร์เรย์ที่มีตัวเลข n ตัว รองรับการดำเนินการใดใน O(log n)

  1. Aการแทรกสมาชิกที่ตำแหน่งใดก็ได้
  2. Bการเรียงอาร์เรย์และการค้นหาแบบทวิภาค
  3. Cคำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
  4. Dการหามัธยฐานใน O(1)
13.ทฤษฎีกราฟปานกลาง

ต้นไม้มี 4 จุดยอดดีกรี 3 และจุดยอดอื่นทั้งหมดเป็นใบ (ดีกรี 1) มีกี่ใบ L

4 × deg 3
L =
14.ทฤษฎีกราฟยาก
ABCDEF

มีวอล์กความยาว 2 จาก B ไป E กี่วอล์ก วอล์กอาจซ้ำจุดยอดและเส้นเชื่อมได้ เรียกจำนวนนี้ว่า N

M = เมทริกซ์ประชิดL = 2
N =
15.ฐานข้อมูลและ SQLปานกลาง

ข้อใดเกี่ยวกับ HAVING ถูกต้อง?

  1. Aใช้เรียงลำดับผลลัพธ์
  2. Bต้องมาก่อน WHERE ในคำสั่ง SELECT
  3. Cใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้
  4. Dใช้ร่วมกับ GROUP BY ไม่ได้
16.ฐานข้อมูลและ SQLยาก

คิวรี FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' ตัดลูกค้าที่ไม่มีคำสั่งซื้อออกโดยไม่คาดคิด เพราะเหตุใด?

  1. Aการเชื่อมควรใช้ USING แทน ON
  2. BLEFT JOIN ไม่เก็บแถวที่ไม่ตรงกัน
  3. Cstatus เป็นคำสงวน
  4. Dเงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join
17.เครือข่ายคอมพิวเตอร์ปานกลาง

พรีฟิกซ์เดียวใดสรุปรวมทั้ง 192.168.0.0/24 และ 192.168.1.0/24 ได้?

  1. A192.168.0.0/22
  2. B192.168.0.0/25
  3. C192.168.0.0/23
  4. D192.168.1.0/23
18.เครือข่ายคอมพิวเตอร์ยาก

เครือข่ายส่งมอบเนื้อหา (CDN) ปรับปรุงประสิทธิภาพเว็บเป็นหลักอย่างไร?

  1. Aแทนที่ TCP ด้วยโพรโทคอลชั้นทรานสปอร์ตที่เร็วกว่า
  2. Bให้บริการเนื้อหาที่แคชไว้จากเซิร์ฟเวอร์ที่อยู่ใกล้ผู้ใช้
  3. Cเพิ่มแบนด์วิดท์ของการเชื่อมต่อที่บ้านของผู้ใช้เอง
  4. Dทำให้ไม่ต้องค้นหา DNS
19.การแบ่งซับเน็ต IPv4ปานกลาง
/?11111111111111111111110000000000บิตเครือข่ายบิตโฮสต์

แผนกหนึ่งต้องการที่อยู่โฮสต์ 821 ที่อยู่ในซับเน็ตเดียว ความยาวพรีฟิกซ์ที่ยาวที่สุด p (ซับเน็ตเล็กที่สุด) ที่ใหญ่พอคือเท่าใด

821 hosts
p =
20.การแบ่งซับเน็ต IPv4ยาก
ออกเท็ตที่สาม = 225112816413201608040211เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 172.20.225.10/23 ออกเท็ตที่สาม x ของที่อยู่เครือข่ายของมันคือเท่าใด

172.20.225.10/23
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 241

การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน

กลับบิตแล้วบวกหนึ่ง

15 = 0000 1111
ที่กลับบิตแล้ว: 1111 0000
+1 → 1111 0001

อ่านเป็นแบบไม่มีเครื่องหมาย

1111 0001₂ = 256 − 15 = 241

คำตอบ

U = 241
2.ระบบเลข

คำตอบ: N = −8.389 × 10⁶

ระบบเลขตามตำแหน่ง: แต่ละหลักมีค่าเท่ากับค่าของหลักนั้นคูณกำลังของฐาน ในเลขฐานสองแต่ละตำแหน่งมีค่า 1, 2, 4, 8, 16, …; ในเลขฐานสิบหก 1, 16, 256, … โดย A–F แทน 10–15 ในระบบ two's complement 8 บิต บิตซ้ายสุดมีค่า −128 แทนที่จะเป็น +128 ซึ่งเป็นวิธีเก็บจำนวนลบ

ค่าที่ติดลบมากที่สุด

−223 = −8388608

คำตอบ

N = −8388608
3.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: N = 7

ตารางค่าความจริง: สูตรที่มีตัวแปรต่างกัน n ตัวมี 2ⁿ แถว หนึ่งแถวต่อทุกชุดของค่าความจริง (1 = จริง, 0 = เท็จ) ทำจากด้านในออกมาและให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง ¬a กลับค่า a ∧ b เป็น 1 เฉพาะเมื่อทั้งสองเป็น 1 a ∨ b เป็น 0 เฉพาะเมื่อทั้งสองเป็น 0 a → b เป็น 0 เฉพาะเมื่อ a = 1 และ b = 0 a ↔ b เป็น 1 เมื่อทั้งสองข้างเท่ากัน

ตารางค่าความจริงทีละแถว

p = 1, q = 1, r = 1: q → r = 1, ¬p = 0, q ∧ ¬p = 0, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 1, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1
p = 1, q = 1, r = 0: q → r = 0, ¬p = 0, q ∧ ¬p = 0, (q → r) ∨ (q ∧ ¬p) = 0, r ∨ ¬p = 0, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 0
p = 1, q = 0, r = 1: q → r = 1, ¬p = 0, q ∧ ¬p = 0, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 1, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1
p = 1, q = 0, r = 0: q → r = 1, ¬p = 0, q ∧ ¬p = 0, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 0, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1
p = 0, q = 1, r = 1: q → r = 1, ¬p = 1, q ∧ ¬p = 1, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 1, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1
p = 0, q = 1, r = 0: q → r = 0, ¬p = 1, q ∧ ¬p = 1, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 1, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1
p = 0, q = 0, r = 1: q → r = 1, ¬p = 1, q ∧ ¬p = 0, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 1, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1
p = 0, q = 0, r = 0: q → r = 1, ¬p = 1, q ∧ ¬p = 0, (q → r) ∨ (q ∧ ¬p) = 1, r ∨ ¬p = 1, ((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p) = 1

นับแถวที่มีค่าเป็น 1

((q → r) ∨ (q ∧ ¬p)) ∨ (r ∨ ¬p): 1, 0, 1, 1, 1, 1, 1, 1
N = 7

คำตอบ

N = 7
4.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: N = 5

ตารางค่าความจริง: สูตรที่มีตัวแปรต่างกัน n ตัวมี 2ⁿ แถว หนึ่งแถวต่อทุกชุดของค่าความจริง (1 = จริง, 0 = เท็จ) ทำจากด้านในออกมาและให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง ¬a กลับค่า a ∧ b เป็น 1 เฉพาะเมื่อทั้งสองเป็น 1 a ∨ b เป็น 0 เฉพาะเมื่อทั้งสองเป็น 0 a → b เป็น 0 เฉพาะเมื่อ a = 1 และ b = 0 a ↔ b เป็น 1 เมื่อทั้งสองข้างเท่ากัน

คอลัมน์

¬s; ¬s → q; ¬(¬s → q); ¬q; ¬q ∧ r; p → (¬q ∧ r); ¬(¬s → q) ∨ (p → (¬q ∧ r)); ¬(¬(¬s → q) ∨ (p → (¬q ∧ r)))

แยกตาม p

p = 1: 5
p = 0: 0
N = 5 + 0 = 5

คำตอบ

N = 5
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: AB = 00, CD = 11

แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด

เพื่อนบ้านของแต่ละ 1

1 ที่มี 1 อยู่ติดกันเข้ากลุ่มสองเซลล์หรือมากกว่าได้

m3: m2, m1, m7, m11 → 0
ABCD0001111000011110111111

1 ที่อยู่โดดเดี่ยว

m3 = A′B′CD → AB = 00, CD = 11

คำตอบ

AB = 00, CD = 11
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: Q = 1

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา D คัดลอกอินพุต (Q⁺ = D); T สลับค่าเมื่อ T = 1; JK คงค่าสำหรับ 00 รีเซ็ตสำหรับ 01 เซตสำหรับ 10 และสลับค่าสำหรับ 11 ตัวนับฐานสอง n บิตมี 2ⁿ สถานะและนับมอดูโล 2ⁿ ตัวนับมอด N นับ 0, 1, …, N − 1 แล้ววนกลับเป็น 0 และต้องใช้ฟลิปฟล็อปจำนวน n ที่น้อยที่สุดที่ 2ⁿ ≥ N แต่ละภาคของตัวนับริปเปิลลดความถี่ลงครึ่งหนึ่ง ดังนั้นเอาต์พุตสุดท้ายของตัวนับมอด N ทำงานที่ fclk/N ตัวนับจอห์นสันที่มีฟลิปฟล็อป n ตัวมี 2n สถานะ ตัวนับริงมี n

สถานะหลังทุกขอบ

0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001

ค่าฐานสิบ

0001₂ = 1

คำตอบ

Q = 1
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: φ(49) = 42

ตัวผกผันและความสอดคล้อง: a มีตัวผกผันมอดูโล n เมื่อ gcd(a, n) = 1 เท่านั้น ขั้นตอนวิธีของยูคลิดแบบขยายเขียน 1 = s·n + t·a แล้ว a⁻¹ ≡ t (mod n) ความสอดคล้อง a·x ≡ b (mod n) ที่ gcd(a, n) = 1 มีคำตอบ x ≡ a⁻¹·b ความสอดคล้องสองข้อ x ≡ r₁ (mod m₁) และ x ≡ r₂ (mod m₂) ที่มอดูลัสเป็นจำนวนเฉพาะสัมพัทธ์กันมีคำตอบเดียวมอดูโล m₁·m₂ (ทฤษฎีบทเศษเหลือของจีน) φ(n) ของออยเลอร์นับจำนวนตั้งแต่ 1 ถึง n ที่เป็นจำนวนเฉพาะสัมพัทธ์กับ n: φ(n) = n·∏(1 − 1/p)

ตัวประกอบเฉพาะ

49 = 72

โทเทียนต์

φ(49) = 49 − 7 = 42

คำตอบ

φ(49) = 42
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: 11188 mod 58 = 49

เลขยกกำลังมอดูลาร์และ RSA: คำนวณ aᵏ mod n ด้วยการยกกำลังสองซ้ำ: เขียน k เป็นเลขฐานสอง ยกกำลังสอง ลดค่าหลังทุกขั้นตอน และคูณเลขยกกำลังที่บิตเป็น 1 แฟร์มา: aᵖ⁻¹ ≡ 1 (mod p) สำหรับจำนวนเฉพาะ p ที่หาร a ไม่ลงตัว ดังนั้นลดเลขชี้กำลังมอดูโล p − 1 ได้ RSA: เลือกจำนวนเฉพาะ p และ q, n = p·q และ φ(n) = (p − 1)(q − 1) เลขชี้กำลังสาธารณะ e เป็นจำนวนเฉพาะสัมพัทธ์กับ φ(n) และเลขชี้กำลังส่วนตัวคือ d = e⁻¹ mod φ(n) เข้ารหัสด้วย c = mᵉ mod n และถอดรหัสด้วย m = cᵈ mod n

เลขชี้กำลังฐานสอง

188 = 101111002 = 128 + 32 + 16 + 8 + 4

การยกกำลังสองซ้ำ

111 ≡ 11 (mod 58)
112 ≡ 5 (mod 58)
114 ≡ 25 (mod 58)
118 ≡ 45 (mod 58)
1116 ≡ 53 (mod 58)
1132 ≡ 25 (mod 58)
1164 ≡ 45 (mod 58)
11128 ≡ 53 (mod 58)

คูณเลขยกกำลังที่ต้องใช้

11188 ≡ 25·45·53·25·53 ≡ 49 (mod 58)

คำตอบ

11188 mod 58 = 49
9.อัลกอริทึมและความซับซ้อน

คำตอบ: A · O(V × E)

เหตุผลที่เป็นคำตอบนี้

แต่ละรอบจาก V − 1 รอบผ่อนคลายเส้นเชื่อมทั้ง E เส้น ได้ O(VE) แลกกับการรองรับน้ำหนักเส้นเชื่อมติดลบ

คำตอบ

A · O(V × E)
10.อัลกอริทึมและความซับซ้อน

คำตอบ: A · ไม่มีอัลกอริทึมใดตัดสินได้สำหรับทุกโปรแกรมและอินพุตว่าโปรแกรมจะหยุดหรือไม่

เหตุผลที่เป็นคำตอบนี้

ทัวริงแสดงว่าปัญหาการหยุดตัดสินไม่ได้ (undecidable): การสมมติว่ามีตัวตัดสินอยู่นำไปสู่ข้อขัดแย้งกับโปรแกรมที่ทำสิ่งตรงข้าม

คำตอบ

A · ไม่มีอัลกอริทึมใดตัดสินได้สำหรับทุกโปรแกรมและอินพุตว่าโปรแกรมจะหยุดหรือไม่
11.โครงสร้างข้อมูล

คำตอบ: B · 20

เหตุผลที่เป็นคำตอบนี้

20 น้อยกว่า 50 และน้อยกว่า 30 จึงเป็นลูกซ้ายของ 30 ส่วน 40 เป็นลูกขวา

คำตอบ

B · 20
12.โครงสร้างข้อมูล

คำตอบ: C · คำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว

เหตุผลที่เป็นคำตอบนี้

Fenwick tree เก็บผลรวมบางส่วนของช่วงที่กำหนดโดยบิตต่ำของแต่ละดัชนี ทั้งผลรวมคำนำหน้าและการอัปเดตจุดจึงใช้ O(log n)

คำตอบ

C · คำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
13.ทฤษฎีกราฟ

คำตอบ: L = 6

ออยเลอร์ แฮมิลตัน และต้นไม้: กราฟเชื่อมโยงมีวงจรออยเลอร์ (ผ่านทุกเส้นเชื่อมครั้งเดียวและกลับจุดเริ่มต้น) เมื่อทุกจุดยอดมีดีกรีคู่ และมีทางเดินออยเลอร์ที่ไม่ใช่วงจรเมื่อมีจุดยอดดีกรีคี่พอดีสองจุด ทางเดินนั้นไปจากจุดยอดคี่จุดหนึ่งถึงอีกจุดหนึ่ง วงจรแฮมิลตันผ่านทุกจุดยอดครั้งเดียว Kn มีวงจรแบบนี้ (n − 1)!/2 วงจร ต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม และกราฟเชื่อมโยงที่มี m เส้นเชื่อมจะเหลือต้นไม้ทอดข้ามหลังเอาเส้นเชื่อมออก m − n + 1 เส้น

เล็มมาการจับมือสำหรับต้นไม้

L + 12 = 2(L + 4) − 2
L = 6

คำตอบ

L = 6

ทางลัด: L = 2 + Σ (d − 2) ของจุดยอดที่มีดีกรี d ≥ 3

14.ทฤษฎีกราฟ

คำตอบ: N = 1

ดีกรี: ดีกรีของจุดยอดคือจำนวนเส้นเชื่อมที่มาบรรจบที่จุดนั้น เส้นเชื่อมแต่ละเส้นมีสองปลาย ดังนั้นผลบวกของดีกรีเท่ากับสองเท่าของจำนวนเส้นเชื่อม: Σ deg(v) = 2|E| (เล็มมาการจับมือ) ดังนั้นจำนวนจุดยอดที่มีดีกรีคี่เป็นจำนวนคู่ Kn มีเส้นเชื่อม n(n − 1)/2 เส้น กราฟปรกติดีกรี k ที่มี n จุดยอดมี nk/2 เส้น และต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม

เมทริกซ์ประชิด

A: 0 1 1 0 0 0
B: 1 0 1 0 1 0
C: 1 1 0 0 1 0
D: 0 0 0 0 1 1
E: 0 1 1 1 0 0
F: 0 0 0 1 0 0

เพื่อนบ้านร่วม

(M²)BE = 1·0 + 0·1 + 1·1 + 0·1 + 1·0 + 0·0 = 1

คำตอบ

N = 1
15.ฐานข้อมูลและ SQL

คำตอบ: C · ใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้

เหตุผลที่เป็นคำตอบนี้

HAVING กรองกลุ่มหลังการรวมค่าและอ้างอิงฟังก์ชันรวมค่าได้ ส่วน WHERE ทำไม่ได้

คำตอบ

C · ใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้
16.ฐานข้อมูลและ SQL

คำตอบ: D · เงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join

เหตุผลที่เป็นคำตอบนี้

แถวที่ไม่มีคู่มี o.status เป็น NULL การทดสอบ WHERE จึงไม่เป็น TRUE การย้ายเงื่อนไขไปอยู่ในอนุประโยค ON เก็บลูกค้าทุกคนไว้

คำตอบ

D · เงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join
17.เครือข่ายคอมพิวเตอร์

คำตอบ: C · 192.168.0.0/23

เหตุผลที่เป็นคำตอบนี้

0 และ 1 ใช้บิตเหมือนกันทั้งหมดในอ็อกเต็ตที่สามยกเว้นบิตสุดท้าย พรีฟิกซ์ที่สั้นลงหนึ่งบิต (/23) เริ่มที่ 192.168.0.0 จึงครอบคลุมทั้งสองพอดี

คำตอบ

C · 192.168.0.0/23
18.เครือข่ายคอมพิวเตอร์

คำตอบ: B · ให้บริการเนื้อหาที่แคชไว้จากเซิร์ฟเวอร์ที่อยู่ใกล้ผู้ใช้

เหตุผลที่เป็นคำตอบนี้

CDN วางสำเนาเนื้อหาไว้ที่ตำแหน่งขอบ (edge) จำนวนมากและนำผู้ใช้ มักผ่าน DNS ไปยังเซิร์ฟเวอร์ใกล้เคียง ลดเวลาแฝงและภาระของเซิร์ฟเวอร์ต้นทาง

คำตอบ

B · ให้บริการเนื้อหาที่แคชไว้จากเซิร์ฟเวอร์ที่อยู่ใกล้ผู้ใช้
19.การแบ่งซับเน็ต IPv4

คำตอบ: p = 22

การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)

บิตโฮสต์ที่ต้องใช้

29 − 2 = 510 < 821
210 − 2 = 1022 ≥ 821 → h = 10

ความยาวพรีฟิกซ์

p = 32 − 10 = 22

คำตอบ

p = /22
20.การแบ่งซับเน็ต IPv4

คำตอบ: x = 224

IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).

ขนาดบล็อกในออกเท็ตที่สาม

21 = 2

ซับเน็ตของโฮสต์นี้

เครือข่าย: 172.20.224.0
บรอดคาสต์: 172.20.225.255

คำตอบ

x = 224

ExamProblems · examproblems.com/courses/computer-science-fundamentals