أساسيات علوم الحاسوب: حزمة المراجعة المكثفة

أوراق القوانين، وأهم خطوات الحل لكل موضوع، و20 مسألة تدريبية، مع الحلول الكاملة في الخلف.

مسائل جديدةالعودة إلى المقرّر

في نافذة الطباعة اختر «حفظ بصيغة PDF» لحفظ نسخة على جهازك.

1القوانين وطرق الحل

أنظمة العد

القيم الموضعية
الثنائي 2k، الثماني 8k، الست عشري 16k
إلى العشري
Σ dk·bk
من العشري
اقسم على الأساس، واقرأ البواقي من الأسفل إلى الأعلى
الست عشري ↔ الثنائي
رقم ست عشري واحد = 4 بتات
المتمم الثنائي
اعكس البتات وأضف 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)
قاعدة الوضع (modus ponens) وقاعدة الرفع (modus tollens)
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ⁿ حالة؛ mod-N: أصغر n يحقق 2ⁿ ≥ N؛ fout = fclk/N
العدّاد المتموّج
fmax = 1/(n·tpd)
العدّادان الحلقي وجونسون
n و 2n حالة

الطريقة

  1. لدارة ما، اعمل من المداخل إلى المخرج بوابةً بوابةً واكتب القيمة على كل سلك، أو اكتب تعبيرها واملأ جدول الصدق.
  2. للتبسيط ضع الآحاد (وحالات عدم الاكتراث على شكل X) في خريطة كارنو بصفوف وأعمدة بشيفرة غراي: 00, 01, 11, 10.
  3. غطِّ الآحاد بأقل عدد ممكن وأكبر حجم ممكن من المجموعات ذات 1 أو 2 أو 4 أو 8 أو 16 خلية، مع الالتفاف حول الحواف؛ كل مجموعة حد جداء واحد من المتغيرات التي تبقى ثابتة. جمّع الأصفار للصيغة 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
أويلر
الدارة: كل الدرجات زوجية؛ المسار: درجتان فرديتان بالضبط
دارات هاملتون في Kn
(n − 1)!/2
تحديث ديكسترا
d(v) = min(d(v), d(u) + w(u, v))
المسارات (walks) بطول 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.أنظمة العدمتوسطة
المتمم الثنائي ذو 8 بتات0−12806403201608040201

اضبط البتات بحيث تخزن −44 في المتمم الثنائي بـ 8 بتات. إذا قُرئ كعدد بدون إشارة، فما قيمة النمط U؟

N = −448 bit
U =
2.أنظمة العدصعبة
8 bit1 px1280 px720 pxM = ? KiB

صورة غير مضغوطة أبعادها 1280 × 720 بكسل و8 بت لكل بكسل. كم تشغل من الذاكرة M بوحدة KiB (1 KiB = 1024 بايت)؟

1280 × 720 px8 bit/px1 KiB = 1024 B
M = KiB
3.المنطق القضوي والبراهينمتوسطة
حشوتناقضممكنة

هل ¬(p ∧ q) ↔ (¬p ∨ ¬q) حشو أم تناقض أم ممكنة؟ انقر على إجابتك.

¬(p ∧ q) ↔ (¬p ∨ ¬q)
  1. 1حشو
  2. 2تناقض
  3. 3ممكنة
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.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتمتوسطة
ABCD000111100001111010111302040507160120131150140809011010

استخدم خريطة كارنو لإيجاد الصيغة الدنيا لمجموع الجداءات (SOP) للدالة F(A, B, C, D) = Σm(0, 1, 3, 6, 15). كم حد جداء N فيها؟

F(A, B, C, D) = Σm(0, 1, 3, 6, 15)
N =
6.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتصعبة
DQ3​Q3​DQ2​Q2​DQ1​Q1​DQ0​Q0​CLKJOHNSON

عدّاد جونسون من 4 بتّات Q₃Q₂Q₁Q₀ يبدأ من 0000. عند كل حافة ساعة تنزاح البتّات مكانًا واحدًا إلى اليمين (Q₃ → Q₂ → Q₁ → Q₀) ويتلقى Q₃ معكوس Q₀. أعطِ الحالة Q = Q₃Q₂Q₁Q₀ كعدد عشري بعد 9 حافة ساعة.

Q₃Q₂Q₁Q₀ = 00009
Q =
7.نظرية الأعداد والحساب المودوليمتوسطة

جد معكوس 68 بالنسبة إلى 79: العدد x مع 0 < x < 79 و 68·x ≡ 1 (mod 79).

