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

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

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

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

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 1010 0110 << 2 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

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

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

¬(a ∧ b) ↔ (¬a ∨ ¬b)
  1. 1ซ้ำซ้อน (tautology)
  2. 2ขัดแย้ง (contradiction)
  3. 3contingency
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
bcc ∨ bc¬b11100100

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

c ∨ bc∴ ¬b
  1. 1b = 1, c = 1
  2. 2b = 1, c = 0
  3. 3b = 0, c = 1
  4. 4b = 0, c = 0
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
MUX1I0​0I1​CI2​CI3​ABS1​S0​F

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

I₀ = 1I₁ = 0I₂ = CI₃ = C
N =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
TQ0​Q0​TQ1​Q1​TQ2​Q2​TQ3​Q3​CLKUP

ตัวนับขึ้นฐานสอง 4 บิต เริ่มที่ 9 (ฐานสิบ, Q = 1001) หลังพัลส์นาฬิกา 42 พัลส์ จะแสดงค่านับ Q (เป็นเลขฐานสิบ) เท่าใด

Q0 = 942n = 4
Q =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาตัวผกผันของ 16 มอดูโล 79: จำนวน x ที่ 0 < x < 79 และ 16·x ≡ 1 (mod 79)

a = 16n = 79
16−1 mod 79 =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก

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

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

อัลกอริทึมใดหาเส้นทางสั้นที่สุดจากต้นทางหนึ่งในกราฟที่น้ำหนักเส้นเชื่อมไม่เป็นลบ

  1. Aการค้นหาในแนวลึก
  2. Bต้องใช้ Bellman–Ford ในทุกกรณี
  3. Cอัลกอริทึมของ Dijkstra
  4. Dอัลกอริทึมของ Kruskal
10.อัลกอริทึมและความซับซ้อนยาก

ข้อใดเกี่ยวกับ P และ NP ถูกต้อง

  1. ANP หมายถึง "ไม่ใช่พหุนาม"
  2. Bทุกปัญหาใน P อยู่ใน NP ด้วย
  3. Cได้พิสูจน์แล้วว่า P ≠ NP
  4. Dปัญหา NP ตรวจสอบอย่างรวดเร็วไม่ได้
11.โครงสร้างข้อมูลปานกลาง

โครงสร้างข้อมูลใดที่การค้นหาในแนวลึก (DFS) แบบวนซ้ำใช้

  1. Aฮีป
  2. Bสแตก
  3. Cคิว
  4. Dตารางแฮชเท่านั้น
12.โครงสร้างข้อมูลยาก

ใน BST ที่มีราก 50 ต้นไม้ย่อยซ้าย 30 (ลูก 20, 40) และต้นไม้ย่อยขวา 70 (ลูก 60, 80) ลบรากโดยใช้ in-order successor คีย์ใดกลายเป็นรากใหม่

  1. A80
  2. B40
  3. C60
  4. D70
13.ทฤษฎีกราฟปานกลาง
ABCDEFGวงจรออยเลอร์ทางเดินออยเลอร์ ไม่มีวงจรไม่ใช่ทั้งสองอย่าง

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

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

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

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

WHERE EXISTS (subquery) เป็นจริงสำหรับแถวเมื่อใด?

  1. Aเมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว
  2. Bเมื่อซับคิวรีคืนหนึ่งแถวพอดี
  3. Cเมื่อซับคิวรีไม่คืนค่า NULL
  4. Dเมื่อซับคิวรีคืนตัวเลขที่มากกว่าศูนย์
16.ฐานข้อมูลและ SQLยาก

เหตุใด SELECT dept, name, COUNT(*) FROM emp GROUP BY dept จึงไม่ถูกต้องใน SQL มาตรฐาน?

  1. AGROUP BY ต้องระบุทุกคอลัมน์ของตาราง
  2. Bdept ต้องอยู่ในฟังก์ชันรวมค่า
  3. Cname ไม่ได้ถูกจัดกลุ่มหรือรวมค่า จึงไม่มีค่าเดียวต่อกลุ่ม
  4. DCOUNT(*) ใช้ร่วมกับ GROUP BY ไม่ได้
17.เครือข่ายคอมพิวเตอร์ปานกลาง

ความแตกต่างหลักระหว่างเมทอด HTTP แบบ GET และ POST คืออะไร?

  1. AGET เข้ารหัส ส่วน POST ไม่เข้ารหัส
  2. BGET ดึงทรัพยากร ส่วน POST ส่งข้อมูลในเนื้อหาของคำขอ
  3. CGET ลบทรัพยากร ส่วน POST อ่านทรัพยากรจากฐานข้อมูลของเซิร์ฟเวอร์
  4. DGET ใช้ UDP ส่วน POST ใช้ TCP
