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

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

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

N = −128 bit
U =
2.ระบบเลขยาก
24 bit1 px800 px600 pxM = ? KiB

ภาพที่ไม่บีบอัดมีขนาด 800 × 600 พิกเซล และมี 24 บิตต่อพิกเซล ใช้หน่วยความจำ M เท่าใด ในหน่วย KiB (1 KiB = 1024 ไบต์)

800 × 600 px24 bit/px1 KiB = 1024 B
M = KiB
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
abcc ∧ ¬b(¬(b → a) ∨ c) ∧ (c ∧ ¬b)¬((¬(b → a) ∨ c) ∧ (c ∧ ¬b))111?110?101?100?011?010?001?000?

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

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

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

((¬d ∧ b) ↔ c) ∧ (a ∨ d)
N =
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD0001111000011110111111

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

F = Σm(1, 2, 3, 9, 10, 12)
  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.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
ABCD0001111000011110X0X1130204051716112X131151140819111010

จงหารูป SOP ที่น้อยที่สุดของ F(A, B, C, D) = Σm(3, 6, 7, 9, 11, 12, 14, 15) + d(0, 1, 13) โดย d แทนเงื่อนไขไม่สนใจ มีกี่พจน์ผลคูณ N

F(A, B, C, D) = Σm(3, 6, 7, 9, 11, 12, 14, 15) + d(0, 1, 13)
N =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

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

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

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

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

ความซับซ้อนเชิงเวลาในกรณีเลวร้ายที่สุดของ quicksort คือเท่าใด

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

อัลกอริทึม Bellman–Ford ตรวจจับวงจรน้ำหนักติดลบที่ไปถึงได้จากต้นทางอย่างไร

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

ในฮีปทวิภาคที่เก็บในอาร์เรย์เริ่มที่ดัชนี 0 แม่ของโหนดที่ดัชนี i อยู่ที่ใด

  1. Aที่ดัชนี 2i + 1
  2. Bที่ดัชนี ⌊i / 2⌋ + 1
  3. Cที่ดัชนี i − 1
  4. Dที่ดัชนี ⌊(i − 1) / 2⌋
12.โครงสร้างข้อมูลยาก

ในอัลกอริทึมต้นไม้ทอดข้ามที่น้อยที่สุดของ Kruskal โครงสร้าง union-find ใช้เพื่อ

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

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

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

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

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

คอลัมน์มีค่า 10, 20 และ NULL AVG(col) คืนค่าอะไร?

  1. A15
  2. BNULL
  3. C10
  4. D30
16.ฐานข้อมูลและ SQLยาก

สองทรานแซกชันอ่าน stock = 10 ทั้งคู่ ต่างลบ 1 แล้วเขียนผล ได้ 9 แทนที่จะเป็น 8 นี่คือความผิดปกติใด?

  1. Alost update
  2. Bdeletion anomaly
  3. Cdirty read
  4. Dphantom read
17.เครือข่ายคอมพิวเตอร์ปานกลาง

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

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

ประโยชน์หลักของการเชื่อมต่อถาวร (keep-alive) ใน HTTP/1.1 คืออะไร?

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

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

192.168.36.0/24/29ซับเน็ต 9 (ซับเน็ต 1 เริ่มที่ .0)
x =
20.การแบ่งซับเน็ต IPv4ยาก

เครือข่าย 192.168.245.0/24 ถูกแบ่งด้วย VLSM สำหรับ LAN เหล่านี้: A: 16 โฮสต์, B: 54 โฮสต์, C: 14 โฮสต์, D: 25 โฮสต์, E: 3 โฮสต์ ซับเน็ตถูกจัดสรรจาก .0 ขึ้นไป โดย LAN ที่มีโฮสต์มากที่สุดมาก่อน แต่ละ LAN ได้ซับเน็ตที่เล็กที่สุดที่พอดี ออกเท็ตที่สี่ x ของที่อยู่เครือข่ายของ LAN E คือเท่าใด

