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

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 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 บิต?−128?64?32?16?8?4?2?1

เขียน −87 เป็นรูปแบบ two's complement 8 บิต อ่านรูปแบบนั้นเป็นเลขฐานสองแบบไม่มีเครื่องหมาย ค่าของมัน U ในเลขฐานสิบคือเท่าใด

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

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 0001 1100 OR 1101 0010 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

0001 1100OR1101 0010
R =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
¬p → ¬rp → ¬rp ∧ ¬r¬p ∨ ¬r

สูตรใดสมมูลเชิงตรรกะกับ ¬(p → r) ให้คลิกสูตรนั้น

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

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

(¬c → b) ∨ ((¬a ∨ d) ∧ ¬(b ∨ d))
N =
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
MUXC′I0​C′I1​C′I2​CI3​ABS1​S0​F

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

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

ฟลิปฟล็อป 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
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาจำนวนเต็มบวกที่น้อยที่สุด x ที่ x ≡ 6 (mod 8) และ x ≡ 5 (mod 9)

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

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

a = 23k = 131n = 51
23131 mod 51 =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ขอบเขตล่างของการเรียงลำดับแบบเปรียบเทียบในกรณีเลวร้ายที่สุดคือ

  1. AΩ(n log n)
  2. BΩ(n)
  3. CΩ(n²)
  4. DΩ(log n)
10.อัลกอริทึมและความซับซ้อนยาก

การเรียงลำดับทอพอโลยีทำได้เฉพาะกับ

  1. Aกราฟบริบูรณ์
  2. Bกราฟที่มีน้ำหนักติดลบ
  3. Cกราฟไม่มีทิศทาง
  4. Dกราฟมีทิศทางแบบไม่มีวงจร (DAG)
11.โครงสร้างข้อมูลปานกลาง

ในตารางแฮชที่ใช้ open addressing ตัวประกอบการโหลดสูงสุดที่เป็นไปได้คือเท่าใด

  1. A1
  2. Bไม่มีค่าสูงสุด
  3. C0.5
  4. D2
12.โครงสร้างข้อมูลยาก

วัตถุถูกเก็บเป็นคีย์ใน hash map จากนั้นฟิลด์ที่ฟังก์ชันแฮชใช้ถูกเปลี่ยน ผลลัพธ์ที่น่าจะเกิดคืออะไร

  1. Amap ย้ายคีย์ไปถังใหม่โดยอัตโนมัติ
  2. Bmap โยนข้อผิดพลาดทันทีที่ฟิลด์เปลี่ยน
  3. Cการค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า
  4. Dไม่มีอะไรเปลี่ยน เพราะแฮชของคีย์คำนวณเพียงครั้งเดียวตอนโปรแกรมเริ่มทำงาน
13.ทฤษฎีกราฟปานกลาง
ABCDEFGวงจรออยเลอร์ทางเดินออยเลอร์ ไม่มีวงจรไม่ใช่ทั้งสองอย่าง

กราฟเชื่อมโยงนี้มีวงจรออยเลอร์ ทางเดินออยเลอร์ที่ไม่ใช่วงจร หรือไม่มีทั้งสองอย่าง ให้คลิกคำตอบของคุณ

|V| = 7|E| = 7
  1. 1วงจรออยเลอร์
  2. 2ทางเดินออยเลอร์ ไม่มีวงจร
  3. 3ไม่ใช่ทั้งสองอย่าง
14.ทฤษฎีกราฟยาก
615491053128ABCDEFG

ขั้นตอนวิธีของพริมสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเริ่มจากจุดยอด B ให้คลิกเส้นเชื่อมที่เพิ่มเป็นเส้นหมายเลข 3

เริ่มต้น: Bk = 3
  1. 1เส้นเชื่อม AB
  2. 2เส้นเชื่อม BD
  3. 3เส้นเชื่อม CE
  4. 4เส้นเชื่อม DE
  5. 5เส้นเชื่อม DF
  6. 6เส้นเชื่อม EF
  7. 7เส้นเชื่อม GB
  8. 8เส้นเชื่อม GC
  9. 9เส้นเชื่อม GD
15.ฐานข้อมูลและ SQLปานกลาง

INTERSECT คืนอะไรเมื่อใช้ระหว่างคิวรี SELECT สองคิวรี?

  1. Aทุกแถวจากทั้งสองผลลัพธ์
  2. Bแถวในผลลัพธ์แรกที่ไม่อยู่ในผลลัพธ์ที่สอง
  3. Cผลคูณคาร์ทีเซียนของผลลัพธ์
  4. Dแถวที่ปรากฏในทั้งสองผลลัพธ์
16.ฐานข้อมูลและ SQLยาก

