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

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

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

N = −958 bit
U =
2.ระบบเลขยาก
รหัส 1966 ตัว, b = ? บิต?2ᵇ⁻¹…?4?2?1

ระบบต้องให้รหัสฐานสองความยาวเท่ากันแก่สิ่งของ 1966 ชิ้น ชิ้นละหนึ่งรหัส ต้องใช้อย่างน้อยกี่บิต b

1966
b = bit
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
¬p ∧ ¬r¬p ∨ r¬p ∨ ¬r¬p ∧ r

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

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

ประโยคใดสมมูลกับ ¬∀x (P(x) ∨ Q(x)) เมื่อย้ายนิเสธเข้าด้านในสุด ให้คลิกประโยคนั้น

¬∀x (P(x) ∨ Q(x))
  1. 1∀x (¬P(x) ∨ ¬Q(x))
  2. 2∃x (¬P(x) ∨ ¬Q(x))
  3. 3∃x (¬P(x) ∧ ¬Q(x))
  4. 4∀x (¬P(x) ∧ ¬Q(x))
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
MUXCI0​CI1​C′I2​0I3​ABS1​S0​F

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

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

ตัวนับมอด-7 แบบซิงโครนัสนับ 0, 1, …, 6 แล้ววนกลับเป็น 0 เริ่มที่ 4 หลังพัลส์นาฬิกา 19 พัลส์ จะแสดงค่านับ Q (เป็นเลขฐานสิบ) เท่าใด

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

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

n = 91 = 7·13
φ(91) =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
mc = me​ mod n450m = cd​ mod n?(n, e) = (779, 23)d

กุญแจ RSA ใช้ p = 19, q = 41 และ e = 23 จงถอดรหัสข้อความเข้ารหัส c = 450: หาข้อความ m

p = 19q = 41e = 23c = 450
m =
9.อัลกอริทึมและความซับซ้อนปานกลาง

การเรียกซ้ำของ merge sort สำหรับอาร์เรย์ n สมาชิกมีกี่ระดับ

  1. Aประมาณ √n
  2. Bประมาณ n
  3. Cประมาณ log₂ n
  4. Dประมาณ n / 2
10.อัลกอริทึมและความซับซ้อนยาก

ข้อใดเกี่ยวกับสัญกรณ์ little-o ถูกต้อง

  1. A2n = o(n) เพราะ 2n เติบโตช้า
  2. Bn² = o(n)
  3. Cn = o(n²) แต่ n ไม่ใช่ o(n)
  4. Dn = o(n) เพราะทุกฟังก์ชันเป็น little-o ของตัวมันเอง
11.โครงสร้างข้อมูลปานกลาง

เมทริกซ์ประชิด (adjacency matrix) ของกราฟที่มี V จุดยอดใช้หน่วยความจำเท่าใด

  1. AO(log V)
  2. BO(V + E)
  3. CO(V²)
  4. DO(E)
12.โครงสร้างข้อมูลยาก

ตรวจว่าลิงก์ลิสต์เชิงเดี่ยวมีวงจรหรือไม่โดยใช้หน่วยความจำเพิ่ม O(1) ได้อย่างไร

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

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

2 × deg 33 × deg 43 × deg 5
L =
14.ทฤษฎีกราฟยาก
10121714519415113ABCDEFG

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

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

EXCEPT (เรียก MINUS ใน Oracle) คืนอะไร?

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

ดัชนีครอบคลุม (covering index) สำหรับคิวรีคืออะไร?

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

เหตุใด Wi-Fi จึงใช้การหลีกเลี่ยงการชน (CSMA/CA) แทนการตรวจจับการชน?

  1. Aสัญญาณวิทยุไม่เคยชนกัน
  2. Bสถานีไร้สายตรวจจับการชนได้ไม่น่าเชื่อถือขณะที่กำลังส่ง
  3. Cการตรวจจับการชนใช้ได้เฉพาะกับสายใยแก้วนำแสง ไม่ใช่ช่องสัญญาณวิทยุไร้สายที่ใช้ร่วมกัน
  4. DWi-Fi อนุญาตเพียงหนึ่งอุปกรณ์ต่อเครือข่าย
