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

أوراق القوانين، وأهم خطوات الحل لكل موضوع، و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

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

N = −528 bit
U =
2.أنظمة العدصعبة
4524 رموز، b = ؟ بت?2ᵇ⁻¹…?4?2?1

يجب أن يعطي نظام كل واحد من 4524 عنصرًا رمزًا ثنائيًا خاصًا به بالطول نفسه. ما أقل عدد من البتات b يلزم؟

4524
b = bit
3.المنطق القضوي والبراهينمتوسطة
(c → a) ∨ (a → c)(c → a) ∧ (a → c)c ∧ a(c → a) ∧ (¬a → ¬c)

أي صيغة تكافئ c ↔ a منطقيًا؟ انقر عليها.

c ↔ a
  1. 1(c → a) ∨ (a → c)
  2. 2(c → a) ∧ (a → c)
  3. 3c ∧ a
  4. 4(c → a) ∧ (¬a → ¬c)
4.المنطق القضوي والبراهينصعبة

كم صفًا من الصفوف الـ 16 لجدول الصدق تجعل (a ∨ ¬(d ↔ ¬b)) ∧ ¬((¬b ∧ d) ∧ (a ↔ c)) صائبة؟ سمِّ هذا العدد N.

(a ∨ ¬(d ↔ ¬b)) ∧ ¬((¬b ∧ d) ∧ (a ↔ c))
N =
5.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتمتوسطة
ABC00011110011001131204051716

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

F(A, B, C) = Σm(0, 2, 3, 6, 7)
N =
6.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتصعبة
CLKJK1234567

قلّاب JK يُحفَّز بالحافة الموجبة يبدأ بـ Q = 0 ويتلقى المداخل المعروضة عند 7 حافة ساعة صاعدة. كم مرة N يغيّر Q حالته؟

Q₀ = 0JK
N =
7.نظرية الأعداد والحساب المودوليمتوسطة

جد أصغر عدد صحيح موجب x مع x ≡ 2 (mod 5) و x ≡ 3 (mod 7).

x ≡ 2 (mod 5)x ≡ 3 (mod 7)
x =
8.نظرية الأعداد والحساب المودوليصعبة
1114c = me​ mod n?m = cd​ mod nm(n, e) = (1333, 13)d

شفّر الرسالة m = 1114 بالمفتاح العام لـ RSA (n, e) = (1333, 13). جد النص المشفّر c.

n = 1333e = 13m = 1114
c =
9.الخوارزميات والتعقيدمتوسطة

ما التعقيد الزمني لخوارزمية Bellman–Ford على رسم بياني فيه V رأسًا وE حافة؟

  1. AO(V³ × E)
  2. BO(E log V)
  3. CO(V × E)
  4. DO(V + E)
10.الخوارزميات والتعقيدصعبة

أي تعريف للفئة NP صحيح؟

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

أي بنية بيانات تُستخدم للتحقق من توازن الأقواس في "{[()]}"؟

  1. Aشجرة البحث الثنائية
  2. Bالمكدس
  3. Cالطابور
  4. Dجدول التجزئة
12.هياكل البياناتصعبة

التعقيد الزمني لعملية decrease-key في الكومة الثنائية (مع معرفة موضع العنصر) هو:

  1. AO(n)
  2. BO(n log n)
  3. CO(1)
  4. DO(log n)
13.نظرية البياناتمتوسطة

كم دارة هاملتون مختلفة H للبيان التام K6؟ الدارات التي تختلف فقط في رأس البداية أو الاتجاه تُعدّ واحدة.

K6
H =
14.نظرية البياناتصعبة
34312874109ABCDEFG

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

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

في جدول orders خمسة صفوف، يشير كل منها إلى عميل موجود، وفي جدول customers ثلاثة صفوف. كم صفًا يُرجع INNER JOIN على customer_id؟

  1. A8
  2. B3
  3. C15
  4. D5
16.قواعد البيانات و SQLصعبة

أي ميزة في SQL هي الأنسب لإيجاد كل موظف تحت مدير ما في شجرة تنظيمية مجهولة العمق؟

  1. AGROUP BY على manager_id
  2. Bربط ذاتي واحد لجدول employees على manager_id
  3. Cقيد UNIQUE على manager_id
  4. Dتعبير جدول مشترك عودي (WITH RECURSIVE)
17.شبكات الحاسوبمتوسطة

ما الذي يحدد بشكل فريد أحد طرفي اتصال TCP على الإنترنت؟

  1. Aقناع شبكة فرعية وبوابة
  2. Bاسم نطاق وحده
  3. Cعنوان MAC وحده
  4. Dعنوان IP مع رقم منفذ
18.شبكات الحاسوبصعبة

