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

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 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 complement1−12816413201608140201

รูปแบบ 8 บิต 1110 0100 เก็บจำนวนเต็มมีเครื่องหมายแบบ two's complement ค่าของมัน N ในเลขฐานสิบคือเท่าใด

1110 01008 bit
N =
2.ระบบเลขยาก
คลิกบิตเพื่อตั้งค่า012806403201608040201

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 0001 1111 AND 0011 1000 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

0001 1111AND0011 1000
R =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
ซ้ำซ้อน (tautology)ขัดแย้ง (contradiction)contingency

(r → q) ↔ (¬q → ¬r) เป็น tautology, contradiction หรือ contingency ให้คลิกคำตอบของคุณ

(r → q) ↔ (¬q → ¬r)
  1. 1ซ้ำซ้อน (tautology)
  2. 2ขัดแย้ง (contradiction)
  3. 3contingency
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
pqrq → (p ∨ r)qp111110101100011010001000

การอ้างเหตุผลที่มีสมมติฐาน q → (p ∨ r); q และบทสรุป p ไม่สมเหตุสมผล ให้คลิกแถวของตารางค่าความจริงที่เป็นตัวอย่างค้าน

q → (p ∨ r)q∴ p
  1. 1p = 1, q = 1, r = 1
  2. 2p = 1, q = 1, r = 0
  3. 3p = 1, q = 0, r = 1
  4. 4p = 1, q = 0, r = 0
  5. 5p = 0, q = 1, r = 1
  6. 6p = 0, q = 1, r = 0
  7. 7p = 0, q = 0, r = 1
  8. 8p = 0, q = 0, r = 0
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
MUXC′I0​CI1​1I2​C′I3​ABS1​S0​F

มัลติเพล็กเซอร์ 4 ต่อ 1 มีอินพุตเลือก S₁ = A และ S₀ = B และอินพุตข้อมูลต่อเข้ากับ I₀ = C′, I₁ = C, I₂ = 1, I₃ = C′ จาก 8 ชุดของ A, B และ C มีกี่ชุดที่เอาต์พุต F = 1 จงหา N

I₀ = C′I₁ = CI₂ = 1I₃ = C′
N =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
CLKJK12345678

ฟลิปฟล็อป JK ที่ทริกเกอร์ขอบขาขึ้นเริ่มด้วย Q = 0 และได้รับอินพุตที่แสดง ให้คลิกขอบสัญญาณนาฬิกาแรกที่ Q เปลี่ยนจาก 1 กลับเป็น 0

Q₀ = 0JK
  1. 1ขอบสัญญาณนาฬิกา 1
  2. 2ขอบสัญญาณนาฬิกา 2
  3. 3ขอบสัญญาณนาฬิกา 3
  4. 4ขอบสัญญาณนาฬิกา 4
  5. 5ขอบสัญญาณนาฬิกา 5
  6. 6ขอบสัญญาณนาฬิกา 6
  7. 7ขอบสัญญาณนาฬิกา 7
  8. 8ขอบสัญญาณนาฬิกา 8
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาจำนวนเต็มบวกที่น้อยที่สุด x ที่ x ≡ 3 (mod 4) และ x ≡ 2 (mod 13)

x ≡ 3 (mod 4)x ≡ 2 (mod 13)
x =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก

97 เป็นจำนวนเฉพาะ ใช้ทฤษฎีบทเล็กของแฟร์มาเพื่อหา 953876 mod 97

p = 97k = 53876
953876 mod 97 =
9.อัลกอริทึมและความซับซ้อนปานกลาง

อัลกอริทึมละโมบ (greedy) คือ

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

อัลกอริทึมใดหาต้นไม้ทอดข้ามที่น้อยที่สุดโดยเพิ่มเส้นเชื่อมที่ถูกที่สุดซึ่งไม่ก่อวงจรซ้ำ ๆ

  1. AFloyd–Warshall
  2. Bอัลกอริทึมของ Dijkstra
  3. Cอัลกอริทึมของ Kruskal
  4. Dอัลกอริทึมของ Prim ที่เริ่มจากโหนดเดียว
11.โครงสร้างข้อมูลปานกลาง

ข้อใดเป็นจริงเกี่ยวกับเมทริกซ์ประชิดของกราฟไม่มีทิศทาง

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