EXPLAIN (หรือ EXPLAIN ANALYZE ใน PostgreSQL) แสดงอะไรสำหรับคิวรี?

  1. Aแผนการประมวลผลที่ตัวปรับแต่งเลือก เช่น การสแกนและวิธีเชื่อม
  2. Bการเขียนคิวรีใหม่ในสัญกรณ์พีชคณิตเชิงสัมพันธ์เท่านั้น
  3. Cความหมายของแต่ละคีย์เวิร์ด SQL ในคิวรี
  4. Dรายชื่อผู้ใช้ที่รันคิวรี
17.เครือข่ายคอมพิวเตอร์ปานกลาง

เบราว์เซอร์ได้รับรหัสสถานะ HTTP 404 หมายความว่าอย่างไร?

  1. Aไม่พบทรัพยากรที่ขอ
  2. Bไคลเอนต์ต้องล็อกอินก่อน
  3. Cเซิร์ฟเวอร์เกิดข้อผิดพลาดภายใน
  4. Dคำขอสำเร็จ
18.เครือข่ายคอมพิวเตอร์ยาก

BGP ทำหน้าที่หลักอะไรบนอินเทอร์เน็ต?

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

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

929 hosts
p =
20.การแบ่งซับเน็ต IPv4ยาก
ออคเต็ตสุดท้าย = 150112806403211608141201เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 10.20.140.150/30 ออคเต็ตที่สี่ x ของที่อยู่โฮสต์ที่ใช้ได้สุดท้ายในซับเน็ตคือเท่าใด

10.20.140.150/30
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 169

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

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

87 = 0101 0111
ที่กลับบิตแล้ว: 1010 1000
+1 → 1010 1001

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

1010 1001₂ = 256 − 87 = 169

คำตอบ

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

คำตอบ: R = 222

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

ทีละบิต

OR ให้ 1 เมื่ออย่างน้อยหนึ่งบิตเป็น 1

0001 1100
OR 1101 0010
= 1101 1110

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

1101 1110₂ = 222

คำตอบ

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

คำตอบ: p ∧ ¬r

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (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)

กฎ

¬(a → b) ≡ ¬(¬a ∨ b) ≡ a ∧ ¬b: แถวเดียวที่นัยเป็นเท็จ
¬(p → r) ≡ p ∧ ¬r

ตรวจสอบด้วยตารางค่าความจริง

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

คำตอบ

p ∧ ¬r

คอลัมน์หลังเส้นคั่นคือตัวเลือกตามลำดับที่แสดง

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

คำตอบ: N = 13

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

คอลัมน์

¬c; ¬c → b; ¬a; ¬a ∨ d; b ∨ d; ¬(b ∨ d); (¬a ∨ d) ∧ ¬(b ∨ d); (¬c → b) ∨ ((¬a ∨ d) ∧ ¬(b ∨ d))

แยกตาม a

a = 1: 6
a = 0: 7
N = 6 + 7 = 13

คำตอบ

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

คำตอบ: N = 4

มัลติเพล็กเซอร์: มัลติเพล็กเซอร์ 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′C′ + ABC

แถวที่ F = 1

ABC = 000, 010, 100, 111
N = 4

คำตอบ

N = 4
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 = 1, K = 0 → Q = 1
2: J = 0, K = 0 → Q = 1
3: J = 0, K = 1 → Q = 0
4: J = 1, K = 0 → Q = 1
5: J = 0, K = 0 → Q = 1
6: J = 0, K = 1 → Q = 0
7: J = 0, K = 1 → Q = 0

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

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

คำตอบ

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

คำตอบ: x = 14

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

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

6 + 8k ≡ 5 (mod 9) → 8k ≡ 8 (mod 9)
k ≡ 8·8 ≡ 1 (mod 9)

ผลลัพธ์

x = 6 + 8·1 = 14
x = 14
ตรวจสอบ: 14 mod 8 = 6, 14 mod 9 = 5

คำตอบ

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

คำตอบ: 23131 mod 51 = 29

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

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

131 = 100000112 = 128 + 2 + 1

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

231 ≡ 23 (mod 51)
232 ≡ 19 (mod 51)
234 ≡ 4 (mod 51)
238 ≡ 16 (mod 51)
2316 ≡ 1 (mod 51)
2332 ≡ 1 (mod 51)
2364 ≡ 1 (mod 51)
23128 ≡ 1 (mod 51)

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

23131 ≡ 23·19·1 ≡ 29 (mod 51)

คำตอบ

23131 mod 51 = 29
9.อัลกอริทึมและความซับซ้อน

คำตอบ: A · Ω(n log n)

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

