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

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

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

N = −418 bit
U =
2.أنظمة العدصعبة
انقر على البتات لضبطها012806403201608040201

اضبط البتات على الناتج بـ 8 بتات لـ 1010 1000 OR 1100 1001. ما قيمة الناتج R بالعشري؟

1010 1000OR1100 1001
R =
3.المنطق القضوي والبراهينمتوسطة
pqr(q ∧ p) ∧ (p → r)¬((q ∧ p) ∧ (p → r))(r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r))111?110?101?100?011?010?001?000?

في كم صفًا من الصفوف الثمانية لجدول صدق (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) تكون صائبة؟ سمِّ هذا العدد N.

(r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r))
N =
4.المنطق القضوي والبراهينصعبة
qrq → rrq11100100

الحجة ذات المقدمات q → r; r والاستنتاج q غير صحيحة. انقر على صف جدول الصدق الذي يمثل مثالًا مضادًا.

q → rr∴ q
  1. 1q = 1, r = 1
  2. 2q = 1, r = 0
  3. 3q = 0, r = 1
  4. 4q = 0, r = 0
5.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتمتوسطة
ABCD000111100001111010011302040507160120130150140809111110

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

F(A, B, C, D) = Σm(0, 3, 6, 10, 11)
N =
6.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتصعبة
TQ0​Q0​TQ1​Q1​TQ2​Q2​CLKDOWN

عدّاد ثنائي تنازلي بـ 3 بتّات يبدأ من 1 (بالنظام العشري، Q = 001). أي عدّ Q (بالنظام العشري) يُظهر بعد 10 نبضات ساعة؟

Q0 = 110n = 3
Q =
7.نظرية الأعداد والحساب المودوليمتوسطة

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

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

23 عدد أولي. استخدم مبرهنة فيرما الصغرى لإيجاد 72363 mod 23.

p = 23k = 2363
72363 mod 23 =
9.الخوارزميات والتعقيدمتوسطة

التعقيد الزمني لحساب فيبوناتشي العودي الساذج (fib(n) = fib(n−1) + fib(n−2)) هو:

  1. Aخطي
  2. Bلوغاريتمي
  3. Cأسّي
  4. Dثابت
10.الخوارزميات والتعقيدصعبة

ما التعقيد الزمني لـ: for i = 1 to n: for (j = i; j ≤ n; j = j + i) نفّذ عملًا O(1)؟

  1. AO(n √n)
  2. BO(n log n)
  3. CO(n²)
  4. DO(n)
11.هياكل البياناتمتوسطة

أي طريقة لحل التصادمات تخزّن المفاتيح المتصادمة في قائمة داخل الدلو نفسه؟

  1. Aالتسلسل المنفصل (separate chaining)
  2. Bالسبر التربيعي
  3. Cالتجزئة المزدوجة
  4. Dالسبر الخطي
12.هياكل البياناتصعبة

ماذا تفعل شجرة splay بعد كل وصول؟

  1. Aتنقل العقدة التي وُصل إليها إلى ورقة
  2. Bتدير العقدة التي وُصل إليها صعودًا إلى الجذر
  3. Cتعيد تلوين العقد على مسار البحث
  4. Dتعيد بناء الشجرة كلها بشكل متوازن
13.نظرية البياناتمتوسطة

لشجرة 2 رؤوس من الدرجة 5, 3 رؤوس من الدرجة 2، وكل رؤوسها الأخرى أوراق (درجة 1). كم ورقة L لها؟

2 × deg 53 × deg 2
L =
14.نظرية البياناتصعبة
5113153101554143ABCDEFG

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

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

في جدول employees عمود manager_id يشير إلى موظف آخر. كيف تسرد كل موظف بجوار اسم مديره؟

  1. Aبإنشاء نسخة ثانية من الجدول على القرص
  2. Bبربط جدول employees بنفسه باستخدام اسمين مستعارين
  3. Cبدمج الجدول مع نفسه باستخدام UNION ALL ومرشّح WHERE
  4. Dباستخدام GROUP BY manager_id فقط
16.قواعد البيانات و SQLصعبة

لماذا يُعد SELECT dept, name, COUNT(*) FROM emp GROUP BY dept غير صالح في SQL المعياري؟

  1. Aلأن dept يجب أن يظهر داخل دالة تجميعية
  2. Bلأن name ليس مجمَّعًا ولا داخل دالة تجميعية، فليست له قيمة واحدة لكل مجموعة
  3. Cلأن COUNT(*) لا يمكن استخدامها مع GROUP BY
  4. Dلأن GROUP BY يجب أن تسرد جميع أعمدة الجدول
17.شبكات الحاسوبمتوسطة

يتلقى متصفح رمز حالة HTTP رقم 404. ماذا يعني؟

  1. Aيجب على العميل تسجيل الدخول أولًا
  2. Bنجح الطلب
  3. Cلم يُعثر على المورد المطلوب
  4. Dحدث خطأ داخلي في الخادم
18.شبكات الحاسوبصعبة