คุณสมบัติใดทำให้ B-tree ทุกต้นสมดุลอย่างสมบูรณ์

  1. Aทุกโหนดมีลูกสองตัวพอดี
  2. Bใบทั้งหมดอยู่ที่ความลึกเดียวกัน
  3. Cแต่ละโหนดเก็บหนึ่งคีย์
  4. Dคีย์ถูกเก็บเฉพาะที่ราก
13.ทฤษฎีกราฟปานกลาง

กราฟเชื่อมโยงมี 17 จุดยอดและ 17 เส้นเชื่อม ต้องเอาเส้นเชื่อมออกกี่เส้น k เพื่อให้เหลือต้นไม้ทอดข้าม

|V| = 17|E| = 17
k =
14.ทฤษฎีกราฟยาก
6610151315131ABCDEF

ใช้ขั้นตอนวิธีของไดก์สตราเพื่อหาความยาว d(F) ของเส้นทางที่สั้นที่สุดจาก A ไป F ในกราฟถ่วงน้ำหนัก

เริ่มต้น: Aสิ้นสุด: F
d(F) =
15.ฐานข้อมูลและ SQLปานกลาง

ตาราง employees มีคอลัมน์ manager_id ที่อ้างอิงพนักงานอีกคน จะแสดงพนักงานแต่ละคนคู่กับชื่อผู้จัดการได้อย่างไร?

  1. Aเชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
  2. Bใช้ GROUP BY manager_id อย่างเดียว
  3. Cรวมตารางกับตัวมันเองด้วย UNION ALL และตัวกรอง WHERE
  4. Dสร้างสำเนาที่สองของตารางบนดิสก์
16.ฐานข้อมูลและ SQLยาก

หลัง customers LEFT JOIN orders เหตุใดจึงใช้ COUNT(o.id) แทน COUNT(*) เพื่อนับคำสั่งซื้อต่อลูกค้า?

  1. ACOUNT(*) ละเว้นแถวที่มีค่า NULL
  2. BCOUNT(o.id) นับเฉพาะลูกค้าที่ไม่ซ้ำ
  3. CCOUNT(*) ไม่อนุญาตหลังการเชื่อม
  4. DCOUNT(*) นับแถวที่เติม NULL เป็น 1 สำหรับลูกค้าที่ไม่มีคำสั่งซื้อ
17.เครือข่ายคอมพิวเตอร์ปานกลาง

โฮสต์ใดอยู่ในซับเน็ต /16 เดียวกับ 10.1.2.3?

  1. A10.1.200.5
  2. B11.1.2.3
  3. C10.0.2.3
  4. D10.2.2.3
18.เครือข่ายคอมพิวเตอร์ยาก

แอปพลิเคชันเทอร์มินัลระยะไกลรู้สึกอืดเพราะแพ็กเก็ตการกดแป้นเล็ก ๆ ถูกกั้นไว้ กลไก TCP ใดมักเป็นสาเหตุ?

  1. Aอัลกอริทึมของ Nagle (Nagle's algorithm)
  2. BFast retransmit
  3. Cการแฮนด์เชกสามทาง
  4. DSlow start
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2911111111111111111111111111111000บิตเครือข่ายบิตโฮสต์

เครือข่าย 192.168.123.0/24 ถูกแบ่งเป็นซับเน็ต /29 หมายเลข 1, 2, 3, … จากแอดเดรสต่ำสุด (ซับเน็ต 1 เริ่มที่ .0) ออกเท็ตที่สี่ x ของบรอดคาสต์แอดเดรสของซับเน็ต 9 คือเท่าใด

192.168.123.0/24/29ซับเน็ต 9 (ซับเน็ต 1 เริ่มที่ .0)
x =
20.การแบ่งซับเน็ต IPv4ยาก
ออคเต็ตสุดท้าย = 210112816403211608041201เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 10.20.203.210/29 ตัวเลขสุดท้าย (ออคเต็ตที่สี่) x ของที่อยู่บรอดคาสต์ของซับเน็ตคือเท่าใด

10.20.203.210/29
x =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −28

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

บวกค่าประจำตำแหน่ง

บิตอื่นยังคงมีค่าเป็นบวกตามปกติ

−128 + 64 + 32 + 4 = −28

คำตอบ

N = −28
2.ระบบเลข

คำตอบ: R = 24

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

ทีละบิต

AND ให้ 1 เฉพาะที่ทั้งสองบิตเป็น 1

0001 1111
AND 0011 1000
= 0001 1000

ค่าของผลลัพธ์

0001 1000₂ = 24

คำตอบ

R = 24
3.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: ซ้ำซ้อน (tautology)

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (tautology) เป็น 1 ทุกแถว ขัดแย้ง (contradiction) เป็น 0 ทุกแถว และ contingency ไม่ใช่ทั้งสองอย่าง กฎที่มีประโยชน์: กฎของเดอมอร์แกน ¬(a ∧ b) ≡ ¬a ∨ ¬b และ ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (การแย้งสลับที่); ¬(a → b) ≡ a ∧ ¬b; และกฎการแจกแจง a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)

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