18.เครือข่ายคอมพิวเตอร์ยาก

เหตุใดเบราว์เซอร์จึงเตือนเมื่อเว็บไซต์แสดงใบรับรองที่ลงนามด้วยตนเอง (self-signed)?

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

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

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

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

10.20.61.26/28
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 161

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

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

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

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

1010 0001₂ = 256 − 95 = 161

คำตอบ

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

คำตอบ: b = 11 bit

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

กำลังของสอง

210 = 1024 < 1966
211 = 2048 ≥ 1966

คำตอบ

b = 11
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 ตัว ∧ เปลี่ยนเป็น ∨ และทั้งสองส่วนถูกใส่นิเสธ
¬(p ∧ r) ≡ ¬p ∨ ¬r

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

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

คำตอบ

¬p ∨ ¬r

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

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

คำตอบ: ∃x (¬P(x) ∧ ¬Q(x))

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

ย้ายนิเสธเข้าด้านใน

¬∀x (P(x) ∨ Q(x)) ≡ ∃x (¬P(x) ∧ ¬Q(x))

คำตอบ

∃x (¬P(x) ∧ ¬Q(x))

ตัวเลือกอื่นอาจคงตัวบ่งปริมาณไว้ไม่เปลี่ยน เปลี่ยนลำดับของตัวบ่งปริมาณ หรือใส่นิเสธให้สูตรด้านในผิด

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

คำตอบ: N = 3

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

แถวที่ F = 1

ABC = 001, 011, 100
N = 3

คำตอบ

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

คำตอบ: Q = 2

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

รอบเต็ม

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

19 = 2·7 + 5

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

Q = (4 + 5) mod 7 = 2
Q = 010₂

คำตอบ

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

คำตอบ: φ(91) = 72

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

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

91 = 7·13

โทเทียนต์

φ(91) = φ(13)·φ(7) = 12·6 = 72

คำตอบ

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

คำตอบ: m = 40

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

เลขชี้กำลังส่วนตัว

n = 779, φ(n) = 720
d = 23−1 mod 720 = 407

ถอดรหัสด้วยการยกกำลังสองซ้ำ

407 = 256 + 128 + 16 + 4 + 2 + 1
4501 ≡ 450 (mod 779)
4502 ≡ 739 (mod 779)
4504 ≡ 42 (mod 779)
4508 ≡ 206 (mod 779)
45016 ≡ 370 (mod 779)
45032 ≡ 575 (mod 779)
45064 ≡ 329 (mod 779)
450128 ≡ 739 (mod 779)
450256 ≡ 42 (mod 779)
450407 ≡ 450·739·42·370·739·42 ≡ 40 (mod 779)

ข้อความ

m = 40
ตรวจสอบ: 4023 mod 779 = 450

คำตอบ

m = 40
9.อัลกอริทึมและความซับซ้อน

คำตอบ: C · ประมาณ log₂ n

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

การแบ่งครึ่งจาก n ลงถึง 1 ใช้ประมาณ log₂ n ระดับ และแต่ละระดับทำงานผสาน O(n) ได้ O(n log n)

คำตอบ

C · ประมาณ log₂ n
10.อัลกอริทึมและความซับซ้อน

คำตอบ: C · n = o(n²) แต่ n ไม่ใช่ o(n)

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

f = o(g) หมายความว่า f(n) / g(n) เข้าใกล้ 0 โดย n / n² เข้าใกล้ 0 แต่ n / n = 1 ไม่เข้าใกล้ 0

คำตอบ

C · n = o(n²) แต่ n ไม่ใช่ o(n)
11.โครงสร้างข้อมูล

คำตอบ: C · O(V²)

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