a = 68n = 79
68−1 mod 79 =
8.نظرية الأعداد والحساب المودوليصعبة

كم حلًّا N للتطابق 40x ≡ 18 (mod 66) في {0, 1, …, 65}؟

40x ≡ 18 (mod 66)
N =
9.الخوارزميات والتعقيدمتوسطة

ماذا يقيس التحليل المستهلَك (amortised)؟

  1. Aالكلفة المتوقعة على مدخلات عشوائية
  2. Bكلفة الخوارزمية على أفضل مدخل
  3. Cكلفة أغلى عملية منفردة في أي موضع من السلسلة
  4. Dمتوسط الكلفة لكل عملية على أسوأ سلسلة من العمليات
10.الخوارزميات والتعقيدصعبة

تكون المسألة NP-كاملة (NP-complete) إذا كانت:

  1. Aتنتمي إلى NP وكل مسألة في NP قابلة للاختزال إليها في زمن كثير الحدود
  2. Bقابلة للحل في زمن كثير الحدود
  3. Cخارج NP لكنها أصعب من جميع مسائل NP، مثل مسألة التوقف
  4. Dمستحيلة الحل
11.هياكل البياناتمتوسطة

في طابور دائري مخزّن في مصفوفة سعتها n، كيف يُحسب الموضع التالي بعد الفهرس i؟

  1. A(i − 1) mod n
  2. B2i + 1
  3. Ci + 1
  4. D(i + 1) mod n
12.هياكل البياناتصعبة

ما بنية البيانات التي تدعم ذاكرة تخزين مؤقت LRU (least recently used) بعمليتي get وput في O(1)؟

  1. Aمصفوفة مرتبة واحدة
  2. Bخريطة تجزئة مع قائمة مترابطة مزدوجة
  3. Cمكدس فقط
  4. Dشجرة بحث ثنائية فقط
13.نظرية البياناتمتوسطة
ABCDEFدارة أويلرمسار أويلر دون دارةلا هذه ولا تلك

هل للبيان المتصل دارة أويلر، أم مسار أويلر ليس دارة، أم لا هذه ولا تلك؟ انقر على إجابتك.

|V| = 6|E| = 9
  1. 1دارة أويلر
  2. 2مسار أويلر دون دارة
  3. 3لا هذه ولا تلك
14.نظرية البياناتصعبة
24259143711ABCDEF

استخدم خوارزمية ديكسترا لإيجاد طول d(F) أقصر مسار من A إلى F في البيان الموزون.

البداية: Aالنهاية: F
d(F) =
15.قواعد البيانات و SQLمتوسطة

أي استعلام يُرجع أعلى راتب في كل قسم؟

  1. ASELECT MAX(dept), salary FROM emp GROUP BY salary
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  4. DSELECT dept, MAX(salary) FROM emp GROUP BY dept
16.قواعد البيانات و SQLصعبة

ماذا يُرجع الاستعلام التالي: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)؟

  1. Aالطلاب الذين تزيد درجاتهم عن متوسط الدرجات
  2. Bمتوسط درجات جميع الطلاب
  3. Cخطأ لأن الاستعلامات الفرعية غير مسموح بها في WHERE
  4. Dالطلاب الحاصلون على أعلى درجة فقط
17.شبكات الحاسوبمتوسطة

ما الفرق الرئيسي بين طريقتي HTTP المسماتين GET وPOST؟

  1. Aيستخدم GET بروتوكول UDP ويستخدم POST بروتوكول TCP
  2. BGET مشفّر وPOST غير مشفّر
  3. Cيحذف GET موردًا، ويقرؤه POST من قاعدة بيانات الخادم
  4. Dيسترجع GET موردًا، ويرسل POST بيانات في جسم الطلب
18.شبكات الحاسوبصعبة

كيف تحسّن شبكة توصيل المحتوى (CDN) أداء الويب أساسًا؟

  1. Aتلغي الحاجة إلى استعلامات DNS
  2. Bتزيد عرض نطاق اتصالات المستخدمين المنزلية نفسها
  3. Cتقدّم المحتوى المخزّن مؤقتًا من خوادم قريبة من المستخدمين
  4. Dتستبدل TCP ببروتوكول نقل أسرع
19.تقسيم شبكات IPv4متوسطة
/24 → /2911111111111111111111111111111000بتات الشبكةبتات المضيف

تُقسَّم الشبكة 192.168.250.0/24 إلى شبكات فرعية /29، مرقّمة 1، 2، 3، … بدءًا من أدنى عنوان (الشبكة الفرعية 1 تبدأ عند .0). ما الثُمانية الرابعة x من عنوان البث للشبكة الفرعية 9؟