أي بروتوكول توجيه هو بروتوكول حالة الوصلة (link-state)؟

  1. AARP
  2. BOSPF
  3. CBGP
  4. DRIP
19.تقسيم شبكات IPv4متوسطة
/24 → /2711111111111111111111111111100000بتات الشبكةبتات المضيف

يجب تقسيم الشبكة 192.168.10.0/24 إلى 5 شبكات فرعية متساوية على الأقل. إذا استعرت أقل عدد ممكن من البتات، فكم مضيفًا قابلًا للاستخدام H في كل شبكة فرعية؟

192.168.10.0/245 subnets
H =
20.تقسيم شبكات IPv4صعبة
الثُمانية الثالثة 92 … 94012816403211618140201مشتركمتغيّر

لدى موجّه مسارات إلى هذه الشبكات: 10.114.92.0/24, 10.114.93.0/24, 10.114.94.0/24. ما أطول طول بادئة p لمسار تلخيصي واحد يغطّيها كلها؟

10.114.92.0/24 … 10.114.94.0/24
p =

3المحاليل

1.أنظمة العد

الإجابة: U = 215

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

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

41 = 0010 1001
مقلوب: 1101 0110
+1 → 1101 0111

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

1101 0111₂ = 256 − 41 = 215

الإجابة

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

الإجابة: R = 233

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

بتًا ببت

تعطي OR القيمة 1 حيث يكون أحد البتين على الأقل 1.

1010 1000
OR 1100 1001
= 1110 1001

قيمة الناتج

1110 1001₂ = 233

الإجابة

R = 233
3.المنطق القضوي والبراهين

الإجابة: N = 1

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

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

p = 1, q = 1, r = 1: r ∧ q = 1, q ∧ p = 1, p → r = 1, (q ∧ p) ∧ (p → r) = 1, ¬((q ∧ p) ∧ (p → r)) = 0, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0
p = 1, q = 1, r = 0: r ∧ q = 0, q ∧ p = 1, p → r = 0, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0
p = 1, q = 0, r = 1: r ∧ q = 0, q ∧ p = 0, p → r = 1, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0
p = 1, q = 0, r = 0: r ∧ q = 0, q ∧ p = 0, p → r = 0, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0
p = 0, q = 1, r = 1: r ∧ q = 1, q ∧ p = 0, p → r = 1, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 1
p = 0, q = 1, r = 0: r ∧ q = 0, q ∧ p = 0, p → r = 1, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0
p = 0, q = 0, r = 1: r ∧ q = 0, q ∧ p = 0, p → r = 1, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0
p = 0, q = 0, r = 0: r ∧ q = 0, q ∧ p = 0, p → r = 1, (q ∧ p) ∧ (p → r) = 0, ¬((q ∧ p) ∧ (p → r)) = 1, (r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)) = 0

عُدّ الصفوف ذات القيمة 1

(r ∧ q) ∧ ¬((q ∧ p) ∧ (p → r)): 0, 0, 0, 0, 1, 0, 0, 0
N = 1

الإجابة

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

الإجابة: q = 0, r = 1

الكمّمات والحجج: ¬∀x P(x) ≡ ∃x ¬P(x) و ¬∃x P(x) ≡ ∀x ¬P(x). انقل النفي إلى الداخل، وبدّل كل كمّم يمرّ به، وانفِ الصيغة الداخلية بقوانين المنطق القضوي، مثل ¬(a → b) ≡ a ∧ ¬b. تكون الحجة صحيحة عندما يكون الاستنتاج 1 في كل صف تكون فيه كل المقدمات 1. صف واحد بمقدمات صائبة واستنتاج خاطئ هو مثال مضاد ويبيّن أن الحجة غير صحيحة.

المقدمات والاستنتاج صفًا صفًا

q = 1, r = 1: 1 1 | 1
q = 1, r = 0: 0 0 | 1
q = 0, r = 1: 1 1 | 0
q = 0, r = 0: 1 0 | 0

مثال مضاد

q = 0, r = 1

الإجابة

q = 0, r = 1

حجة بهذه الصيغة تبدو قاعدة صحيحة، لكن صفًا واحدًا يكفي لإثبات أنها ليست كذلك.

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

الإجابة: N = 6

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

ABCD000111100001111010011302040507160120130150140809111110

جمّع الأصفار

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

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

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

F = (C + D′)(B′ + D′)(B′ + C)(A′ + C)(A′ + B′)(A + B + C′ + D)
N = 6

الإجابة

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

الإجابة: Q = 7

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

الدورات الكاملة

كل 8 نبضة تعيد العدّاد إلى الحالة نفسها.

10 = 1·8 + 2

العدّ بعد النبضات المتبقية

Q = (1 − 2) mod 8 = 7
Q = 111₂

الإجابة

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

الإجابة: 38−1 mod 51 = 47

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

r = 51, t = 0
r = 38, q = 1, t = 1
r = 13, q = 2, t = −1
r = 12, q = 1, t = 3
r = 1, q = 12, t = −4