เมทริกซ์ประชิดเก็บ V × V ช่อง มีประสิทธิภาพสำหรับกราฟหนาแน่น ส่วนรายการประชิดใช้ O(V + E) ดีกว่าสำหรับกราฟเบาบาง

คำตอบ

C · O(V²)
12.โครงสร้างข้อมูล

คำตอบ: A · เลื่อนตัวชี้หนึ่งทีละหนึ่งก้าวและอีกตัวสองก้าว แล้วตรวจว่าพบกันหรือไม่

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

ในอัลกอริทึมของ Floyd ถ้ามีวงจร ตัวชี้เร็วจะไล่ทันตัวช้าในที่สุด มิฉะนั้นตัวชี้เร็วถึง null

คำตอบ

A · เลื่อนตัวชี้หนึ่งทีละหนึ่งก้าวและอีกตัวสองก้าว แล้วตรวจว่าพบกันหรือไม่
13.ทฤษฎีกราฟ

คำตอบ: L = 19

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

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

L + 33 = 2(L + 8) − 2
L = 19

คำตอบ

L = 19

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

14.ทฤษฎีกราฟ

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

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

ขั้นตอนวิธีของครัสคัล

1. GE (3)
2. GB (4)
3. DE (5)
4. AB (10)
5. AC (12)
6. EF (19)

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

AC

คำตอบ

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

คำตอบ: B · แถวของคิวรีแรกที่ไม่ปรากฏในคิวรีที่สอง

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

A EXCEPT B ให้แถวใน A ที่ไม่อยู่ใน B การสลับคิวรีจึงให้ผลต่างกัน

คำตอบ

B · แถวของคิวรีแรกที่ไม่ปรากฏในคิวรีที่สอง
16.ฐานข้อมูลและ SQL

คำตอบ: C · ดัชนีที่มีทุกคอลัมน์ที่คิวรีต้องการ จึงไม่ต้องอ่านตัวตาราง

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

หากทุกคอลัมน์ที่อ้างถึงอยู่ในดัชนี DBMS สแกนเฉพาะดัชนีได้และข้ามการดึงแถวตาราง ซึ่งประหยัด I/O

คำตอบ

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

คำตอบ: B · สถานีไร้สายตรวจจับการชนได้ไม่น่าเชื่อถือขณะที่กำลังส่ง

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

เครื่องส่งวิทยุไม่ได้ยินสัญญาณอ่อนอื่นขณะส่ง และบางสถานีถูกซ่อนจากกัน ดังนั้น 802.11 รอเวลา backoff แบบสุ่มและใช้การตอบรับ

คำตอบ

B · สถานีไร้สายตรวจจับการชนได้ไม่น่าเชื่อถือขณะที่กำลังส่ง
18.เครือข่ายคอมพิวเตอร์

คำตอบ: A · ไม่มีผู้ออกใบรับรองที่เชื่อถือได้ยืนยันว่ากุญแจเป็นของเว็บไซต์นั้น

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

เบราว์เซอร์เชื่อถือใบรับรองที่ลงนามโดย CA ในรายการที่เชื่อถือ ทั้งโดยตรงหรือผ่านห่วงโซ่ ใบรับรองที่ลงนามด้วยตนเองใครก็ทำได้ เช่น คนกลางที่โจมตี

คำตอบ

A · ไม่มีผู้ออกใบรับรองที่เชื่อถือได้ยืนยันว่ากุญแจเป็นของเว็บไซต์นั้น
19.การแบ่งซับเน็ต IPv4

คำตอบ: p = 22

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

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

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

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

p = 32 − 10 = 22

คำตอบ

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

คำตอบ: x = 31

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

ขนาดบล็อก

24 = 16

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

เครือข่าย: ⌊26/16⌋·16 = 16
บรอดคาสต์: 16 + 16 − 1 = 31
โฮสต์ที่ใช้ได้: 17 … 30

คำตอบ

x = 31

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