ماذا يفعل الحاسوب فعلًا: إدخال، معالجة، تخزين، إخراج
في هذا الدرس 11 موضوعات
نظرة عامة على الدرس
كل تطبيق استخدمته في حياتك (آلة حاسبة، كاميرا، تطبيق البنك، لعبة) هو في الحقيقة حاسوب يؤدي المهام الأربع نفسها مرة بعد مرة: يستقبل شيئًا من الخارج، ويعمل عليه، ويحتفظ ببعضه، ثم يرسل نتيجة إلى الخارج.
في هذا الدرس ستتعلم أن ترى هذه المهام الأربع في أي جهاز بداخله حاسوب. وهي الإدخال (input) والمعالجة (processing) والتخزين (storage) والإخراج (output). لا تحتاج إلى أي خلفية تقنية: كل مصطلح يُشرح لك عندما يظهر لأول مرة.
لماذا هذا مهم؟ الدرس التالي يسمّي الأجزاء الحقيقية التي تؤدي كل مهمة (وحدة المعالجة المركزية والذاكرة والأقراص). والوحدات اللاحقة تعلّمك كتابة برامج تؤدي هذه المهام عن قصد. وعندما تبني خدمة backend (أي البرنامج الذي يعمل على الخادم خلف التطبيق، وستتعرف عليه في آخر هذا الدرس) ستصمّم هذا بالضبط: ما الذي يدخل، وماذا يفعل البرنامج به، وما الذي يجب أن يتذكره، وبماذا يردّ. الخطوات الأربع تشبه خريطة: كل موضوع ستتعلمه لاحقًا سيجد مكانه عليها.
هذا هو الدرس الأول في الدورة، ولذلك لا يفترض أنك تعرف شيئًا عن البرمجة أو علوم الحاسوب. أما الدرس التالي، "CPU وRAM والتخزين: تشبيه المطبخ"، فيسمّي أجزاء الحاسوب التي تنفّذ هذه الخطوات.
أهداف التعلّم
بنهاية هذا الدرس ستكون قادرًا على أن:
- تشرح ما يفعله الحاسوب باستخدام الخطوات الأربع: الإدخال والمعالجة والتخزين والإخراج.
- تحدّد مُدخلًا واحدًا على الأقل، وإجراء معالجة واحدًا، وشيئًا واحدًا يُخزَّن، ومُخرَجًا واحدًا في جهاز أو تطبيق يومي، مثل الآلة الحاسبة أو الصرّاف الآلي (ATM) أو تطبيق الكاميرا.
- تميّز الإدخال من الإخراج، بما في ذلك الأجهزة التي تفعل الاثنين، مثل الشاشة التي تعمل باللمس.
- تميّز التخزين من الإخراج بطرح سؤالين: من الذي يستلمه، وهل سيبقى موجودًا لاحقًا.
- تشرح بمثال لماذا ينفّذ الحاسوب ما تقوله تعليماته بالضبط، لا ما قصده الشخص الذي كتبها.
- تصف كيف يتبع الطلب المُرسَل إلى موقع ويب الخطوات الأربع نفسها.
الشرح
ما هو الحاسوب حقًا؟
عندما يسمع الناس كلمة "حاسوب" (أو "كمبيوتر") يتخيلون غالبًا حاسوبًا محمولًا (laptop)، أو حتى الشاشة وحدها. هذه الصورة أضيق من الحقيقة. الحاسوب هو أي آلة تتبع تعليمات لتعمل على المعلومات. الهاتف حاسوب. والصرّاف الآلي حاسوب، وكذلك التلفاز الذكي، وشاشة العرض في السيارة، والجهاز الذي يشغّل موقع ويب.
في هذه الجملة كلمتان يجب أن تفهم معناهما بدقة، لأن الدورة كلها تقوم عليهما:
- البيانات (data، أو المعلومات) هي ما يعمل عليه الحاسوب: رقم تكتبه، صورة، رسالة، قراءة لدرجة الحرارة.
- التعليمات (instructions) هي خطوات مرتبة تخبر الحاسوب ماذا يفعل بالبيانات، خطوة بعد خطوة. وقائمة التعليمات التي تؤدي عملًا مفيدًا تُسمّى برنامجًا (program). والتطبيقات التي على هاتفك برامج.
إذن يستقبل الحاسوب البيانات، ويتبع تعليمات البرنامج ليفعل بها شيئًا، ثم يُخرج نتيجة. ويمكن تلخيص ذلك كله في أربع خطوات.
الخطوات الأربع
| الخطوة | السؤال الذي تجيب عنه | الآلة الحاسبة | الصرّاف الآلي | تطبيق كاميرا الهاتف |
|---|---|---|---|---|
| الإدخال | ما الذي يدخل؟ | تضغط 2 و+ و3 | بطاقتك، ورقمك السري، والمبلغ الذي تطلبه | الضوء الذي يمر عبر العدسة، وضغطتك على زر الالتقاط |
| المعالجة | ماذا يفعل الحاسوب به؟ | يجمع العددين | يتحقق من الرقم السري ومن أن رصيدك يغطي المبلغ | يحوّل البيانات الخام التي التقطها مستشعر الكاميرا إلى صورة (وغالبًا يضبط السطوع والألوان) |
| التخزين | ما الذي يحتفظ به لوقت لاحق؟ | آخر نتيجة (كثير من الآلات الحاسبة تحتفظ بها لزر "الإجابة السابقة") | الرصيد الجديد، ويحتفظ به البنك | الصورة، محفوظة في معرض الصور (الاستوديو) لديك |
| الإخراج | ما الذي يخرج؟ | 5 على الشاشة | النقود، وإيصال، ورسالة على الشاشة | معاينة الصورة على الشاشة، وصوت الالتقاط |
لننظر إلى كل خطوة على حدة.
الإدخال هو أي شيء يدخل إلى الحاسوب من الخارج. قد يأتي من شخص (لوحة المفاتيح، الفأرة (الماوس)، الشاشة اللمسية، الميكروفون، الكاميرا)، أو من العالم حوله (مستشعرات، أي قطع صغيرة تقيس شيئًا من حولها، مثل GPS الذي يحدد مكانك أو مستشعر الحرارة)، أو من حاسوب آخر (رسالة تصل عبر شبكة، مثل الصفحة التي يرسلها موقع ويب إلى متصفحك). الإدخال مادة خام: لم يفعل بها الحاسوب شيئًا بعد.
المعالجة هي عمل الحاسوب على المُدخلات باتباع التعليمات. وتشمل الحساب (2 + 3)، والمقارنة (هل الرصيد 100 على الأقل؟)، وترتيب قائمة، والبحث، وتحويل صورة إلى صيغة أخرى، وكذلك اتخاذ القرار، أي اختيار التعليمات التي ستُنفَّذ بعد ذلك بناءً على نتيجة مقارنة. هذه هي الخطوة التي ستتحكم فيها عندما تتعلم البرمجة: كتابة برنامج تعني كتابة تعليمات المعالجة.
التخزين هو المكان الذي يحتفظ فيه الحاسوب بالبيانات لتبقى موجودة لاحقًا. من دون تخزين سينسى الحاسوب كل شيء بمجرد أن ينتهي من استخدامه: لا مستندات محفوظة، ولا صور، ولا جهات اتصال. في الدرس التالي سترى أن للحاسوب أكثر من نوع واحد من التخزين، وستعرف السبب. أما الآن فتذكّر المهمة فقط: الاحتفاظ بالبيانات لوقت لاحق.
الإخراج هو أي شيء يغادر الحاسوب ليصل إلى شخص أو إلى حاسوب آخر: نصوص وصور على الشاشة، صوت من مكبّر الصوت، صفحة مطبوعة، ملف يُكتب ليقرأه برنامج آخر، رسالة تُرسل عبر الإنترنت.
كيف تترابط الخطوات الأربع
النسخة النصية من هذا الرسم
ثلاثة صناديق في صف واحد: الإدخال (Input) ثم المعالجة (Processing) ثم الإخراج (Output)، وتربط بينها أسهم تتجه إلى اليمين. أسفل المعالجة صندوق التخزين (Storage) يرتبط بها بسهم ذي اتجاهين، أي أن المعالجة تستطيع القراءة من التخزين والكتابة فيه.
اقرأ الرسم هكذا: الإدخال يذهب إلى المعالجة، والمعالجة ترسل النتائج إلى الإخراج. ويمكن للمعالجة أيضًا أن تقرأ من التخزين وأن تكتب فيه في أي لحظة. فالتخزين ليس "الخطوة الأخيرة". إنه مكان تزوره المعالجة كلما احتاجت إلى أن تحفظ شيئًا لتتذكره، أو أن تسترجع شيئًا احتفظت به من قبل.
يُظهر هذا الرسم أمرين كثيرًا ما يفاجئان المبتدئين:
- الخطوات تتكرر باستمرار. اللعبة تكرر هذه الدورة مرات كثيرة في كل ثانية: تقرأ ما تضغطه على يد التحكم (إدخال)، وتحدّث ما يجري في عالم اللعبة (معالجة)، وترسم الإطار التالي، أي الصورة التالية على الشاشة (إخراج)، وتتذكر نقاطك (تخزين).
- الجهاز الواحد قد يؤدي أدوارًا مختلفة في لحظات مختلفة. الشاشة اللمسية جهاز إدخال عندما تلمسها، وجهاز إخراج عندما تعرض صورة. والملف الذي يحفظه برنامج (إخراج) قد يفتحه برنامج آخر لاحقًا، فيصبح مُدخَلًا له.
كيف تفرّق بين الخطوات
أكثر ما يخلط فيه المبتدئون هو الإخراج والتخزين، لأن حفظ ملف يبدو كأنه "إرسال شيء إلى الخارج". يساعدك هنا سؤالان:
- مَن (أو ما) الذي يستلمه؟ إذا استلم النتيجةَ شخصٌ أو نظام آخر فهي إخراج.
- هل سيبقى موجودًا لاحقًا، بعد أن يتوقف البرنامج؟ إذا كان الهدف الاحتفاظ به لوقت لاحق فهو تخزين.
حفظ مستند هو تخزين: غرضه الاحتفاظ بالمستند لوقت لاحق. وعرض المستند على الشاشة هو إخراج: غرضه أن يصل إلى شخص يقرؤه. قد يؤدي إجراء واحد في التطبيق إلى الأمرين معًا، لكنهما مهمتان مختلفتان.
ملاحظة عن المصطلحات: بعض الكتب الدراسية تسمّي الأقراص أيضًا "أجهزة إدخال/إخراج"، لأن البيانات تنتقل منها وإليها. وهذا وصف صحيح للعتاد (hardware)، أي القطع المادية للحاسوب. أما في هذه الدورة فنفصل بين المهام: التخزين يعني الاحتفاظ بالبيانات لوقت لاحق، والإخراج يعني تسليم نتيجة إلى شخص أو نظام آخر.
الحاسوب ينفّذ ما تقوله التعليمات بالضبط
الحاسوب لا يفهم المقصود كما يفهمه الإنسان بالفطرة، ولا يعرف ما تنويه. إنه ينفّذ تعليماته بدقة وسرعة، ومن دون أن يناقشها. ولهذا هو مفيد جدًا، ولهذا أيضًا قد يُحبطك أحيانًا.
تخيّل جدول بيانات (مثل Excel) تريد فيه حساب السعر مضافًا إليه الضريبة. لكنك تكتب صيغة (formula) تضرب الخليتين (cells)، أي المربعين اللذين فيهما السعر والضريبة، بدلًا من أن تجمعهما. سيضرب البرنامج العددين بلا أي خطأ. ولن "ينتبه" إلى أنك على الأرجح قصدت الجمع. النتيجة خاطئة لأن التعليمات كانت خاطئة، لا لأن الحاسوب أخطأ.
يسمّي المبرمجون الخطأ في التعليمات خطأً برمجيًا (bug). وجزء كبير من هندسة البرمجيات هو كتابة تعليمات تقول بالضبط ما تقصده، ثم اكتشاف المواضع التي تقول فيها شيئًا غير ما قصدته. ولهذا تقضي هذه الدورة وقتًا في التفكير الدقيق والمتأنّي قبل أن تكتب أي سطر من الشيفرة البرمجية (code).
أمثلة
المثال 1: آلة حاسبة (بسيط)
تضغط 2 و+ و3 و=.
- الضغطات الأربع هي الإدخال.
- يحسب التطبيق
2 + 3. وهذه هي المعالجة. - يتذكر التطبيق النتيجة ليستخدمها زر "الإجابة السابقة". وهذا هو التخزين. ليست كل الآلات الحاسبة تفعل ذلك، لكن كثيرًا منها يفعله.
- يعرض التطبيق
5على الشاشة. وهذا هو الإخراج.
كمية البيانات هنا صغيرة جدًا، لكن الشكل نفسه يتكرر في أنظمة أكبر بكثير.
المثال 2: سحب نقود من صرّاف آلي (عملي)
تختلف التفاصيل من بنك إلى بنك ومن آلة إلى أخرى، لكن الأدوار هي نفسها.
- تُدخل بطاقتك وتكتب رقمك السري. (الإدخال)
- يتحقق الصرّاف من صحة الرقم السري. ويتم ذلك عادةً بإرسال رسالة إلى حواسيب البنك وانتظار الرد. (المعالجة، ويحدث جزء منها لدى البنك)
- تُدخل المبلغ، مثلًا 200. (الإدخال)
- يقارن نظام البنك رصيدك بالمبلغ 200. هذا قرار: إذا كان الرصيد كافيًا تستمر عملية السحب. وإن لم يكن كافيًا تظهر رسالة بدلًا من النقود. (المعالجة)
- إذا تمت الموافقة على السحب، يسجّله البنك ويحدّث رصيدك. (التخزين)
- يعطيك الصرّاف النقود، ويطبع إيصالًا، ويعرض رسالة. (الإخراج)
الآن غيّر مُدخلًا واحدًا: افترض أن رصيدك 150 فقط. أعطيت المُدخلات نفسها، لكن خطوة المعالجة اتخذت قرارًا مختلفًا، فصار المُخرَج رسالة "الرصيد غير كافٍ". هذا يبيّن أن المعالجة هي المكان الذي يختار فيه الحاسوب بين المُخرَجات.
لاحظ أيضًا أن مُخرَج الصرّاف (رسالة يطلب فيها شيئًا من البنك) هو مُدخَل حواسيب البنك. وبالمُخرَجات والمُدخلات ترتبط الحواسيب بعضها ببعض.
المثال 3: مشاركة صورة (واقعي)
- تلتقط صورة. (الإدخال: الضوء الذي يمر عبر العدسة وضغطتك على الزر)
- يجهّز التطبيق الصورة، مثلًا بتصغير حجمها لتُرفع (تُرسل) عبر الإنترنت بسرعة أكبر. (المعالجة)
- تُحفظ الصورة في معرض الصور لديك. (التخزين)
- يرسل التطبيق الصورة عبر الإنترنت. (الإخراج، إلى الشبكة)
- يستلمها هاتف صديقك. وصولها هو إدخال لجهازه هو، فيعالجها ثم يخزّنها ثم يعرضها على الشاشة (إخراج).
مُخرَج جهاز صار مُدخَل جهاز آخر. وكل تطبيق تستخدمه تقريبًا هو سلسلة من هذا النوع.
من منظور الـ Backend
الـ backend (وتعني حرفيًا "الطرف الخلفي") هو الجزء من التطبيق الذي يعمل على الخوادم، ويقوم بالعمل الذي يجري خلف ما تراه على شاشتك. والخادم (server) حاسوب يوجد عادةً في مركز بيانات (data centre)، أي مبنى مجهّز لتشغيل أعداد كبيرة من الخوادم، أو على منصة سحابية (cloud)، لا على مكتبك. والمنصة السحابية حواسيب تملكها شركة متخصصة وتؤجّرها لغيرها عبر الإنترنت. ولأن الخادم حاسوب، فالخطوات الأربع تنطبق عليه أيضًا. الذي يتغيّر هو مصدر المُدخلات ووجهة المُخرَجات: غالبًا حواسيب أخرى، لا شخص يجلس أمام لوحة مفاتيح.
انتبه إلى أن كلمة "طلب" تأتي في المثال التالي بمعنيين: "طلب الشراء" (order) الذي يقدّمه الزبون، و"الطلب" (request) بمعنى الرسالة التي يرسلها التطبيق إلى الـ backend.
إليك زبونًا يقدّم طلب شراء في تطبيق تسوّق:
| الخطوة | ما يحدث في الـ backend |
|---|---|
| الإدخال | يرسل التطبيق الموجود على هاتف الزبون طلبًا (request) يقول: "اشترِ هاتين السلعتين" |
| المعالجة | تتحقق شيفرة الـ backend من أن الطلب (request) صالح، وتحسب السعر الإجمالي، وتطبّق قواعد المتجر |
| التخزين | يُحفظ طلب الشراء في قاعدة بيانات (database) حتى لا يضيع |
| الإخراج | يرسل الـ backend استجابة (response) تقول "تم تأكيد طلب الشراء"، فيعرضها الهاتف للزبون |
لا تحتاج بعد إلى حفظ هذه المصطلحات التقنية (الطلب وقاعدة البيانات وغيرهما ستأتي في وحدات لاحقة). المهم أنك تستطيع منذ الآن أن تصف شكل العمل.
وهذا الشكل أداة لتتبّع الأخطاء أيضًا. لاحقًا، عندما يبلّغ أحدهم أن "طلب الشراء يظهر بإجمالي خاطئ"، تستطيع أن تطرح الأسئلة الأربعة بالترتيب: هل كان المُدخَل كما توقعنا؟ هل اتّبعت المعالجة القواعد الصحيحة؟ ماذا خزّنّا؟ وبماذا رددنا؟
أخطاء شائعة
الخطأ 1: "الحاسوب هو الشاشة" (أو الصندوق تحت المكتب)
ما المشكلة: لا تستطيع أن تحدّد أي جزء يؤدي أي مهمة. لماذا يحدث: الشاشة ولوحة المفاتيح هما الجزءان اللذان تراهما وتلمسهما. كيف تتجنبه: الحاسوب هو المنظومة كلها التي تؤدي الخطوات الأربع. الشاشة جهاز إخراج، ولوحة المفاتيح جهاز إدخال، أما الجزء الذي يقوم بالمعالجة فشيء آخر تمامًا (سيسمّيه الدرس التالي).
الخطأ 2: الظن أن الإخراج يعني فقط "شيئًا على الشاشة"
- خطأ: "هذا البرنامج ليس له إخراج، لأنه لا يظهر شيء على الشاشة."
- صحيح: "هذا البرنامج لا يعرض شيئًا على الشاشة، لكنه يكتب ملفًا ويرسل رسالة. وكلاهما إخراج."
الإخراج يشمل أيضًا الملفات والأصوات والرسائل المرسلة إلى حواسيب أخرى. وكثير من البرامج التي تعمل في الخلفية دون أن تراها يتكوّن إخراجها كله تقريبًا من هذا النوع.
الخطأ 3: الخلط بين التخزين والإخراج
- خطأ: "حفظ صورة إخراج، لأنها تخرج من التطبيق."
- صحيح: "الحفظ يبقي الصورة لوقت لاحق، فهو تخزين. وعرضها على الشاشة، أو إرسالها إلى صديق، هو الإخراج."
استخدم السؤالين: من يستلمه، وهل سيبقى موجودًا لاحقًا؟
الخطأ 4: توقّع أن يفهم الحاسوب ما قصدته
- خطأ: "طلبت منه إضافة الضريبة، فيجب أن يكون الإجمالي صحيحًا."
- صحيح: "أعطيته صيغة تضرب. فضرب. الخطأ في تعليمتي."
عندما تكون النتيجة خاطئة، فابدأ بمراجعة ما طلبته من الحاسوب فعلًا، لا ما كنت تقصد أن تطلبه.
التمارين
جرّب كل تمرين بنفسك قبل أن تفتح الحلول. اكتب إجاباتك بكلماتك الخاصة.
المستوى A: الأساس
A1. في جملة واحدة لكل منها، قل ما معنى الإدخال والمعالجة والتخزين والإخراج.
أظهر الحل A1
A1. الإدخال: بيانات تدخل إلى الحاسوب من شخص أو مستشعر أو حاسوب آخر. المعالجة: عمل الحاسوب على تلك البيانات باتباع التعليمات (حساب، مقارنة، اتخاذ قرار). التخزين: الاحتفاظ بالبيانات لتكون متاحة لاحقًا. الإخراج: نتائج تغادر الحاسوب لتصل إلى شخص أو إلى حاسوب آخر.
A2. صنّف كل جهاز على أنه جهاز إدخال أو جهاز إخراج أو الاثنان: لوحة المفاتيح، مكبّر الصوت، الشاشة اللمسية، الميكروفون، الطابعة، يد التحكم في الألعاب، سماعات الرأس مع ميكروفون، الشاشة (monitor).
أظهر الحل A2
A2.
| الجهاز | الإجابة |
|---|---|
| لوحة المفاتيح | إدخال |
| مكبّر الصوت | إخراج |
| الشاشة اللمسية | الاثنان: إدخال عندما تلمسها، وإخراج عندما تعرض صورة |
| الميكروفون | إدخال |
| الطابعة | إخراج |
| يد التحكم في الألعاب | إدخال (كثير منها يهتز أيضًا، والاهتزاز إخراج، لذلك تُقبل إجابة "الاثنان" إذا شرحتها) |
| سماعات الرأس مع ميكروفون | الاثنان: السماعات إخراج، والميكروفون إدخال |
| الشاشة (monitor) | إخراج (والشاشة التي تعمل باللمس هي الاثنان) |
A3. آلة بيع ذاتي للوجبات الخفيفة (مثل التي تبيع الشيبسي والبسكويت) تأخذ نقودك وتعطيك ما اخترته. اذكر مُدخلًا واحدًا، وإجراء معالجة واحدًا، وشيئًا واحدًا تخزّنه، ومُخرَجًا واحدًا.
أظهر الحل A3
A3. أي إجابة معقولة صحيحة. مثال: المُدخَل هو العملات المعدنية أو البطاقة، وزر الصنف الذي تختاره. المعالجة تتحقق من أن المبلغ المدفوع كافٍ وأن الصنف متوفر في المخزون، وتحسب الباقي. التخزين هو سجل الآلة لمخزونها وللنقود التي جمعتها (كثير من الآلات تحتفظ بهذه السجلات). المُخرَج هو الصنف الذي اخترته، والباقي، ورسالة على الشاشة.
المستوى B: تطبيق المفاهيم
B1. يتيح لك تطبيق توصيل طعام أن تطلب وجبة. صِف الطلب من خلال الخطوات الأربع. اذكر مُدخلين على الأقل، وإجراءي معالجة، وما يُخزَّن، ومُخرَجين.
أظهر الحل B1
B1. إجابة مثال.
- المُدخلات: المطعم والأطباق التي تضغط عليها، وعنوان التوصيل، وخيار الدفع الذي تختاره.
- المعالجة: حساب الإجمالي شاملًا رسوم التوصيل، والتحقق من أن المطعم مفتوح، وإيجاد مندوب توصيل.
- التخزين: سجل الطلب وسجل طلباتك السابقة.
- المُخرَجات: تأكيد على شاشتك، ورسالة إلى نظام المطعم فيها الطلب. هذه الرسالة هي مُدخَل حواسيب المطعم.
B2. منظّم حرارة رقمي (thermostat) يحافظ على الغرفة عند درجة الحرارة التي تختارها. حدّد مُدخلاته ومعالجته وما يخزّنه ومُخرَجاته.
أظهر الحل B2
B2. المُدخلات: القراءة من مستشعر الحرارة، وضغطاتك على الأزرار أو القرص لتحديد درجة الحرارة المطلوبة. المعالجة: مقارنة القراءة بالدرجة المطلوبة وتقرير هل يجب تشغيل التدفئة أم إيقافها. التخزين: درجة الحرارة المطلوبة (وجدول زمني إن وُجد). المُخرَجات: الإشارة التي تشغّل التدفئة أو توقفها، وعرض درجتي الحرارة الحالية والمطلوبة.
B3. كل عبارة فيما يلي تحتوي على خطأ. أعد كتابة كل عبارة بشكل صحيح.
- "الشاشة هي الحاسوب."
- "حفظ ملف إخراج لأن الملف يغادر البرنامج."
- "إذا لم يعرض البرنامج شيئًا على الشاشة فليس له إخراج."
أظهر الحل B3
B3.
- الشاشة جهاز إخراج. أما الحاسوب فهو المنظومة كلها التي تستقبل المُدخلات وتعالجها وتخزّنها وتنتج المُخرَجات.
- حفظ الملف تخزين: غرضه الاحتفاظ بالملف لوقت لاحق. أما الإخراج فيعني تسليم نتيجة إلى شخص أو نظام آخر.
- يمكن للبرنامج أن ينتج إخراجًا من دون أن يعرض شيئًا على الشاشة: يمكنه أن يكتب ملفًا، أو يشغّل صوتًا، أو يرسل رسالة إلى حاسوب آخر.
المستوى C: التحدي
C1. ترسل رسالة نصية من هاتفك إلى صديق. صِف الخطوات الأربع على هاتفك وعلى هاتف صديقك. بيّن أين يصبح مُخرَج هاتفك مُدخَلًا لهاتف صديقك.
أظهر الحل C1
C1. هاتفك: المُدخَل هو النص الذي تكتبه وضغطتك على إرسال (Send). المعالجة هي تجهيز التطبيق للرسالة من أجل إرسالها. التخزين هو حفظ الرسالة في سجل محادثتك. المُخرَج هو الرسالة المرسلة عبر الشبكة. هاتف صديقك: المُدخَل هو الرسالة الواصلة من الشبكة، والمعالجة هي أن يفكّ التطبيق الرسالة ويجهّزها، ثم يقرر تنبيه صديقك بوصولها، والتخزين هو حفظ الرسالة في سجل محادثته، والمُخرَج هو الإشعار والنص على شاشته. الحلقة الرابطة: ما أرسله هاتفك إلى الخارج هو ما استلمه هاتف صديقك مُدخَلًا. وعادةً يوجد خادم بينهما يؤدي هو أيضًا الخطوات الأربع مع الرسالة.
C2. يُفترض أن تعرض حاسبة البقشيش 15% من الفاتورة. كتب مبرمج التعليمة tip = bill * 15 ونسي القسمة على 100. (في هذه التعليمة: tip هي البقشيش، وbill هي الفاتورة، والعلامة * تعني الضرب.) ماذا يعرض التطبيق لفاتورة قيمتها 40؟ وماذا يجب أن يعرض؟ لماذا لم "ينتبه" الحاسوب؟ وأي خطوة من الخطوات الأربع تحتوي على الخطأ؟
أظهر الحل C2
C2. يعرض التطبيق 600، لأن 40 * 15 = 600. ويجب أن يعرض 6، لأن 40 * 15 / 100 = 6. لم ينتبه الحاسوب لأنه لا يستطيع أن يعرف ما قصده المبرمج: لقد نفّذ التعليمة بالضبط. الخطأ في خطوة المعالجة، في التعليمة نفسها. أما المُدخَل (40) والمُخرَج (عرض الرقم) فقد عملا كما صُمّما.
تحدٍّ صغير
اختر جهازًا أو تطبيقًا واحدًا تستخدمه كل يوم. لا تختر الآلة الحاسبة، ولا الصرّاف الآلي، ولا الكاميرا، ولا تطبيق التوصيل، ولا تطبيق المراسلة، ولا منظّم الحرارة، ولا آلة البيع، فقد استُخدمت أعلاه. الساعة الرياضية الذكية، أو جرس الباب الذكي، أو جهاز قراءة الكتب الإلكترونية، أو تطبيق للاستماع إلى الموسيقى عبر الإنترنت، أو إشارة مرور فيها مستشعر، كلها تصلح.
أنشئ جدولًا من أربعة صفوف: الإدخال، المعالجة، التخزين، الإخراج. اكتب مُدخلين على الأقل ومُخرَجين على الأقل. ثم أضف شيئين:
- موضعًا واحدًا يصبح فيه مُخرَج خطوة أو جهاز مُدخَلًا لخطوة أو جهاز آخر.
- تعليمة واحدة ستعطي نتيجة خاطئة لو كُتبت بشكل غير دقيق، وما ستكون النتيجة الخاطئة.
تحقق من عملك: كل صف مملوء، واستخدمت السؤالين للتفريق بين التخزين والإخراج، ومثالك عن التعليمة غير الدقيقة يشرح النتيجة الخاطئة بما طُلب من الحاسوب فعلًا، لا بما كان مقصودًا.
الملخص والدرس التالي
أهم النقاط
- الحاسوب هو أي آلة تتبع تعليمات لتعمل على البيانات. كل حاسوب يؤدي أربع مهام: الإدخال والمعالجة والتخزين والإخراج.
- يمكن للمعالجة أن تقرأ من التخزين وأن تكتب فيه في أي وقت، والخطوات تتكرر باستمرار.
- الإخراج يسلّم نتيجة إلى شخص أو نظام آخر. والتخزين يحتفظ بالبيانات لوقت لاحق. اسأل: من يستلمه، وهل سيبقى موجودًا لاحقًا.
- ينفّذ الحاسوب ما تقوله تعليماته بالضبط، لا ما قصدته أنت. والخطأ في التعليمات يُسمّى خطأً برمجيًا (bug).
- الـ backend هو الخطوات الأربع نفسها تعمل على خادم، وغالبًا يكون حاسوب آخر هو مصدر المُدخَل ووجهة المُخرَج.
الدرس التالي
أصبحت تعرف ماذا يفعل الحاسوب. الدرس التالي، "CPU وRAM والتخزين: تشبيه المطبخ"، ينظر إلى أين يحدث ذلك: الجزء الذي يؤدي المعالجة (وحدة المعالجة المركزية)، ونوعا التخزين اللذان يحتاجهما الحاسوب، ولماذا يحتاج إلى الاثنين.
اختبر نفسك
- سمِّ الخطوات الأربع.
- هل الشاشة اللمسية جهاز إدخال أم جهاز إخراج؟
- برنامج يحفظ تقريرًا لتتمكن من فتحه غدًا. أي خطوة هذه؟
- آلة حاسبة تعرض
15عند حساب5 + 3لأن تعليمتها تضرب. أي خطوة تحتوي على الخطأ، ولماذا لم ينتبه الحاسوب؟ - في متجر إلكتروني، ما مُدخَل الـ backend وما مُخرَجه؟
أظهر الإجابات
- الإدخال والمعالجة والتخزين والإخراج.
- الاثنان: إدخال عندما تلمسها، وإخراج عندما تعرض صورة.
- التخزين: لأنه يحتفظ بالتقرير لوقت لاحق.
- خطوة المعالجة هي التي تحتوي على الخطأ. لم ينتبه الحاسوب لأنه ينفّذ تعليماته بالضبط ولا يستطيع أن يعرف ما قصده المبرمج.
- المُدخَل هو الطلب (request) الذي يرسله تطبيق الزبون (مثلًا، طلب شراء). والمُخرَج هو الاستجابة المرسلة في المقابل (مثلًا، تأكيد).
المراجع
- Kansas State University, CC 110 textbook, Von Neumann Architecture. يصف النموذج المعياري للحاسوب بأجهزة إدخال ووحدة معالجة وذاكرة تحفظ البيانات وتعليمات البرنامج معًا وأجهزة إخراج. أما نسخة الخطوات الأربع المستخدمة في هذا الدرس فهي تبسيط تعليمي لذلك النموذج.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.