A: 16B: 54C: 14D: 25E: 3
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 244

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

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

12 = 0000 1100
ที่กลับบิตแล้ว: 1111 0011
+1 → 1111 0100

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

1111 0100₂ = 256 − 12 = 244

คำตอบ

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

คำตอบ: M = 1406 KiB

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

บิตและไบต์

800·600·24 = 11520000 bit = 1440000 B

แปลงเป็น KiB

1440000/1024 = 1406.25 KiB

คำตอบ

M = 1406.25 KiB
3.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: N = 6

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

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

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

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

¬((¬(b → a) ∨ c) ∧ (c ∧ ¬b)): 1, 1, 0, 1, 1, 1, 0, 1
N = 6

คำตอบ

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

คำตอบ: N = 6

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

คอลัมน์

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

แยกตาม a

a = 1: 4
a = 0: 2
N = 4 + 2 = 6

คำตอบ

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

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

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

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

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

m12: m13, m14, m8, m4 → 0
ABCD0001111000011110111111

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

m12 = ABC′D′ → AB = 11, CD = 00

คำตอบ

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

คำตอบ: N = 3

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

ไพรม์อิมพลิแคนต์

กลุ่มที่ใหญ่ที่สุดที่สร้างได้จาก 1 และ X

CD, B′D, BC, AD, AB
ABCD0001111000011110X0X1130204051716112X131151140819111010

การครอบคลุมที่น้อยที่สุด

F = B′D + BC + AB
N = 3

คำตอบ

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

คำตอบ: 43−1 mod 68 = 19

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

r = 68, t = 0
r = 43, q = 1, t = 1
r = 25, q = 1, t = −1
r = 18, q = 1, t = 2
r = 7, q = 2, t = −3
r = 4, q = 1, t = 8
r = 3, q = 1, t = −11
r = 1, q = 3, t = 19

อินเวอร์ส

1 ≡ 19·43 (mod 68)
x = 19
ตรวจสอบ: 43·19 = 817 = 12·68 + 1

คำตอบ

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

คำตอบ: 5146 mod 98 = 65

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

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

46 = 1011102 = 32 + 8 + 4 + 2

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

511 ≡ 51 (mod 98)
512 ≡ 53 (mod 98)
514 ≡ 65 (mod 98)
518 ≡ 11 (mod 98)
5116 ≡ 23 (mod 98)
5132 ≡ 39 (mod 98)

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

5146 ≡ 53·65·11·39 ≡ 65 (mod 98)

คำตอบ

5146 mod 98 = 65
9.อัลกอริทึมและความซับซ้อน

คำตอบ: B · O(n²)

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

เมื่อเลือกตัวหลักไม่ดีติดต่อกัน (เช่น อินพุตที่เรียงแล้วและเลือกตัวแรกเป็นตัวหลัก) การแบ่งส่วนจะไม่สมดุล ได้ O(n²) ส่วนกรณีเฉลี่ยคือ O(n log n)

คำตอบ

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

คำตอบ: A · หลัง V − 1 รอบ ตรวจว่ามีเส้นเชื่อมใดที่ยังผ่อนคลายได้อีกหรือไม่

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

ระยะทางสั้นที่สุดจริงทั้งหมดพบภายใน V − 1 รอบ ถ้ายังปรับปรุงเส้นเชื่อมใดได้อีก ต้องมีวงจรติดลบ

คำตอบ

A · หลัง V − 1 รอบ ตรวจว่ามีเส้นเชื่อมใดที่ยังผ่อนคลายได้อีกหรือไม่
11.โครงสร้างข้อมูล

คำตอบ: D · ที่ดัชนี ⌊(i − 1) / 2⌋

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

ลูกของ i อยู่ที่ 2i + 1 และ 2i + 2 ดังนั้นแม่ของ i คือ ⌊(i − 1) / 2⌋ ถ้าดัชนีเริ่มที่ 1 จะเป็น ⌊i / 2⌋

