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

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

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

N = −1078 bit
U =
2.أنظمة العدصعبة
12 بت، بدون إشارة, N = ?????????????

ما أكبر عدد صحيح بلا إشارة N يتسع في 12 بتة؟

12 bit
N =
3.المنطق القضوي والبراهينمتوسطة
¬b ∧ c¬b ∨ ¬c¬b ∧ ¬cb ∨ ¬c

أي صيغة تكافئ ¬(b ∨ c) منطقيًا؟ انقر عليها.

¬(b ∨ c)
  1. 1¬b ∧ c
  2. 2¬b ∨ ¬c
  3. 3¬b ∧ ¬c
  4. 4b ∨ ¬c
4.المنطق القضوي والبراهينصعبة
pp ∧ q¬qq

المقدمات p ∨ q; ¬p معطاة. أي استنتاج يلزم عنها؟ انقر عليه.

p ∨ q¬p
  1. 1p
  2. 2p ∧ q
  3. 3¬q
  4. 4q
5.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتمتوسطة
ABCD000111100001111000010302141517061120131150140809011010

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

F(A, B, C, D) = Σm(4, 5, 7, 12, 15)
N =
6.المنطق الرقمي: البوابات وخرائط كارنو والقلّاباتصعبة
FFQ0​Q0​CLKMOD-2

ساعة 20 kHz تقود عدّاد mod-2. جد تردد fout خرجه الأعلى وزنًا، الذي يُكمل دورة واحدة لكل دورة عدّ.

fclk = 20 kHzN = 2
fout = kHz
7.نظرية الأعداد والحساب المودوليمتوسطة

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

x ≡ 3 (mod 7)x ≡ 6 (mod 13)
x =
8.نظرية الأعداد والحساب المودوليصعبة
mc = me​ mod n256m = cd​ mod n?(n, e) = (481, 7)d

يستخدم مفتاح RSA القيم p = 13 و q = 37 و e = 7. فكّ تشفير النص المشفّر c = 256: جد الرسالة m.

p = 13q = 37e = 7c = 256
m =
9.الخوارزميات والتعقيدمتوسطة

هل يصح القول إن خوارزمية O(n²) هي أيضًا O(n³)؟

  1. Aلا، لأن O الكبير يجب أن يذكر دائمًا معدل النمو الدقيق للدالة
  2. Bنعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³
  3. Cنعم، لكن فقط إذا كانت n أصغر من 100
  4. Dلا، لأن n³ أصغر من n² عندما تكون n كبيرة
10.الخوارزميات والتعقيدصعبة

لماذا يحتاج أي بحث قائم على المقارنة في مصفوفة مرتبة إلى Ω(log n) مقارنة في أسوأ الحالات؟

  1. Aلأن شجرة قرار لها n نتيجة ممكنة يجب أن يكون عمقها log₂ n على الأقل
  2. Bلأن البحث الثنائي هو الخوارزمية الوحيدة الممكنة، وهو يحتاج إلى log₂ n مقارنة
  3. Cلأن كل عنصر يجب أن يُقارَن مرة واحدة على الأقل
  4. Dلأن كل مقارنة تستغرق زمنًا لوغاريتميًا
11.هياكل البياناتمتوسطة

لماذا يمكن تخزين كومة ثنائية في مصفوفة دون أي مؤشرات؟

  1. Aلأنها شجرة ثنائية تامة، فتتبع المواضع صيغ فهارس بسيطة
  2. Bلأن كل المفاتيح في الكومة متساوية
  3. Cلأن الأكوام لا تحتوي أبدًا أكثر من 100 عنصر
  4. Dلأن المصفوفات تُبقي المفاتيح مرتبة تلقائيًا فلا حاجة إلى مؤشرات
12.هياكل البياناتصعبة

ما التكلفة المستهلكة (amortised) لكل عملية في بنية union-find (المجموعات المنفصلة) مع الدمج حسب الرتبة وضغط المسار؟

  1. AO(α(n))، أي دالة أكرمان العكسية، وهي ثابتة عمليًا
  2. BO(n)
  3. CO(n²)
  4. DO(log n) بالضبط
13.نظرية البياناتمتوسطة
ABCDEFدارة أويلرمسار أويلر دون دارةلا هذه ولا تلك

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

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

تعمل خوارزمية ديكسترا انطلاقًا من A. انقر على الرأس الذي يُثبَّت (يصبح دائمًا) في الجولة 3؛ A نفسه هو الجولة 1.