q = 1, r = 1: r → q = 1, ¬q = 0, ¬r = 0, ¬q → ¬r = 1, (r → q) ↔ (¬q → ¬r) = 1
q = 1, r = 0: r → q = 1, ¬q = 0, ¬r = 1, ¬q → ¬r = 1, (r → q) ↔ (¬q → ¬r) = 1
q = 0, r = 1: r → q = 0, ¬q = 1, ¬r = 0, ¬q → ¬r = 0, (r → q) ↔ (¬q → ¬r) = 1
q = 0, r = 0: r → q = 1, ¬q = 1, ¬r = 1, ¬q → ¬r = 1, (r → q) ↔ (¬q → ¬r) = 1

จัดประเภท

(r → q) ↔ (¬q → ¬r): 1, 1, 1, 1
เป็น 1 ทุกแถว: tautology

คำตอบ

ซ้ำซ้อน (tautology)
4.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: p = 0, q = 1, r = 1

ตัวบ่งปริมาณและการอ้างเหตุผล: ¬∀x P(x) ≡ ∃x ¬P(x) และ ¬∃x P(x) ≡ ∀x ¬P(x) ย้ายนิเสธเข้าด้านใน สลับทุกตัวบ่งปริมาณที่นิเสธผ่าน และใส่นิเสธให้สูตรด้านในด้วยกฎของประพจน์ เช่น ¬(a → b) ≡ a ∧ ¬b การอ้างเหตุผลสมเหตุสมผลเมื่อบทสรุปเป็น 1 ในทุกแถวที่สมมติฐานทั้งหมดเป็น 1 แถวเดียวที่สมมติฐานเป็นจริงแต่บทสรุปเป็นเท็จคือตัวอย่างค้านและแสดงว่าการอ้างเหตุผลนั้นไม่สมเหตุสมผล

สมมติฐานและบทสรุปทีละแถว

p = 1, q = 1, r = 1: 1 1 | 1
p = 1, q = 1, r = 0: 1 1 | 1
p = 1, q = 0, r = 1: 1 0 | 1
p = 1, q = 0, r = 0: 1 0 | 1
p = 0, q = 1, r = 1: 1 1 | 0
p = 0, q = 1, r = 0: 0 1 | 0
p = 0, q = 0, r = 1: 1 0 | 0
p = 0, q = 0, r = 0: 1 0 | 0

ตัวอย่างค้าน

p = 0, q = 1, r = 1

คำตอบ

p = 0, q = 1, r = 1

การอ้างเหตุผลรูปแบบนี้ดูเหมือนกฎที่สมเหตุสมผล แต่แถวเดียวก็เพียงพอที่จะแสดงว่าไม่ใช่

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

คำตอบ: N = 5

มัลติเพล็กเซอร์: มัลติเพล็กเซอร์ 2ⁿ ต่อ 1 ส่งอินพุตข้อมูลหนึ่งตัวไปยังเอาต์พุต สายเลือก (select) เมื่ออ่านเป็นเลขฐานสองจะเลือกว่าตัวใด สำหรับ MUX 4 ต่อ 1 ที่สายเลือก S₁S₀ = AB จะได้ F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃ การต่ออินพุตข้อมูลเข้ากับ 0, 1, C หรือ C′ ทำให้ MUX สร้างฟังก์ชันใดก็ได้ของ A, B และ C ซึ่งเป็นวิธีที่พบบ่อยในการสร้างตรรกะด้วยชิปตัวเดียว