18.เครือข่ายคอมพิวเตอร์ยาก

ไฟร์วอลล์บล็อก ICMP ทั้งหมด คำขอเว็บขนาดเล็กใช้ได้ แต่การดาวน์โหลดขนาดใหญ่บนบางเส้นทางค้าง สาเหตุที่น่าจะเป็นคืออะไร?

  1. ADNS ต้องใช้ ICMP ในการแปลงชื่อ
  2. BTCP เปิดการเชื่อมต่อไม่ได้หากไม่มี ICMP
  3. Cใบรับรอง TLS ถูกส่งผ่าน ICMP
  4. Dpath MTU discovery ล้มเหลวเพราะข้อความ "fragmentation needed" ถูกบล็อก
19.การแบ่งซับเน็ต IPv4ปานกลาง
255.255.240.011111111111111111111000000000000บิตเครือข่ายบิตโฮสต์

ซับเน็ตหนึ่งใช้มาสก์ 255.255.240.0 มีที่อยู่โฮสต์ที่ใช้ได้กี่ที่อยู่ H

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

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

10.20.102.138/29
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 240

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

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

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

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

1111 0000₂ = 256 − 16 = 240

คำตอบ

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

คำตอบ: R = 152

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

ทีละบิต

การเลื่อนซ้าย 2 ตำแหน่งย้ายทุกบิตไปทางซ้าย 2 ตำแหน่ง บิตที่หลุดออกปลายซ้ายหายไปและศูนย์เข้ามาทางขวา

1010 0110 << 2
= 1001 1000

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

1001 1000₂ = 152

คำตอบ

R = 152
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)

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

a = 1, b = 1: a ∧ b = 1, ¬(a ∧ b) = 0, ¬a = 0, ¬b = 0, ¬a ∨ ¬b = 0, ¬(a ∧ b) ↔ (¬a ∨ ¬b) = 1
a = 1, b = 0: a ∧ b = 0, ¬(a ∧ b) = 1, ¬a = 0, ¬b = 1, ¬a ∨ ¬b = 1, ¬(a ∧ b) ↔ (¬a ∨ ¬b) = 1
a = 0, b = 1: a ∧ b = 0, ¬(a ∧ b) = 1, ¬a = 1, ¬b = 0, ¬a ∨ ¬b = 1, ¬(a ∧ b) ↔ (¬a ∨ ¬b) = 1
a = 0, b = 0: a ∧ b = 0, ¬(a ∧ b) = 1, ¬a = 1, ¬b = 1, ¬a ∨ ¬b = 1, ¬(a ∧ b) ↔ (¬a ∨ ¬b) = 1

จัดประเภท

¬(a ∧ b) ↔ (¬a ∨ ¬b): 1, 1, 1, 1
เป็น 1 ทุกแถว: tautology

คำตอบ

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

คำตอบ: b = 1, c = 1

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

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

b = 1, c = 1: 1 1 | 0
b = 1, c = 0: 1 0 | 0
b = 0, c = 1: 1 1 | 1
b = 0, c = 0: 0 0 | 1

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

b = 1, c = 1

คำตอบ

b = 1, c = 1

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

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′ + AB′C + ABC

แถวที่ F = 1

ABC = 000, 001, 101, 111
N = 4

คำตอบ

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

คำตอบ: Q = 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

รอบเต็ม

ทุก 16 พัลส์ทำให้ตัวนับกลับสู่สถานะเดิม

42 = 2·16 + 10

ค่านับหลังพัลส์ที่เหลือ

Q = (9 + 10) mod 16 = 3
Q = 0011₂

คำตอบ

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

คำตอบ: 16−1 mod 79 = 5

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

ขั้นตอนวิธีของยูคลิดแบบขยาย

เศษ r แต่ละตัวเขียนเป็น r ≡ t·16 (mod 79)

r = 79, t = 0
r = 16, q = 4, t = 1
r = 15, q = 1, t = −4
r = 1, q = 15, t = 5

อินเวอร์ส

1 ≡ 5·16 (mod 79)
x = 5
ตรวจสอบ: 16·5 = 80 = 1·79 + 1

คำตอบ

16−1 mod 79 = 5
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: 2045809 mod 83 = 46

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

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

45809 mod 82 = 53
2045809 ≡ 2053 (mod 83)

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

2053 mod 83 = 46

คำตอบ

2045809 mod 83 = 46
9.อัลกอริทึมและความซับซ้อน

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

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

อัลกอริทึมของ Dijkstra ใช้ได้กับน้ำหนักที่ไม่เป็นลบ ส่วน Bellman–Ford รองรับน้ำหนักติดลบ และ Kruskal สร้างต้นไม้ทอดข้ามที่น้อยที่สุด