คำตอบ

D · ที่ดัชนี ⌊(i − 1) / 2⌋
12.โครงสร้างข้อมูล

คำตอบ: C · ตรวจว่าปลายทั้งสองของเส้นเชื่อมเชื่อมต่อกันอยู่แล้วหรือไม่

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

Find บอกว่าปลายทั้งสองอยู่ในส่วนประกอบเดียวกันหรือไม่ ถ้าไม่ ก็เพิ่มเส้นเชื่อมและ union รวมส่วนประกอบ

คำตอบ

C · ตรวจว่าปลายทั้งสองของเส้นเชื่อมเชื่อมต่อกันอยู่แล้วหรือไม่
13.ทฤษฎีกราฟ

คำตอบ: วงจรออยเลอร์

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

ดีกรี

deg(A) = 2, deg(B) = 2, deg(C) = 2, deg(D) = 2, deg(E) = 2

จุดยอดคี่

0
วงจรออยเลอร์

คำตอบ

วงจรออยเลอร์
14.ทฤษฎีกราฟ

คำตอบ: d(D) = 34

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

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

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

A (0): B: 3, C: 10
B (3)
C (10): G: 21
G (21): D: 34, E: 31
E (31): F: 41
D (34): F: 35
F (35)

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

A → C → G → D
d(D) = 34

คำตอบ

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

คำตอบ: A · 15

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

AVG ละเว้น NULL จึงหาค่าเฉลี่ยของ 10 และ 20 ได้ 15 ไม่ใช่ 30 / 3 = 10

คำตอบ

A · 15
16.ฐานข้อมูลและ SQL

คำตอบ: A · lost update

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

ใน lost update ทั้งสองทรานแซกชันทำงานจากค่าเก่าเดียวกัน และการเขียนครั้งที่สองลบครั้งแรก การล็อก (SELECT ... FOR UPDATE) หรือการอัปเดตแบบอะตอมมิกป้องกันได้

คำตอบ

A · lost update
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 · หลายคำขอใช้การเชื่อมต่อ TCP เดียวซ้ำ หลีกเลี่ยงการแฮนด์เชกซ้ำ ๆ

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

การใช้การเชื่อมต่อซ้ำหลีกเลี่ยงแฮนด์เชกใหม่และ slow start สำหรับแต่ละออบเจ็กต์ หน้าที่มีทรัพยากรมากจึงโหลดเร็วขึ้น

คำตอบ

A · หลายคำขอใช้การเชื่อมต่อ TCP เดียวซ้ำ หลีกเลี่ยงการแฮนด์เชกซ้ำ ๆ
19.การแบ่งซับเน็ต IPv4

คำตอบ: x = 64

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 = 64
20.การแบ่งซับเน็ต IPv4

คำตอบ: x = 144

VLSM: แต่ละ LAN ได้ซับเน็ตที่เล็กที่สุดที่ 2ʰ − 2 ≥ จำนวนโฮสต์ของมัน คือพรีฟิกซ์ 32 − h การจัดสรรซับเน็ตที่ใหญ่ที่สุดก่อนทำให้ทุกบล็อกอยู่ในแนวพหุคูณของขนาดตัวเอง ที่อยู่เครือข่ายจึงได้จากการบวกขนาดบล็อก

ขนาดบล็อกของแต่ละ LAN

B: 54 โฮสต์ → 26 = 64 (/26)
D: 25 โฮสต์ → 25 = 32 (/27)
A: 16 โฮสต์ → 25 = 32 (/27)
C: 14 โฮสต์ → 24 = 16 (/28)
E: 3 โฮสต์ → 23 = 8 (/29)

การจัดสรร จากใหญ่ที่สุดก่อน

B: .0 – .63
D: .64 – .95
A: .96 – .127
C: .128 – .143
E: .144 – .151

คำตอบ

x = 144

LAN E: 192.168.245.144/29

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