البداية: Aالجولة 3
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
  7. 7G
15.قواعد البيانات و SQLمتوسطة

ماذا يُرجع LEFT JOIN؟

  1. Aجميع الصفوف من الجدول الأيمن فقط
  2. Bجميع الصفوف من الجدول الأيسر والصفوف المطابقة من الأيمن، مع NULL حيث لا يوجد تطابق
  3. Cالصفوف التي لا تتطابق في أي من الجدولين
  4. Dالصفوف المطابقة فقط من كلا الجدولين
16.قواعد البيانات و SQLصعبة

بعد customers LEFT JOIN orders، لماذا تُستخدم COUNT(o.id) بدلًا من COUNT(*) لعدّ الطلبات لكل عميل؟

  1. Aلأن COUNT(*) تتجاهل الصفوف ذات القيم NULL
  2. Bلأن COUNT(*) غير مسموح بها بعد الربط
  3. Cلأن COUNT(o.id) تعدّ العملاء المميزين فقط
  4. Dلأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم
17.شبكات الحاسوبمتوسطة

ما الغرض من المصافحة الثلاثية (three-way handshake) في TCP؟

  1. Aتشفير البيانات
  2. Bإغلاق الاتصال بسرعة
  3. Cإنشاء الاتصال ومزامنة أرقام التسلسل
  4. Dالعثور على عنوان IP لمضيف قبل إمكانية إرسال البيانات إليه
18.شبكات الحاسوبصعبة

في هجوم إغراق SYN، ما المورد الذي يحاول المهاجم استنفاده؟

  1. Aذاكرة DNS المؤقتة لدى العميل
  2. Bمساحة القرص في الخادم
  3. Cجدول الخادم للاتصالات نصف المفتوحة
  4. Dجدول عناوين MAC في المبدّل
19.تقسيم شبكات IPv4متوسطة
/22 → /2911111111111111111111111111111000بتات الشبكةبتات المضيف

تُقسَّم الشبكة 10.176.12.0/22 إلى شبكات فرعية متساوية ببادئة /29. كم شبكة فرعية N توجد؟

10.176.12.0/22/29
N =
20.تقسيم شبكات IPv4صعبة
الثُمانية الثالثة 155 … 159112806403211618041211مشتركمتغيّر

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

10.170.155.0/24 … 10.170.159.0/24
p =

3المحاليل

1.أنظمة العد

الإجابة: U = 149

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

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

107 = 0110 1011
مقلوب: 1001 0100
+1 → 1001 0101

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

1001 0101₂ = 256 − 107 = 149

الإجابة

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

الإجابة: N = 4095

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

أكبر قيمة

212 − 1 = 4095

الإجابة

N = 4095
3.المنطق القضوي والبراهين

الإجابة: ¬b ∧ ¬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 ∨ c) ≡ ¬b ∧ ¬c

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

b = 1, c = 1: 0 | 0 0 0 1
b = 1, c = 0: 0 | 0 1 0 1
b = 0, c = 1: 0 | 1 1 0 0
b = 0, c = 0: 1 | 0 1 1 1

الإجابة

¬b ∧ ¬c

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

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

الإجابة: q

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

الصفوف التي كل مقدماتها صائبة

p = 0, q = 1: p = 0, p ∧ q = 0, ¬q = 0, q = 1

الخلاصة

q (القياس الفصلي)

الإجابة

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

الإجابة: N = 3

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

ABCD000111100001111000010302141517061120131150140809011010

جمّع الآحاد

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

BC′D′
BCD
A′BD

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

F = BC′D′ + BCD + A′BD
N = 3

الإجابة

N = 3

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

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

الإجابة: fout = 10 kHz

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

قسمة التردد

fout = 20 kHz / 2 = 10 kHz

الإجابة

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

الإجابة: x = 45

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

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

3 + 7k ≡ 6 (mod 13) → 7k ≡ 3 (mod 13)
k ≡ 2·3 ≡ 6 (mod 13)

النتيجة

x = 3 + 7·6 = 45
x = 45
تحقّق: 45 mod 7 = 3, 45 mod 13 = 6

الإجابة

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

الإجابة: m = 451

القوى المودولية و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 = 481, φ(n) = 432
d = 7−1 mod 432 = 247

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

247 = 128 + 64 + 32 + 16 + 4 + 2 + 1
2561 ≡ 256 (mod 481)
2562 ≡ 120 (mod 481)
2564 ≡ 451 (mod 481)
2568 ≡ 419 (mod 481)
25616 ≡ 477 (mod 481)
25632 ≡ 16 (mod 481)
25664 ≡ 256 (mod 481)
256128 ≡ 120 (mod 481)
256247 ≡ 256·120·451·477·16·256·120 ≡ 451 (mod 481)