192.168.250.0/24/29الشبكة الفرعية 9 (الشبكة الفرعية 1 تبدأ عند .0)
x =
20.تقسيم شبكات IPv4صعبة

تُقسَّم الشبكة 192.168.245.0/24 بتقنية VLSM لهذه الشبكات المحلية: A: 61 مضيفون, B: 26 مضيفون, C: 74 مضيفون, D: 9 مضيفون. تُخصَّص الشبكات الفرعية من .0 صعودًا، بدءًا بالشبكة المحلية ذات أكبر عدد من المضيفين، لكلٍّ منها أصغر شبكة فرعية تكفيها. ما الثُمانية الرابعة x من عنوان شبكة LAN D؟

A: 61B: 26C: 74D: 9
x =

3المحاليل

1.أنظمة العد

الإجابة: U = 212

ضبط البتات: قيمة كل بت قوة للعدد اثنين (128 و64 … و1). الرقم السداسي عشري الواحد يساوي أربع بتات تمامًا، وفي المتمم الثنائي بـ 8 بتات تساوي قيمة البت الأيسر −128. وتعمل العمليات على مستوى البت على كل موضع بت على حدة.

اقلب وأضف واحدًا

44 = 0010 1100
مقلوب: 1101 0011
+1 → 1101 0100

اقرأه بلا إشارة

1101 0100₂ = 256 − 44 = 212

الإجابة

U = 212
2.أنظمة العد

الإجابة: M = 900 KiB

أنظمة العد الموضعية: قيمة كل رقم هي قيمته مضروبة في قوة من قوى الأساس. في النظام الثنائي تساوي المواضع 1، 2، 4، 8، 16، …؛ وفي السداسي عشري 1، 16، 256، …، حيث تمثل A–F القيم 10–15. في المتمم الثنائي ذي 8 بتات تساوي البتة اليسرى −128 بدلًا من +128، وهكذا تُخزَّن الأعداد السالبة.

البتات والبايتات

1280·720·8 = 7372800 bit = 921600 B

حوّل إلى KiB

921600/1024 = 900 KiB

الإجابة

M = 900 KiB
3.المنطق القضوي والبراهين

الإجابة: حشو

التكافؤ المنطقي: تتكافأ صيغتان (≡) عندما يكون لهما القيمة نفسها في كل صف من جدول الصدق. الحشو يساوي 1 في كل صف، والتناقض يساوي 0 في كل صف، والممكن ليس هذا ولا ذاك. قوانين مفيدة: دي مورغان، ¬(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).

جدول الصدق صفًا صفًا

p = 1, q = 1: p ∧ q = 1, ¬(p ∧ q) = 0, ¬p = 0, ¬q = 0, ¬p ∨ ¬q = 0, ¬(p ∧ q) ↔ (¬p ∨ ¬q) = 1
p = 1, q = 0: p ∧ q = 0, ¬(p ∧ q) = 1, ¬p = 0, ¬q = 1, ¬p ∨ ¬q = 1, ¬(p ∧ q) ↔ (¬p ∨ ¬q) = 1
p = 0, q = 1: p ∧ q = 0, ¬(p ∧ q) = 1, ¬p = 1, ¬q = 0, ¬p ∨ ¬q = 1, ¬(p ∧ q) ↔ (¬p ∨ ¬q) = 1
p = 0, q = 0: p ∧ q = 0, ¬(p ∧ q) = 1, ¬p = 1, ¬q = 1, ¬p ∨ ¬q = 1, ¬(p ∧ q) ↔ (¬p ∨ ¬q) = 1

صنّف

¬(p ∧ q) ↔ (¬p ∨ ¬q): 1, 1, 1, 1
1 في كل صف: حشو.

الإجابة

حشو
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 = 4

خرائط كارنو: ترتَّب الخلايا بشيفرة غراي (00, 01, 11, 10)، فتختلف الخلايا المتجاورة، بما فيها تلك التي عبر الحواف، في متغير واحد بالضبط. جمّع الآحاد في مستطيلات من 1 أو 2 أو 4 أو 8 أو 16 خلية، بأكبر حجم وأقل عدد ممكنين، حتى يُغطى كل 1. كل مجموعة حد جداء واحد: المتغيرات التي تبقى ثابتة داخلها. المجموعة من 2ᵏ خلية تفقد k متغيرًا. يجوز استخدام حالات عدم الاكتراث (X) لتكبير المجموعات لكن لا يجب تغطيتها أبدًا. أما تجميع الأصفار فيعطي الصيغة الدنيا POS.