การเรียงแบบเปรียบเทียบใด ๆ ต้องใช้อย่างน้อย log₂(n!) ≈ n log n ครั้งในกรณีเลวร้ายที่สุด การเรียงแบบนับ (counting sort) ทำได้ดีกว่าเพราะไม่ได้เปรียบเทียบ

คำตอบ

A · Ω(n log n)
10.อัลกอริทึมและความซับซ้อน

คำตอบ: D · กราฟมีทิศทางแบบไม่มีวงจร (DAG)

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

ลำดับทอพอโลยีมีอยู่ก็ต่อเมื่อกราฟมีทิศทางไม่มีวงจร และหาได้ใน O(V + E) ด้วย DFS หรืออัลกอริทึมของ Kahn

คำตอบ

D · กราฟมีทิศทางแบบไม่มีวงจร (DAG)
11.โครงสร้างข้อมูล

คำตอบ: A · 1

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

ด้วย open addressing ทุกคีย์ถูกเก็บในตารางเอง n จึงเกิน m ไม่ได้ ส่วน separate chaining มี load factor เกิน 1 ได้

คำตอบ

A · 1
12.โครงสร้างข้อมูล

คำตอบ: C · การค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า

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

ตำแหน่งของคีย์เลือกจากแฮชเก่า เมื่อแฮชใหม่ การค้นหาจะดูผิดถัง คีย์จึงควรเปลี่ยนแปลงไม่ได้ (immutable)

คำตอบ

C · การค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า
13.ทฤษฎีกราฟ

คำตอบ: ไม่ใช่ทั้งสองอย่าง

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

ดีกรี

deg(A) = 1, deg(B) = 2, deg(C) = 2, deg(D) = 3, deg(E) = 1, deg(F) = 2, deg(G) = 3

จุดยอดคี่

A, D, E, G → 4
ไม่ใช่ทั้งสองอย่าง

คำตอบ

ไม่ใช่ทั้งสองอย่าง
14.ทฤษฎีกราฟ

คำตอบ: เส้นเชื่อม GD

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

ขั้นตอนวิธีของพริม

1. GB (3)
2. AB (6)
3. GD (8)
4. DE (9)
5. CE (4)
6. EF (5)

เส้นเชื่อมหมายเลข 3

GD

คำตอบ

เส้นเชื่อม GD
15.ฐานข้อมูลและ SQL

คำตอบ: D · แถวที่ปรากฏในทั้งสองผลลัพธ์

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

INTERSECT เก็บเฉพาะแถวที่มีในทั้งสองคิวรี และเช่นเดียวกับ UNION โดยค่าเริ่มต้นจะลบแถวซ้ำ

คำตอบ

D · แถวที่ปรากฏในทั้งสองผลลัพธ์
16.ฐานข้อมูลและ SQL

คำตอบ: A · แผนการประมวลผลที่ตัวปรับแต่งเลือก เช่น การสแกนและวิธีเชื่อม

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

EXPLAIN แสดงแผน (สแกนด้วยดัชนีหรือสแกนตามลำดับ อัลกอริทึมการเชื่อม ต้นทุนโดยประมาณ) ส่วน EXPLAIN ANALYZE รันคิวรีด้วยและรายงานเวลาจริง

คำตอบ

A · แผนการประมวลผลที่ตัวปรับแต่งเลือก เช่น การสแกนและวิธีเชื่อม
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · ไม่พบทรัพยากรที่ขอ

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

404 Not Found หมายความว่าเซิร์ฟเวอร์ไม่มีทรัพยากรที่ URL นั้น 200 คือ OK, 401 คือ Unauthorized และ 500 คือ Internal Server Error

คำตอบ

A · ไม่พบทรัพยากรที่ขอ
18.เครือข่ายคอมพิวเตอร์

คำตอบ: A · แลกเปลี่ยนข้อมูลการกำหนดเส้นทางระหว่างระบบอิสระ (autonomous system)

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

BGP เป็นโพรโทคอลเลือกเส้นทางระหว่างโดเมน ระบบอิสระประกาศพรีฟิกซ์ที่เข้าถึงได้และเลือกเส้นทางตามนโยบาย

คำตอบ

A · แลกเปลี่ยนข้อมูลการกำหนดเส้นทางระหว่างระบบอิสระ (autonomous system)
19.การแบ่งซับเน็ต IPv4

คำตอบ: p = 22

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

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

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

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

p = 32 − 10 = 22

คำตอบ

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

คำตอบ: x = 150

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

ขนาดบล็อก

22 = 4

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

เครือข่าย: ⌊150/4⌋·4 = 148
บรอดคาสต์: 148 + 4 − 1 = 151
โฮสต์ที่ใช้ได้: 149 … 150

คำตอบ

x = 150

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