الرسالة

m = 451
تحقّق: 4517 mod 481 = 256

الإجابة

m = 451
9.الخوارزميات والتعقيد

الإجابة: B · نعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³

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

O الكبير حد أعلى، فالعبارة صحيحة لكنها غير محكمة، أما Θ(n²) فتعبّر عن معدل النمو الدقيق.

الإجابة

B · نعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³
10.الخوارزميات والتعقيد

الإجابة: A · لأن شجرة قرار لها n نتيجة ممكنة يجب أن يكون عمقها log₂ n على الأقل

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

كل مقارنة تنصّف على الأكثر مجموعة الاحتمالات المتبقية، فيحتاج التمييز بين n موضعًا إلى log₂ n مقارنة على الأقل.

الإجابة

A · لأن شجرة قرار لها n نتيجة ممكنة يجب أن يكون عمقها log₂ n على الأقل
11.هياكل البيانات

الإجابة: A · لأنها شجرة ثنائية تامة، فتتبع المواضع صيغ فهارس بسيطة

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

التمام يعني عدم وجود فجوات، فيكون ابنا الفهرس i دائمًا في 2i + 1 و2i + 2.

الإجابة

A · لأنها شجرة ثنائية تامة، فتتبع المواضع صيغ فهارس بسيطة
12.هياكل البيانات

الإجابة: A · O(α(n))، أي دالة أكرمان العكسية، وهي ثابتة عمليًا

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

مع كلا التحسينين تستغرق العمليات زمنًا مستهلكًا قدره O(α(n))، وα(n) ≤ 4 لأي قيمة واقعية لـ n.

الإجابة

A · O(α(n))، أي دالة أكرمان العكسية، وهي ثابتة عمليًا
13.نظرية البيانات

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

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

الدرجات

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

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

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

الإجابة

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

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

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

الإجابة: C

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

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

1. A (0): B: 1, C: 2
2. B (1): D: 3
3. C (2): G: 13
4. D (3): E: 15, F: 4
5. F (4): E: 8
6. E (8)
7. G (13)

الجولة 3

C

الإجابة

C
15.قواعد البيانات و SQL

الإجابة: B · جميع الصفوف من الجدول الأيسر والصفوف المطابقة من الأيمن، مع NULL حيث لا يوجد تطابق

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

يحتفظ الربط الخارجي الأيسر بكل صف من الجدول الأيسر؛ وتُملأ أعمدة الجدول الأيمن غير المطابقة بـ NULL.

الإجابة

B · جميع الصفوف من الجدول الأيسر والصفوف المطابقة من الأيمن، مع NULL حيث لا يوجد تطابق
16.قواعد البيانات و SQL

الإجابة: D · لأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم

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

يعطي الربط الأيسر صفًا واحدًا بأعمدة طلبات NULL لمثل هؤلاء العملاء؛ وتتخطى COUNT(o.id) قيمة NULL فتذكر 0 بشكل صحيح.

الإجابة

D · لأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم
17.شبكات الحاسوب

الإجابة: C · إنشاء الاتصال ومزامنة أرقام التسلسل

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

تُنشئ المصافحة الاتصال ويتفق الطرفان خلالها على أرقام التسلسل الأولية قبل إرسال البيانات.

الإجابة

C · إنشاء الاتصال ومزامنة أرقام التسلسل
18.شبكات الحاسوب

الإجابة: C · جدول الخادم للاتصالات نصف المفتوحة

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

تجعل كل رسالة SYN الخادمَ يحجز حالة وينتظر ACK لا تأتي أبدًا. وتتجنب ملفات SYN cookies تخزين الحالة حتى تكتمل المصافحة.

الإجابة

C · جدول الخادم للاتصالات نصف المفتوحة
19.تقسيم شبكات IPv4

الإجابة: N = 128

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

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

29 − 22 = 7

عدد الشبكات الفرعية

N = 27 = 128

الإجابة

N = 128

لكل شبكة فرعية /29 عدد 23 − 2 = 6 مضيفًا قابلًا للاستخدام.

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

الإجابة: p = 21

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

قارن البتات

155 = 10011011
159 = 10011111
البتات الأولى المشتركة: 5

طول البادئة

p = 16 + 5 = 21

الإجابة

p = /21

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

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