نسخة تجريبية مستقلة — 10 صفحات هندسية
عينة مجانية بفهرس مختلف · العمق في الكتاب الكامل (44 صفحة) يُشترى من المتجر
TRIAL SAMPLE
أغلب العينات تختصر الفهرس الأصلي وتسرقه. هذي العينة ورشة قصيرة مستقلة: نفس لهجة الكتاب، نفس صناديق السر والقاعدة، بس فهرس مختلف وأمثلة ما نُشرت بالمجلد. تأخذ جزئية كاملة تفهمها — مو عناوين. الباقي (الذاكرة، المؤشرات الممتدة، بنك الأخطاء، الـ 44 صفحة) يبقى خلف الشراء.
قاعدة ذهبية واحدة مثل الكتاب: ما تقلب الصفحة قبل ما تكتب الكود بيدك وتشغّله. القراءة تعطيك وهم الفهم. إذا ثبتت القواعد الخمس براسك، المجلد الكامل يصير أسهل بعشرة أضعاف. التمارين المتدرجة وبنك الأخطاء — اشترِ المجلد أو الحزمة الذهبية.
تقرأ الشرح. تنفّذ المثال. تحل تمرين الخمس دقائق. بعدين تقرر. العينة مجانية لأنها عدسة. العمق مدفوع لأنه عمل هندسي، لا منشور.
هذا الفهرس لا يطابق أبواب الكتاب الكامل. هو مسار قصير بعنوان مختلف، يشرح جزءاً من الفكرة لا نسخة مصغّرة من الفهرس الأصلي.
في الكتاب الكامل تبدأ الأبواب من رحلة الكود وتشريح البرنامج وخريطة الذاكرة بتمارين ممتدة. هنا عناوين أخرى لنفس العقل الهندسي.
أغلب الطلبة يكتبون تعليقاً فصيحاً فوق سطر غلط ويحسبون إن الحاسوب «فهم الفكرة». الحقيقة إن التعليق للإنسان. المعالج يقرأ البتات فقط. لو رتّبت الحالة غلط، راح ينفّذ الغلط بأدب هندسي — وهاي أخطر من انهيار، لأن ماكو رسالة خطأ.
الجملة «إذا المحرّك سخن أوقف الخط» مفهومة لإنسان ومبهمة لآلة: منو يحدد «سخن»؟ بأي وحدة؟ لأي مدة؟ وأي فعل واحد يصير؟ المهندس يحوّلها إلى ثلاثة أشياء: عتبة رقمية، نافذة عيّنات، وفعل واحد على الخرج.
«إذا سخن أوقف». ماكو رقم. ماكو وحدة. الآلة ما تخمّن.
إذا rpm >= 4200 لعيّنتين متتاليتين: اطبع CUTOFF. غير هذي: RUN.
#include <iostream>
using namespace std;
int main() {
int rpm = 3910; // ◀ قراءة encoder هذي الدورة
int last = 3880; // ◀ العيّنة السابقة — النافذة مو رقم واحد
bool cut = (rpm >= 4200) && (last >= 4200);
cout << (cut ? "CUTOFF" : "RUN") << endl;
return 0; // ◀ كود خروج للنظام: صفر = نجاح
}ليش عيّنتين مو رقم واحد؟ لأن ضوضاء حسّاس لحظة واحدة ما تعني إن الخط انكسر. العتبة بلا نافذة = إنذار كاذب. النافذة بلا عتبة = كلام. الكتاب الكامل يعلّمك الشروط الشجرية وswitch على أبواب ممتدة — هنا تفهم القاعدة الصفر بس.
أغلب الطلبة يتصورون إن زر Run عملية واحدة. الحقيقة إنها خمس بوابات منفصلة، وكل بوابة تعطيك نوع خطأ مختلف. لما تعرف أي بوابة صرخت، راح تعرف وين تحط إيدك — مو وين تخمّن.
| العَرَض | البوابة | شنو تسوي أولاً |
|---|---|---|
| No such file: mill.h | تجهيز | مسار الرأس — مو متن الكود |
| expected ';' before | ترجمة | السطر المذكور واللي قبله |
| undefined reference to foo | ربط | ملف .cpp ناقص بأمر البناء |
| ينهار بعد التشغيل | بعد التحميل | منطقك. المترجم نجح |
خطأ الترجمة يكتشفه المترجم قبل توليد ملف التنفيذ. خطأ التشغيل يحدث بعد نجاح الترجمة. الأخطر ثالث: Logic Error — يشتغل والنتيجة غلط وماكو رسالة. المجلد يفتح بنك عشر أخطاء. هنا تتعلّم تصنّف قبل ما تعدّل.
أغلب الطلبة يسألون «شنو أكتب؟». المهندس يسأل أولاً: شنو أخزّن، بشنو حجم، وبأي عنوان. الاسم للإنسان. للآلة: حجم ومحاذاة وعنوان. إذا رتّبت الخزانة غلط، كل جملة بعدها كذب مرتّب.
int ticks = 4096; // ◀ عداد نبض — مو «سرعة» double bus_v = 24.08; // ◀ قياس مستمر يحتاج كسر bool armed = true; // ◀ قرار ثنائي: مسلّح أو لا
لو خزّنت الفولت بـ int راح تقطع 24.08 إلى 24 وتكذب على نظام الحماية. لو خزّنت القرار بـ int راح تضيع المعنى. النوع مو زينة — هو عقد مع الذاكرة.
قبل ما تسمّي، قرر النوع. الكتاب الكامل يفتح جدول الأنواع وخريطة المكدس والكومة وفخ القسمة الصحيحة على صفحات مختبر. هنا تفهم السؤال. هناك تتدرّب على الجواب.
القيمة ساكن داخل الخزانة. المؤشر ورقة عنوان مكتوب عليها وين البيت. إذا نسخت الورقة، ما نسخت البيت. إذا مسحت البيت وبقت الورقة بإيدك، صارت قنبلة مؤجلة. هذي الجزئية لازم تفهمها هسة — تفاصيل new والتسريب بالمجلد الكامل.
int pulse = 40; // ◀ خزانة فيها 40 int* route = &pulse; // ◀ ورقة عنوان هذي الخزانة *route = 41; // ◀ اكتب 41 في البيت عبر الورقة cout << pulse << endl; // ◀ نفس البيت — مو نسخة
السطر الثاني ما نسخ الرقم 40. نسخ عنوان الخزانة. لذلك السطر الثالث يعدّل الساكن الأصلي. لو كتبت int copy = pulse; بعدين عدّلت copy، البيت الأصلي يبقى 40.
خزانتان. تعديل واحدة ما يمس الثانية. مناسب للعدادات الصغيرة.
بابان لنفس البيت. أي كتابة من أي باب تظهر للجميع. خطر إذا نسيت عمر البيت.
&x يعني «عنوان x». *p يعني «الساكن اللي عنوانه p». الخلط بينهم يسقط درجة كاملة. المراجع وحساب المؤشر والذاكرة الديناميكية — باب كامل بـ C++ Core.
هذي ورشة الكتاب نفسها: ما تقلب ومعك وهم الفهم. اكتب برنامجاً يقرأ ثلاث قراءات حرارة بمصفوفة حجمها 3، ويطبع ALARM إذا أي عنصر صار أكبر من 70، وإلا QUIET. بلا مكتبات إضافية. بلا نسخ من الإنترنت.
تحتاج: خزانة مصفوفة، عتبة 70، وعلَم يبدأ هادئ وينقلب إذا انكسر الشرط. الفهرسة من 0 إلى 2. القيمة 70 نفسها تبقى هادئة — العتبة > مو >= بهذي المسألة. القراءة 71 وحدها تكفي للإنذار حتى لو الباقي 68.
int c[3] = {68, 71, 69}; // ◀ غيّر القيم واختبر الحدّين
bool alarm = false;
// for (int i = 0; i < 3; ++i) ...
// إذا c[i] > 70 → alarm = true
// اطبع ALARM أو QUIETإذا تعثّرت بالفهرسة أو الحلقة، وصلت لحد العينة لا لحدك. الكتاب الكامل يدرّب المصفوفة والحلقات المتداخلة وMax/Min وبنك الأخطاء على أبواب كاملة. اشترِ العمق إذا حرّكك التمرين.
العينة أعطتك العدسة: قاعدة صفر، خمس بوابات، خزانة، عنوان، وتمرين. الكتاب يعطيك المصنع: أبواب ممتدة، ملحقات، وبنك أخطاء. إذا فهمت الجزء — لا تتوقف عنده.
إذا أردت العقل واليد والتوجيه والنظام معاً: اشترِ السلسلة كاملة بـ 20$ بدل 33$.
إذا حرّكتك القواعد وكتبت تمرين الحسّاس، أنت جاهز للكتاب لا للتوقف. الكتاب الكامل محمي لحساب المشتري. الحزمة تفتح المجلدات الأربعة.
العينة تعلّمك كيف تبدأ التفكير. الشراء يفتح لك كيف تُتقن. ارجع للمتجر، سجّل الدخول، وادفع عبر Switch أو زين كاش أو كي كارد.
ZIM · MUHAMMAI · Trial 2026.1 · ليست بديلاً عن الكتاب الكامل