นิพจน์เอาต์พุต

F = A′B′C′ + A′BC + AB′ + ABC′

แถวที่ F = 1

ABC = 000, 011, 100, 101, 110
N = 5

คำตอบ

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

คำตอบ: ขอบสัญญาณนาฬิกา 3

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา 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

Q หลังทุกขอบ

ฟลิปฟล็อป JK: 00 คงค่า, 01 รีเซ็ต (Q = 0), 10 เซต (Q = 1), 11 สลับค่า

1: J = 0, K = 1 → Q = 0
2: J = 1, K = 0 → Q = 1
3: J = 0, K = 1 → Q = 0
4: J = 0, K = 0 → Q = 0
5: J = 0, K = 1 → Q = 0
6: J = 1, K = 0 → Q = 1
7: J = 1, K = 1 → Q = 0
8: J = 0, K = 0 → Q = 0

การเปลี่ยนจาก 1 เป็น 0 ครั้งแรก

ขอบสัญญาณนาฬิกา 3

คำตอบ

ขอบสัญญาณนาฬิกา 3
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: x = 15

ตัวผกผันและความสอดคล้อง: 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)

ความสอดคล้องข้อแรก

x = 3 + 4k

ความสอดคล้องข้อที่สอง

3 + 4k ≡ 2 (mod 13) → 4k ≡ 12 (mod 13)
k ≡ 10·12 ≡ 3 (mod 13)

ผลลัพธ์

x = 3 + 4·3 = 15
x = 15
ตรวจสอบ: 15 mod 4 = 3, 15 mod 13 = 2

คำตอบ

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

คำตอบ: 953876 mod 97 = 36

เลขยกกำลังมอดูลาร์และ 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

ลดเลขชี้กำลัง

53876 mod 96 = 20
953876 ≡ 920 (mod 97)

เลขยกกำลังขนาดเล็ก

920 mod 97 = 36

คำตอบ

953876 mod 97 = 36
9.อัลกอริทึมและความซับซ้อน

คำตอบ: A · เลือกทางที่ดีที่สุดเฉพาะที่ในแต่ละขั้น

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

อัลกอริทึมละโมบเร็วและให้ผลเหมาะสมที่สุดในบางปัญหา (เช่น Dijkstra, การเข้ารหัส Huffman) แต่ไม่ใช่โดยทั่วไป (เช่น การทอนเหรียญในระบบเหรียญบางแบบ)

คำตอบ

A · เลือกทางที่ดีที่สุดเฉพาะที่ในแต่ละขั้น
10.อัลกอริทึมและความซับซ้อน

คำตอบ: C · อัลกอริทึมของ Kruskal

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

Kruskal เรียงเส้นเชื่อมตามน้ำหนักและเพิ่มเมื่อเชื่อมคนละส่วนประกอบ ส่วน Prim ขยายต้นไม้ต้นเดียวจากจุดยอดเริ่มต้น

คำตอบ

C · อัลกอริทึมของ Kruskal
11.โครงสร้างข้อมูล

คำตอบ: A · สมมาตรเทียบกับเส้นทแยงมุมหลัก

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

ในกราฟไม่มีทิศทาง เส้นเชื่อม {u, v} หมายความว่าทั้ง M[u][v] และ M[v][u] ถูกตั้งค่า เมทริกซ์จึงเท่ากับทรานสโพสของมัน

คำตอบ

A · สมมาตรเทียบกับเส้นทแยงมุมหลัก
12.โครงสร้างข้อมูล

คำตอบ: B · ใบทั้งหมดอยู่ที่ความลึกเดียวกัน

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

โหนดแยกขึ้นด้านบนเมื่อเต็ม และต้นไม้สูงขึ้นเฉพาะเมื่อรากแยก ใบทั้งหมดจึงอยู่ที่ระดับเดียวกันเสมอ

คำตอบ

B · ใบทั้งหมดอยู่ที่ความลึกเดียวกัน
13.ทฤษฎีกราฟ

คำตอบ: k = 1

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

เส้นเชื่อมของต้นไม้ทอดข้าม

17 − 1 = 16