ABCD000111100001111010111302040507160120131150140809011010

جمّع الآحاد

كل مجموعة مستطيل من 2ᵏ خلية؛ وخلايا الحافة جارة للخلايا على الحافة المقابلة.

A′B′D
A′B′C′
A′BCD′
ABCD

الصيغة الدنيا SOP

F = A′B′D + A′B′C′ + A′BCD′ + ABCD
N = 4

الإجابة

N = 4
6.المنطق الرقمي: البوابات وخرائط كارنو والقلّابات

الإجابة: Q = 8

القلّابات والعدّادات: لا يتغير القلّاب إلا عند الحافة الفعالة للساعة. يَنسخ D مدخله (Q⁺ = D)؛ و T يتبدّل عندما T = 1؛ و JK يحتفظ عند 00، ويصفّر عند 01، ويضبط عند 10، ويتبدّل عند 11. للعدّاد الثنائي ذي n بتّات 2ⁿ حالة ويعدّ بالنمط 2ⁿ؛ وعدّاد mod-N يعدّ 0 و 1 … حتى N − 1 ثم يعود إلى 0، ويحتاج إلى أصغر n يحقق 2ⁿ ≥ N قلّابات. تُنصّف كل مرحلة في العدّاد المتموّج التردد، فيعمل الخرج الأخير لعدّاد mod-N بالتردد fclk/N. لعدّاد جونسون من n قلّابات 2n حالة، وللعدّاد الحلقي n.

الحالة بعد كل حافة

0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001 → 0000 → 1000

القيمة العشرية

1000₂ = 8

الإجابة

Q = 8
7.نظرية الأعداد والحساب المودولي

الإجابة: 68−1 mod 79 = 43

المعكوسات والتطابقات: للعدد 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·68 (mod 79).

r = 79, t = 0
r = 68, q = 1, t = 1
r = 11, q = 6, t = −1
r = 2, q = 5, t = 7
r = 1, q = 2, t = −36

المعكوس

1 ≡ −36·68 (mod 79)
x = 43
تحقّق: 68·43 = 2924 = 37·79 + 1

الإجابة

68−1 mod 79 = 43
8.نظرية الأعداد والحساب المودولي

الإجابة: N = 2

المعكوسات والتطابقات: للعدد 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).

اقسم على القاسم المشترك الأكبر

gcd(40, 66) = 2
20x ≡ 9 (mod 33)

حلّ التطابق المختزل

20−1 ≡ 5 (mod 33) → x ≡ 12 (mod 33)

الحلول بالنسبة إلى 66

x ∈ {12, 45}
N = 2

الإجابة

N = 2
9.الخوارزميات والتعقيد

الإجابة: D · متوسط الكلفة لكل عملية على أسوأ سلسلة من العمليات

لماذا هذه هي الإجابة

يوزع التحليل المستهلَك كلفة العمليات الغالية النادرة على كثير من العمليات الرخيصة، فيعطي متوسطًا مضمونًا لأي سلسلة.

الإجابة

D · متوسط الكلفة لكل عملية على أسوأ سلسلة من العمليات
10.الخوارزميات والتعقيد

الإجابة: A · تنتمي إلى NP وكل مسألة في NP قابلة للاختزال إليها في زمن كثير الحدود

لماذا هذه هي الإجابة

المسائل NP-الكاملة هي الأصعب في NP؛ وخوارزمية كثيرة حدود لإحداها ستعطي خوارزمية كثيرة حدود لكل NP.

الإجابة

A · تنتمي إلى NP وكل مسألة في NP قابلة للاختزال إليها في زمن كثير الحدود
11.هياكل البيانات

الإجابة: D · (i + 1) mod n

لماذا هذه هي الإجابة

تُعيد عملية الباقي (modulo) الفهرس n − 1 إلى 0، فيُعاد استخدام المصفوفة دون إزاحة العناصر.

الإجابة

D · (i + 1) mod n
12.هياكل البيانات

الإجابة: B · خريطة تجزئة مع قائمة مترابطة مزدوجة

لماذا هذه هي الإجابة

تجد خريطة التجزئة العقد في O(1)، وتنقل القائمة المترابطة المزدوجة العناصر المستخدمة إلى المقدمة وتزيل من النهاية في O(1).

الإجابة

B · خريطة تجزئة مع قائمة مترابطة مزدوجة
13.نظرية البيانات

الإجابة: مسار أويلر دون دارة