คำตอบ

C · อัลกอริทึมของ Dijkstra
10.อัลกอริทึมและความซับซ้อน

คำตอบ: B · ทุกปัญหาใน P อยู่ใน NP ด้วย

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

P ⊆ NP: ถ้าแก้ปัญหาได้เร็ว ก็ตรวจสอบคำตอบได้เร็ว ส่วนคำถามว่า P = NP หรือไม่ยังเป็นปัญหาเปิด

คำตอบ

B · ทุกปัญหาใน P อยู่ใน NP ด้วย
11.โครงสร้างข้อมูล

คำตอบ: B · สแตก

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

DFS สำรวจลึกที่สุดเท่าที่ทำได้ โดยใช้สแตกตามธรรมชาติ (หรือสแตกการเรียกของการเรียกซ้ำ) ส่วน BFS ใช้คิว

คำตอบ

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

คำตอบ: C · 60

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

โหนดซ้ายสุดของต้นไม้ย่อยขวาคือ 60 ดังนั้น 60 แทนที่ 50 และตำแหน่งเดิมของมันถูกลบ ถ้าใช้ predecessor จะได้ 40

คำตอบ

C · 60
13.ทฤษฎีกราฟ

คำตอบ: ทางเดินออยเลอร์ ไม่มีวงจร

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

ดีกรี

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

จุดยอดคี่

A, E → 2
ทางเดินออยเลอร์ ไม่มีวงจร

คำตอบ

ทางเดินออยเลอร์ ไม่มีวงจร

ทางเดินออยเลอร์เริ่มที่จุดยอดคี่จุดหนึ่งและจบที่อีกจุดหนึ่ง

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
B: 1 0 1 1 1
C: 1 1 0 0 1
D: 0 1 0 0 0
E: 0 1 1 0 0

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

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

คำตอบ

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

คำตอบ: A · เมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว

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

EXISTS ตรวจเพียงว่ามีแถวถูกสร้างหรือไม่ ส่วน NOT EXISTS เป็นจริงเมื่อซับคิวรีไม่คืนแถวเลย

คำตอบ

A · เมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว
16.ฐานข้อมูลและ SQL

คำตอบ: C · name ไม่ได้ถูกจัดกลุ่มหรือรวมค่า จึงไม่มีค่าเดียวต่อกลุ่ม

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

ทุกคอลัมน์ในรายการ SELECT ต้องอยู่ใน GROUP BY หรืออยู่ในฟังก์ชันรวมค่า (หรือพึ่งพาเชิงฟังก์ชันกับคอลัมน์จัดกลุ่ม) มิฉะนั้นค่าไม่ชัดเจน

คำตอบ

C · name ไม่ได้ถูกจัดกลุ่มหรือรวมค่า จึงไม่มีค่าเดียวต่อกลุ่ม
17.เครือข่ายคอมพิวเตอร์

คำตอบ: B · GET ดึงทรัพยากร ส่วน POST ส่งข้อมูลในเนื้อหาของคำขอ

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

GET ขอทรัพยากรและไม่ควรเปลี่ยนสถานะของเซิร์ฟเวอร์ ส่วน POST ส่งข้อมูล เช่น แบบฟอร์ม ในเนื้อหาให้เซิร์ฟเวอร์ประมวลผล

คำตอบ

B · GET ดึงทรัพยากร ส่วน POST ส่งข้อมูลในเนื้อหาของคำขอ
18.เครือข่ายคอมพิวเตอร์

คำตอบ: D · path MTU discovery ล้มเหลวเพราะข้อความ "fragmentation needed" ถูกบล็อก

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

PMTUD อาศัยข้อความ ICMP เพื่อเรียนรู้ MTU ที่เล็กกว่า หากถูกทิ้ง แพ็กเก็ตขนาดใหญ่จะหายไปอย่างเงียบ ๆ ทำให้เกิดการเชื่อมต่อแบบ "หลุมดำ" (black hole)

คำตอบ

D · path MTU discovery ล้มเหลวเพราะข้อความ "fragmentation needed" ถูกบล็อก
19.การแบ่งซับเน็ต IPv4

คำตอบ: H = 4094

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

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

255.255.240.0 = /20

โฮสต์ที่ใช้ได้

212 − 2 = 4094

คำตอบ

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

คำตอบ: x = 143

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

ขนาดบล็อก

23 = 8

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

เครือข่าย: ⌊138/8⌋·8 = 136
บรอดคาสต์: 136 + 8 − 1 = 143
โฮสต์ที่ใช้ได้: 137 … 142

คำตอบ

x = 143

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