เส้นเชื่อมที่ต้องเอาออก

k = 17 − 16 = 1

คำตอบ

k = 1
14.ทฤษฎีกราฟ

คำตอบ: d(F) = 20

เส้นทางที่สั้นที่สุดและต้นไม้ทอดข้าม: ขั้นตอนวิธีของไดก์สตรายืนยันหนึ่งจุดยอดต่อรอบ: จุดยอดที่ยังไม่ยืนยันซึ่งมีระยะทางชั่วคราวน้อยที่สุด ระยะทางของมันเป็นค่าสุดท้ายแล้ว และเพื่อนบ้าน v ทุกจุดได้ d(v) = min(d(v), d(u) + w(u, v)) ขั้นตอนวิธีของครัสคัลสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเลือกเส้นเชื่อมจากเบาไปหนักและข้ามเส้นที่ทำให้เกิดวัฏจักร ขั้นตอนวิธีของพริมขยายต้นไม้หนึ่งต้นจากจุดยอดเริ่มต้นโดยเพิ่มเส้นเชื่อมที่เบาที่สุดที่ออกจากต้นไม้เสมอ ต้นไม้ทอดข้ามที่มี n จุดยอดมี n − 1 เส้นเชื่อม

ไดก์สตราทีละรอบ

แต่ละบรรทัด: จุดยอดที่ยืนยัน ระยะทางสุดท้ายของมัน และเพื่อนบ้านที่ระยะทางดีขึ้น

A (0): B: 6, C: 6
B (6): D: 21, E: 7
C (6)
E (7): F: 20
F (20)
D (21)

เส้นทางที่สั้นที่สุด

A → B → E → F
d(F) = 20

คำตอบ

d(F) = 20
15.ฐานข้อมูลและ SQL

คำตอบ: A · เชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ

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

self-join เช่น FROM employees e JOIN employees m ON e.manager_id = m.id ทำให้ชื่อแฝงหนึ่งเป็นพนักงานและอีกชื่อเป็นผู้จัดการ

คำตอบ

A · เชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
16.ฐานข้อมูลและ SQL

คำตอบ: D · COUNT(*) นับแถวที่เติม NULL เป็น 1 สำหรับลูกค้าที่ไม่มีคำสั่งซื้อ

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

left join ให้หนึ่งแถวที่คอลัมน์คำสั่งซื้อเป็น NULL สำหรับลูกค้ากลุ่มนี้ COUNT(o.id) ข้าม NULL และรายงาน 0 ได้ถูกต้อง

คำตอบ

D · COUNT(*) นับแถวที่เติม NULL เป็น 1 สำหรับลูกค้าที่ไม่มีคำสั่งซื้อ
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · 10.1.200.5

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

เมื่อเป็น /16 สิบหกบิตแรก (10.1) เป็นส่วนเครือข่าย มีเพียง 10.1.200.5 ที่ใช้ร่วมกัน จึงอยู่ใน 10.1.0.0/16

คำตอบ

A · 10.1.200.5
18.เครือข่ายคอมพิวเตอร์

คำตอบ: A · อัลกอริทึมของ Nagle (Nagle's algorithm)

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

อัลกอริทึมของ Nagle รอรวมเซกเมนต์ขนาดเล็กขณะที่ข้อมูลก่อนหน้ายังไม่ได้รับการตอบรับ ช่วยประหยัดแบนด์วิดท์แต่เพิ่มความล่าช้าให้ทราฟฟิกแบบโต้ตอบ

คำตอบ

A · อัลกอริทึมของ Nagle (Nagle's algorithm)
19.การแบ่งซับเน็ต IPv4

คำตอบ: x = 71

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).

ขนาดบล็อก

23 = 8

ซับเน็ตหมายเลข 9

เครือข่าย: (9 − 1)·8 = 64
บรอดคาสต์: 64 + 8 − 1 = 71

คำตอบ

x = 71
20.การแบ่งซับเน็ต IPv4

คำตอบ: x = 215

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

ขนาดบล็อก

23 = 8

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

เครือข่าย: ⌊210/8⌋·8 = 208
บรอดคาสต์: 208 + 8 − 1 = 215
โฮสต์ที่ใช้ได้: 209 … 214

คำตอบ

x = 215

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