أويلر وهاملتون والأشجار: لبيان متصل دارة أويلر (كل حافة مرة واحدة، والعودة إلى البداية) عندما تكون لكل رأس درجة زوجية، ومسار أويلر ليس دارة عندما تكون لرأسين بالضبط درجة فردية؛ ويسير المسار عندئذ من أحد الرأسين الفرديين إلى الآخر. تزور دارة هاملتون كل رأس مرة واحدة؛ وفي Kn منها (n − 1)!/2. للشجرة على n رأسًا n − 1 حافة، ويحتفظ بيان متصل ذو m حافة بشجرة ممتدة بعد حذف m − n + 1 حافة.

الدرجات

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

الرؤوس الفردية

C, D → 2
مسار أويلر دون دارة

الإجابة

مسار أويلر دون دارة

يبدأ مسار أويلر عند أحد الرأسين الفرديين وينتهي عند الآخر.

14.نظرية البيانات

الإجابة: d(F) = 10

أقصر المسارات والأشجار الممتدة: تثبّت خوارزمية ديكسترا رأسًا واحدًا في كل جولة: الرأس غير المثبّت ذا أصغر مسافة مؤقتة. تصبح مسافته نهائية، ويأخذ كل جار v القيمة d(v) = min(d(v), d(u) + w(u, v)). تبني خوارزمية كروسكال شجرة ممتدة دنيا بأخذ الحواف من الأخف إلى الأثقل وتخطّي كل حافة تُغلق دورة؛ وتنمّي خوارزمية برايم شجرة واحدة من رأس البداية بإضافة أخف حافة تغادرها دائمًا. وللشجرة الممتدة على n رأسًا n − 1 حافة.

ديكسترا جولةً جولةً

كل سطر: الرأس المثبَّت، ومسافته النهائية، والجيران الذين تتحسن مسافتهم.

A (0): B: 2, C: 4
B (2): D: 7, E: 13
C (4)
D (7): F: 10
F (10)
E (13)

أقصر مسار

A → B → D → F
d(F) = 10

الإجابة

d(F) = 10
15.قواعد البيانات و SQL

الإجابة: D · SELECT dept, MAX(salary) FROM emp GROUP BY dept

لماذا هذه هي الإجابة

تنشئ GROUP BY dept مجموعة لكل قسم، وتختار MAX(salary) أعلى قيمة في كل منها.

الإجابة

D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
16.قواعد البيانات و SQL

الإجابة: A · الطلاب الذين تزيد درجاتهم عن متوسط الدرجات

لماذا هذه هي الإجابة

يحسب الاستعلام الفرعي القياسي (scalar subquery) المتوسط، ويحتفظ الاستعلام الخارجي بالطلاب الذين تزيد درجاتهم عنه.

الإجابة

A · الطلاب الذين تزيد درجاتهم عن متوسط الدرجات
17.شبكات الحاسوب

الإجابة: D · يسترجع GET موردًا، ويرسل POST بيانات في جسم الطلب

لماذا هذه هي الإجابة

يطلب GET موردًا ولا ينبغي أن يغيّر حالة الخادم. أما POST فيرسل بيانات، مثل نموذج، في الجسم ليعالجها الخادم.

الإجابة

D · يسترجع GET موردًا، ويرسل POST بيانات في جسم الطلب
18.شبكات الحاسوب

الإجابة: C · تقدّم المحتوى المخزّن مؤقتًا من خوادم قريبة من المستخدمين

لماذا هذه هي الإجابة

تضع شبكات CDN نسخًا من المحتوى في مواقع طرفية كثيرة وتوجّه المستخدمين، غالبًا عبر DNS، إلى خادم قريب، فيقل الكمون والحمل على الخادم الأصلي.

الإجابة

C · تقدّم المحتوى المخزّن مؤقتًا من خوادم قريبة من المستخدمين
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 = 224

VLSM: تحصل كل شبكة محلية على أصغر شبكة فرعية تحقّق 2ʰ − 2 ≥ عدد مضيفيها، أي البادئة 32 − h. تخصيص الشبكات الفرعية الأكبر أولًا يُبقي كل كتلة محاذية لمضاعف حجمها، لذا تُستنتج عناوين الشبكات بجمع أحجام الكتل.

حجم الكتلة لكل شبكة محلية

C: 74 مضيفون → 27 = 128 (/25)
A: 61 مضيفون → 26 = 64 (/26)
B: 26 مضيفون → 25 = 32 (/27)
D: 9 مضيفون → 24 = 16 (/28)

التخصيص، الأكبر أولًا

C: .0 – .127
A: .128 – .191
B: .192 – .223
D: .224 – .239

الإجابة

x = 224

LAN D: 192.168.245.224/28.

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