سيُسرق المفتاح الخاص لخادم بعد عام من الآن. أي خاصية في TLS تُبقي الجلسات المسجلة اليوم آمنة؟

  1. Aإرسال الشهادة مرتين
  2. Bالسرية الأمامية (forward secrecy) الناتجة عن تبادل مفاتيح Diffie-Hellman المؤقت
  3. Cضغط البيانات قبل التشفير
  4. Dاستخدام اسم نطاق أطول
19.تقسيم شبكات IPv4متوسطة
/24 → /2811111111111111111111111111110000بتات الشبكةبتات المضيف

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

192.168.82.0/24/28الشبكة الفرعية 10 (الشبكة الفرعية 1 تبدأ عند .0)
x =
20.تقسيم شبكات IPv4صعبة
الثُمانية الأخيرة = 3012806403201608041211الشبكةالمضيف

عنوان مضيف هو 10.20.106.3/29. ما الثُمانية الرابعة x من آخر عنوان مضيف قابل للاستخدام في شبكته الفرعية؟

10.20.106.3/29
x =

3المحاليل

1.أنظمة العد

الإجابة: U = 204

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

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

52 = 0011 0100
مقلوب: 1100 1011
+1 → 1100 1100

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

1100 1100₂ = 256 − 52 = 204

الإجابة

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

الإجابة: b = 13 bit

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

قوى العدد 2

212 = 4096 < 4524
213 = 8192 ≥ 4524

الإجابة

b = 13
3.المنطق القضوي والبراهين

الإجابة: (c → a) ∧ (a → c)

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

القانون

a ↔ b تعني أن الاستلزام صائب في الاتجاهين: (a → b) ∧ (b → a).
c ↔ a ≡ (c → a) ∧ (a → c)

تحقق بجدول الصدق

a = 1, c = 1: 1 | 1 1 1 1
a = 1, c = 0: 0 | 1 0 0 1
a = 0, c = 1: 0 | 1 0 0 0
a = 0, c = 0: 1 | 1 1 0 1

الإجابة

(c → a) ∧ (a → c)

الأعمدة بعد الشريط هي الخيارات بالترتيب المعروض.

4.المنطق القضوي والبراهين

الإجابة: N = 11

جداول الصدق: للصيغة ذات n متغيرًا مختلفًا 2ⁿ صفًا، صف لكل تركيبة من قيم الصدق (1 = صواب، 0 = خطأ). اعمل من الداخل إلى الخارج وأعطِ كل صيغة جزئية عمودها الخاص. ¬a تقلب القيمة؛ و a ∧ b تساوي 1 فقط عندما تكون القيمتان 1؛ و a ∨ b تساوي 0 فقط عندما تكون القيمتان 0؛ و a → b تساوي 0 فقط عندما a = 1 و b = 0؛ و a ↔ b تساوي 1 عندما يتساوى الطرفان.

الأعمدة

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

قسّم على a

a = 1: 7
a = 0: 4
N = 7 + 4 = 11

الإجابة

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

الإجابة: N = 2

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

ABC00011110011001131204051716

جمّع الأصفار

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

(B + C′)
(A′ + B)

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

F = (B + C′)(A′ + B)
N = 2

الإجابة

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

الإجابة: N = 4

القلّابات والعدّادات: لا يتغير القلّاب إلا عند الحافة الفعالة للساعة. يَنسخ 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.

Q بعد كل حافة

قلّاب JK: 00 يحتفظ، 01 يصفّر (Q = 0)، 10 يضبط (Q = 1)، 11 يتبدّل.

1: J = 0, K = 1 → Q = 0
2: J = 1, K = 1 → Q = 1
3: J = 1, K = 1 → Q = 0
4: J = 0, K = 1 → Q = 0
5: J = 0, K = 1 → Q = 0
6: J = 1, K = 0 → Q = 1
7: J = 1, K = 1 → Q = 0

عُدّ التغيرات

0 → 0 → 1 → 0 → 0 → 0 → 1 → 0
N = 4

الإجابة

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

الإجابة: x = 17

المعكوسات والتطابقات: للعدد 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 = 2 + 5k

التطابق الثاني

2 + 5k ≡ 3 (mod 7) → 5k ≡ 1 (mod 7)
k ≡ 3·1 ≡ 3 (mod 7)

النتيجة

x = 2 + 5·3 = 17
x = 17
تحقّق: 17 mod 5 = 2, 17 mod 7 = 3

الإجابة

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

الإجابة: c = 333

القوى المودولية و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.

التربيع المتكرر

13 = 8 + 4 + 1
11141 ≡ 1114 (mod 1333)
11142 ≡ 1306 (mod 1333)
11144 ≡ 729 (mod 1333)
11148 ≡ 907 (mod 1333)
111413 ≡ 1114·729·907 ≡ 333 (mod 1333)

النص المشفّر

c = 333

الإجابة

c = 333
9.الخوارزميات والتعقيد

الإجابة: C · O(V × E)

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