المعكوس

1 ≡ −4·38 (mod 51)
x = 47
تحقّق: 38·47 = 1786 = 35·51 + 1

الإجابة

38−1 mod 51 = 47
8.نظرية الأعداد والحساب المودولي

الإجابة: 72363 mod 23 = 15

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

اختزل الأس

2363 mod 22 = 9
72363 ≡ 79 (mod 23)

القوة الصغيرة

79 mod 23 = 15

الإجابة

72363 mod 23 = 15
9.الخوارزميات والتعقيد

الإجابة: C · أسّي

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

تنمو شجرة الاستدعاءات تقريبًا مثل φⁿ (نحو 1,618ⁿ). ويخفّض التذكير (memoisation) التعقيد إلى O(n).

الإجابة

C · أسّي
10.الخوارزميات والتعقيد

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

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

المجموع n / 1 + n / 2 + ... + n / n = n × Hn، والعدد التوافقي Hn هو Θ(log n).

الإجابة

B · O(n log n)
11.هياكل البيانات

الإجابة: A · التسلسل المنفصل (separate chaining)

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

يحتفظ التسلسل بقائمة مترابطة (أو بنية أخرى) لكل دلو، بينما تبحث العنونة المفتوحة عن خانة فارغة أخرى داخل الجدول نفسه.

الإجابة

A · التسلسل المنفصل (separate chaining)
12.هياكل البيانات

الإجابة: B · تدير العقدة التي وُصل إليها صعودًا إلى الجذر

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

ينقل الـ splaying العقدة التي وُصل إليها إلى الجذر عبر دورانات، وقد تكلف عملية واحدة O(n)، لكن الكلفة المستهلَكة O(log n).

الإجابة

B · تدير العقدة التي وُصل إليها صعودًا إلى الجذر
13.نظرية البيانات

الإجابة: L = 8

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

مبرهنة المصافحة لشجرة

L + 16 = 2(L + 5) − 2
L = 8

الإجابة

L = 8

اختصار: L = 2 + Σ (d − 2) على الرؤوس ذات الدرجة d ≥ 3.

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

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

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

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

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

A (0): B: 5, C: 11
B (5): C: 8, D: 20, G: 9
C (8): E: 11
G (9): D: 12
E (11): F: 16
D (12)
F (16)

أقصر مسار

A → B → C → E → F
d(F) = 16

الإجابة

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

الإجابة: B · بربط جدول employees بنفسه باستخدام اسمين مستعارين

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

يتيح الربط الذاتي مثل FROM employees e JOIN employees m ON e.manager_id = m.id أن يكون أحد الاسمين المستعارين الموظف والآخر المدير.

الإجابة

B · بربط جدول employees بنفسه باستخدام اسمين مستعارين
16.قواعد البيانات و SQL

الإجابة: B · لأن name ليس مجمَّعًا ولا داخل دالة تجميعية، فليست له قيمة واحدة لكل مجموعة

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

يجب أن يكون كل عمود في قائمة SELECT في GROUP BY أو داخل دالة تجميعية (أو معتمدًا داليًا على أعمدة التجميع)؛ وإلا كانت القيمة ملتبسة.

الإجابة

B · لأن name ليس مجمَّعًا ولا داخل دالة تجميعية، فليست له قيمة واحدة لكل مجموعة
17.شبكات الحاسوب

الإجابة: C · لم يُعثر على المورد المطلوب

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

يعني 404 Not Found أن الخادم ليس لديه مورد على ذلك العنوان. أما 200 فهو OK، و401 هو Unauthorized، و500 هو Internal Server Error.

الإجابة

C · لم يُعثر على المورد المطلوب
18.شبكات الحاسوب

الإجابة: B · OSPF

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

تبني موجّهات OSPF خريطة كاملة للمنطقة وتحسب أقصر المسارات بخوارزمية Dijkstra. أما RIP فهو بروتوكول متجه المسافة، وBGP بروتوكول متجه المسار.

الإجابة

B · OSPF
19.تقسيم شبكات IPv4

الإجابة: H = 30

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

البتات المستعارة

23 = 8 ≥ 5 → b = 3, /27

المضيفون في كل شبكة فرعية

25 − 2 = 30

الإجابة

H = 30
20.تقسيم شبكات IPv4

الإجابة: p = 22

تلخيص المسارات: المسار التلخيصي a.b.c.0/p يغطّي كل الشبكات التي تتطابق بتاتها الأولى p. اكتب الثُمانية المختلفة للشبكة الأولى والأخيرة بالنظام الثنائي؛ عدد البتات الأولى المشتركة، زائد بتات الثُمانيات التي قبلها، هو أطول بادئة تلخيصية.

قارن البتات

92 = 01011100
94 = 01011110
البتات الأولى المشتركة: 6

طول البادئة

p = 16 + 6 = 22

الإجابة

p = /22

المسار التلخيصي: 10.114.92.0/22 (وهو يغطّي أيضًا 1 شبكة (شبكات) ليست في القائمة).

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