في كل جولة من الجولات V − 1 تُرخى كل الحواف E، فيكون التعقيد O(VE)، وفي المقابل تتعامل مع أوزان الحواف السالبة.

الإجابة

C · O(V × E)
10.الخوارزميات والتعقيد

الإجابة: A · مسائل القرار التي يمكن التحقق من إجاباتها بـ "نعم" في زمن كثير حدود عند إعطاء شهادة

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

في مسألة NP يمكن التحقق بسرعة من حل مقترح (شهادة)، مثل التحقق من أن تعيينًا معطى يحقق صيغة بوليانية.

الإجابة

A · مسائل القرار التي يمكن التحقق من إجاباتها بـ "نعم" في زمن كثير حدود عند إعطاء شهادة
11.هياكل البيانات

الإجابة: B · المكدس

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

ادفع كل قوس فتح (push) واسحب (pop) عند ظهور قوس إغلاق، ويجب أن يطابق القوس المسحوب، وأن يكون المكدس فارغًا في النهاية.

الإجابة

B · المكدس
12.هياكل البيانات

الإجابة: D · O(log n)

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

بعد إنقاص المفتاح يصعد العنصر بما لا يتجاوز ارتفاع الكومة. تحقق كومات فيبوناتشي decrease-key في O(1) مستهلك.

الإجابة

D · O(log n)
13.نظرية البيانات

الإجابة: H = 60

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

عُدّ

H = (6 − 1)!/2 = 120/2 = 60

الإجابة

H = 60
14.نظرية البيانات

الإجابة: d(G) = 17

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

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

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

A (0): B: 3
B (3): D: 7
D (7): E: 19, F: 15, G: 17
F (15)
G (17): C: 21
E (19)
C (21)

أقصر مسار

A → B → D → G
d(G) = 17

الإجابة

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

الإجابة: D · 5

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

يجد كل طلب عميلًا واحدًا مطابقًا بالضبط، فيُرجع الربط صفًا واحدًا لكل طلب: 5 صفوف.

الإجابة

D · 5
16.قواعد البيانات و SQL

الإجابة: D · تعبير جدول مشترك عودي (WITH RECURSIVE)

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

يبدأ CTE العودي باستعلام مرساة ثم يربط النتيجة السابقة بالجدول مرارًا، فيتعامل مع التسلسلات الهرمية بأي عمق.

الإجابة

D · تعبير جدول مشترك عودي (WITH RECURSIVE)
17.شبكات الحاسوب

الإجابة: D · عنوان IP مع رقم منفذ

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

يُحدَّد اتصال TCP بعنوان IP ومنفذ المصدر إضافة إلى عنوان IP ومنفذ الوجهة. والمنافذ تميّز بين التطبيقات الكثيرة على المضيف الواحد.

الإجابة

D · عنوان IP مع رقم منفذ
18.شبكات الحاسوب

الإجابة: B · السرية الأمامية (forward secrecy) الناتجة عن تبادل مفاتيح Diffie-Hellman المؤقت

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

مع (EC)DHE المؤقت يُشتق كل مفتاح جلسة من قيم مؤقتة يُتخلص منها. ولا يفعل المفتاح طويل الأمد سوى توقيع التبادل، فسرقته لاحقًا لا تفك تشفير الحركة القديمة.

الإجابة

B · السرية الأمامية (forward secrecy) الناتجة عن تبادل مفاتيح Diffie-Hellman المؤقت
19.تقسيم شبكات IPv4

الإجابة: x = 144

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

حجم الكتلة

24 = 16

الشبكة الفرعية رقم 10

الشبكة: (10 − 1)·16 = 144
البث: 144 + 16 − 1 = 159

الإجابة

x = 144
20.تقسيم شبكات IPv4

الإجابة: x = 6

تقسيم شبكات IPv4: يتكون العنوان من 32 بتة. تحدد البادئة /p عدد البتات الأولى التي تعرّف الشبكة؛ وتُرقّم البتات المتبقية 32 − p المضيفين. تحتوي الشبكة الفرعية على 2³²⁻ᵖ عنوانًا، لكن الأول (عنوان الشبكة) والأخير (عنوان البث) لا يُعطيان للمضيفين، فيتسع 2³²⁻ᵖ − 2 مضيفًا. الاستثناءات: الشبكة /31 (وصلة من نقطة إلى نقطة، RFC 3021) تستخدم كلا عنوانَيها الـ 2 للمضيفين، والشبكة /32 عنوان واحد فقط (مضيف واحد أو عنوان loopback).

حجم الكتلة

23 = 8

الشبكة الفرعية لهذا المضيف

الشبكة: ⌊3/8⌋·8 = 0
البث: 0 + 8 − 1 = 7
المضيفون القابلون للاستخدام: 1 … 6

الإجابة

x = 6

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