الفكرة بسيطة جدًا:
لدينا مستطيل، ونريد حساب مساحته.
ولكي نحسب المساحة، نحتاج إلى شيئين:
الطول L
و
العرض W
وبعد الحصول عليهما، نحسب المساحة:
Area = L × W
ثم نعرض النتيجة.
━━━━━━━━━━━━━━━━━━━
أولًا: ماذا يحدث في هذا المثال؟
تخيل أن البرنامج يسألك:
ما طول المستطيل؟
ثم:
ما عرض المستطيل؟
بعد أن يحصل على القيمتين، يقوم بالحساب:
المساحة = الطول × العرض
ثم يعرض لك المساحة.
إذن الفكرة كلها في هذا المثال هي:
أدخل الطول والعرض → احسب المساحة → اعرض المساحة.
وهذا هو التفكير الذي نريد أن تتعلمه من الخوارزمية.
━━━━━━━━━━━━━━━━━━━
1- Enter number L and W
في المثال نجد:
Enter number L and W
أي:
أدخل العددين L و W.
هنا البرنامج يحتاج إلى بيانات حتى يستطيع تنفيذ عملية حساب المساحة.
لدينا:
L = Length = الطول
و
W = Width = العرض
إذن L يمثل الطول، وW يمثل العرض.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا نحتاج إلى إدخال L و W أصلًا؟
لأن البرنامج لا يستطيع حساب مساحة المستطيل من لا شيء.
يحتاج إلى معرفة:
كم طول المستطيل؟
كم عرضه؟
بعد معرفة هاتين القيمتين، يستطيع حساب المساحة.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
هل L و W قوانين؟
لا.
هما مجرد أسماء للبيانات أو المتغيرات المستخدمة في المثال.
L يمثل الطول.
وW يمثل العرض.
أما القانون فهو:
Area = L × W
━━━━━━━━━━━━━━━━━━━
2- Area = L * W
هذه هي أهم خطوة في المثال.
لدينا:
Area = L * W
ومعناها:
المساحة = الطول × العرض
هنا يأخذ البرنامج قيمة الطول وقيمة العرض، ثم يقوم بضربهما، ويحفظ النتيجة في Area.
━━━━━━━━━━━━━━━━━━━
ماذا يعني Area؟
Area تعني:
المساحة
وهي اسم للمتغير الذي سيحتفظ بنتيجة الحساب.
إذن لدينا:
L → الطول
W → العرض
Area → المساحة
وهذا يجعل قراءة الخوارزمية أسهل.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في عقلك:
لماذا كتبنا Area = L * W؟
لأننا نريد أن نقول للبرنامج:
احسب حاصل ضرب الطول في العرض، وضع النتيجة داخل المتغير Area.
إذن علامة = هنا تعني أن نتيجة العملية الموجودة على اليمين سيتم إسنادها إلى Area.
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
هل Area هو القانون؟
لا.
القانون هو:
المساحة = الطول × العرض
أما Area فهو فقط اسم للمتغير الذي يخزن النتيجة.
━━━━━━━━━━━━━━━━━━━
هل يجب عليَّ حفظ هذا القانون؟
هنا نقطة مهمة جدًا.
لا تحفظ القوانين بطريقة عمياء فقط.
الأفضل أن تفهم أولًا ماذا يعني القانون.
في هذا المثال، عندما تعرف أن مساحة المستطيل تعتمد على:
الطول × العرض
فأنت تفهم سبب كتابة:
Area = L × W
وبعد كثرة التدريب سيصبح القانون مألوفًا لديك تلقائيًا.
الحفظ وحده قد يجعلك تنسى القانون لاحقًا، لكن الفهم + التطبيق يجعلان تذكره أسهل بكثير.
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
هل يجب أن أحفظ كل المسائل التي أتعلمها؟
لا.
لا تحتاج إلى حفظ المسائل واحدة واحدة.
المهم أن تفهم طريقة التفكير.
فهذا المثال يعلمك فكرة:
مدخلات → معالجة → نتيجة
في هذا المثال:
L و W
هي البيانات التي نحتاج إليها.
ثم:
L × W
هي العملية التي ننفذها.
ثم:
Area
هي النتيجة التي نحصل عليها.
إذا فهمت هذه الفكرة، فلست بحاجة إلى حفظ المثال حرفيًا.
━━━━━━━━━━━━━━━━━━━
هل يجب أن أحفظ شكل الخوارزمية؟
ليس الهدف أن تحفظ الصورة كما هي.
الأهم أن تعرف:
ماذا يحدث أولًا؟
ما البيانات التي نحتاج إليها؟
ما العملية التي سننفذها؟
ما النتيجة التي نريد إخراجها؟
عندما تفهم هذه الأشياء، يصبح رسم الخوارزمية أسهل.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
ماذا لو نسيت القانون؟
لا تتوتر.
إذا كنت تتعلم، ارجع إلى القاعدة أو الدرس الذي يشرح القانون.
مع الوقت والتطبيق المتكرر ستتذكر القوانين المهمة.
المبرمج لا يعتمد على حفظ كل شيء في ذاكرته، بل يعتمد على الفهم ومعرفة كيف يبحث ويتأكد عندما يحتاج إلى معلومة.
━━━━━━━━━━━━━━━━━━━
3- Print Area
في المثال نجد:
Print Area
ومعناها:
اطبع المساحة.
بعد أن تم حساب:
Area = L × W
أصبحت النتيجة موجودة داخل Area.
لذلك نطلب من البرنامج عرض قيمة Area.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا لا نحسب المساحة مرة أخرى عند Print؟
لأننا حسبناها بالفعل في الخطوة السابقة.
لدينا:
Area = L × W
وهذا جعل Area يحتوي على النتيجة.
لذلك نحتاج فقط إلى عرضها:
Print Area
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
ما الفرق بين الحساب والطباعة؟
الحساب يعني:
إيجاد النتيجة.
وفي المثال:
Area = L × W
أما الطباعة فتعني:
إظهار النتيجة للمستخدم.
وفي المثال:
Print Area
إذن:
Area = L × W
تحسب النتيجة.
و:
لدينا مستطيل، ونريد حساب مساحته.
ولكي نحسب المساحة، نحتاج إلى شيئين:
الطول L
و
العرض W
وبعد الحصول عليهما، نحسب المساحة:
Area = L × W
ثم نعرض النتيجة.
━━━━━━━━━━━━━━━━━━━
أولًا: ماذا يحدث في هذا المثال؟
تخيل أن البرنامج يسألك:
ما طول المستطيل؟
ثم:
ما عرض المستطيل؟
بعد أن يحصل على القيمتين، يقوم بالحساب:
المساحة = الطول × العرض
ثم يعرض لك المساحة.
إذن الفكرة كلها في هذا المثال هي:
أدخل الطول والعرض → احسب المساحة → اعرض المساحة.
وهذا هو التفكير الذي نريد أن تتعلمه من الخوارزمية.
━━━━━━━━━━━━━━━━━━━
1- Enter number L and W
في المثال نجد:
Enter number L and W
أي:
أدخل العددين L و W.
هنا البرنامج يحتاج إلى بيانات حتى يستطيع تنفيذ عملية حساب المساحة.
لدينا:
L = Length = الطول
و
W = Width = العرض
إذن L يمثل الطول، وW يمثل العرض.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا نحتاج إلى إدخال L و W أصلًا؟
لأن البرنامج لا يستطيع حساب مساحة المستطيل من لا شيء.
يحتاج إلى معرفة:
كم طول المستطيل؟
كم عرضه؟
بعد معرفة هاتين القيمتين، يستطيع حساب المساحة.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
هل L و W قوانين؟
لا.
هما مجرد أسماء للبيانات أو المتغيرات المستخدمة في المثال.
L يمثل الطول.
وW يمثل العرض.
أما القانون فهو:
Area = L × W
━━━━━━━━━━━━━━━━━━━
2- Area = L * W
هذه هي أهم خطوة في المثال.
لدينا:
Area = L * W
ومعناها:
المساحة = الطول × العرض
هنا يأخذ البرنامج قيمة الطول وقيمة العرض، ثم يقوم بضربهما، ويحفظ النتيجة في Area.
━━━━━━━━━━━━━━━━━━━
ماذا يعني Area؟
Area تعني:
المساحة
وهي اسم للمتغير الذي سيحتفظ بنتيجة الحساب.
إذن لدينا:
L → الطول
W → العرض
Area → المساحة
وهذا يجعل قراءة الخوارزمية أسهل.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في عقلك:
لماذا كتبنا Area = L * W؟
لأننا نريد أن نقول للبرنامج:
احسب حاصل ضرب الطول في العرض، وضع النتيجة داخل المتغير Area.
إذن علامة = هنا تعني أن نتيجة العملية الموجودة على اليمين سيتم إسنادها إلى Area.
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
هل Area هو القانون؟
لا.
القانون هو:
المساحة = الطول × العرض
أما Area فهو فقط اسم للمتغير الذي يخزن النتيجة.
━━━━━━━━━━━━━━━━━━━
هل يجب عليَّ حفظ هذا القانون؟
هنا نقطة مهمة جدًا.
لا تحفظ القوانين بطريقة عمياء فقط.
الأفضل أن تفهم أولًا ماذا يعني القانون.
في هذا المثال، عندما تعرف أن مساحة المستطيل تعتمد على:
الطول × العرض
فأنت تفهم سبب كتابة:
Area = L × W
وبعد كثرة التدريب سيصبح القانون مألوفًا لديك تلقائيًا.
الحفظ وحده قد يجعلك تنسى القانون لاحقًا، لكن الفهم + التطبيق يجعلان تذكره أسهل بكثير.
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
هل يجب أن أحفظ كل المسائل التي أتعلمها؟
لا.
لا تحتاج إلى حفظ المسائل واحدة واحدة.
المهم أن تفهم طريقة التفكير.
فهذا المثال يعلمك فكرة:
مدخلات → معالجة → نتيجة
في هذا المثال:
L و W
هي البيانات التي نحتاج إليها.
ثم:
L × W
هي العملية التي ننفذها.
ثم:
Area
هي النتيجة التي نحصل عليها.
إذا فهمت هذه الفكرة، فلست بحاجة إلى حفظ المثال حرفيًا.
━━━━━━━━━━━━━━━━━━━
هل يجب أن أحفظ شكل الخوارزمية؟
ليس الهدف أن تحفظ الصورة كما هي.
الأهم أن تعرف:
ماذا يحدث أولًا؟
ما البيانات التي نحتاج إليها؟
ما العملية التي سننفذها؟
ما النتيجة التي نريد إخراجها؟
عندما تفهم هذه الأشياء، يصبح رسم الخوارزمية أسهل.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
ماذا لو نسيت القانون؟
لا تتوتر.
إذا كنت تتعلم، ارجع إلى القاعدة أو الدرس الذي يشرح القانون.
مع الوقت والتطبيق المتكرر ستتذكر القوانين المهمة.
المبرمج لا يعتمد على حفظ كل شيء في ذاكرته، بل يعتمد على الفهم ومعرفة كيف يبحث ويتأكد عندما يحتاج إلى معلومة.
━━━━━━━━━━━━━━━━━━━
3- Print Area
في المثال نجد:
Print Area
ومعناها:
اطبع المساحة.
بعد أن تم حساب:
Area = L × W
أصبحت النتيجة موجودة داخل Area.
لذلك نطلب من البرنامج عرض قيمة Area.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا لا نحسب المساحة مرة أخرى عند Print؟
لأننا حسبناها بالفعل في الخطوة السابقة.
لدينا:
Area = L × W
وهذا جعل Area يحتوي على النتيجة.
لذلك نحتاج فقط إلى عرضها:
Print Area
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
ما الفرق بين الحساب والطباعة؟
الحساب يعني:
إيجاد النتيجة.
وفي المثال:
Area = L × W
أما الطباعة فتعني:
إظهار النتيجة للمستخدم.
وفي المثال:
Print Area
إذن:
Area = L × W
تحسب النتيجة.
و:
Print Area
تعرض النتيجة.
━━━━━━━━━━━━━━━━━━━
هل Print تعني أن البرنامج يحسب؟
لا.
وهذه نقطة مهمة.
Print لا تقوم بعملية الضرب.
عملية الضرب حدثت في:
Area = L × W
أما Print Area فوظيفتها فقط عرض القيمة الموجودة في Area.
━━━━━━━━━━━━━━━━━━━
كيف يفكر المبرمج في هذا المثال؟
بدل أن ينظر إلى المثال على أنه مجموعة كلمات يجب حفظها، يفكر هكذا:
ما المشكلة؟
أريد حساب مساحة مستطيل.
━━━━━━━━━━━━━━━━━━━
ماذا أحتاج؟
الطول والعرض.
━━━━━━━━━━━━━━━━━━━
ماذا سأفعل بهما؟
أضرب الطول في العرض.
━━━━━━━━━━━━━━━━━━━
أين أضع النتيجة؟
في Area.
━━━━━━━━━━━━━━━━━━━
ماذا أفعل بالنتيجة؟
أطبع Area.
وهكذا تم بناء الحل بالكامل.
━━━━━━━━━━━━━━━━━━━
هل أحتاج إلى حفظ L و W و Area؟
لا.
هذه أسماء اختيرت في المثال لتوضيح الفكرة.
يمكن أن تختلف أسماء المتغيرات في البرامج، لكن المهم أن تفهم ما الذي تمثله.
في هذا المثال:
L = الطول
W = العرض
Area = المساحة
إذن لا تحفظ الحروف فقط، بل افهم معناها.
━━━━━━━━━━━━━━━━━━━
هل يجب أن أحفظ طريقة كتابة الخوارزمية؟
الأفضل أن تتعلم طريقة بنائها بدل حفظها.
اسأل نفسك دائمًا:
ما البيانات التي تدخل؟
ثم:
ما العملية التي تحدث عليها؟
ثم:
ما النتيجة التي أريد إخراجها؟
في هذا المثال:
البيانات:
L و W
العملية:
L × W
النتيجة:
Area
وهذه طريقة تفكير مهمة جدًا في البرمجة.
━━━━━━━━━━━━━━━━━━━
هل هذا المثال مهم فعلًا؟
نعم، رغم أنه بسيط جدًا.
ليس لأنه يعلمك حساب مساحة المستطيل فقط، وإنما لأنه يعلمك كيف تتحول المشكلة إلى خطوات منطقية.
أنت أمام مشكلة:
أريد معرفة مساحة مستطيل.
ثم تحولها إلى:
أحتاج الطول والعرض.
ثم:
أضربهما.
ثم:
أعرض النتيجة.
هذه هي فكرة بناء الخوارزميات.
━━━━━━━━━━━━━━━━━━━
ماذا أريد منك أن تتذكر من هذا المثال؟
لا أريدك أن تحفظ الصورة.
ولا أريدك أن تحفظ الكلمات دون فهم.
أريدك أن تتذكر هذه الفكرة:
المشكلة → البيانات المطلوبة → العملية → النتيجة
وفي مثالنا:
حساب مساحة المستطيل
↓
L و W
↓
L × W
↓
Area
↓
Print Area
━━━━━━━━━━━━━━━━━━━
الخلاصة
المثال يعلمنا كيف نفكر في مشكلة بسيطة قبل تحويلها إلى برنامج.
لدينا الطول L والعرض W كبيانات نحتاج إليها.
بعد ذلك نحسب:
Area = L × W
فتصبح Area هي النتيجة.
ثم:
Print Area
لعرض النتيجة.
والأهم من حفظ القانون أو حفظ المثال هو أن تفهم لماذا احتجنا إلى كل خطوة وماذا تفعل.
إذا فهمت هذه الطريقة، فستبدأ تدريجيًا في النظر إلى أي مسألة برمجية وتسأل:
ما الذي أحتاجه؟
ماذا سأفعل به؟
وما النتيجة التي أريد الحصول عليها؟
وهنا يبدأ التفكير البرمجي الحقيقي.
تعرض النتيجة.
━━━━━━━━━━━━━━━━━━━
هل Print تعني أن البرنامج يحسب؟
لا.
وهذه نقطة مهمة.
Print لا تقوم بعملية الضرب.
عملية الضرب حدثت في:
Area = L × W
أما Print Area فوظيفتها فقط عرض القيمة الموجودة في Area.
━━━━━━━━━━━━━━━━━━━
كيف يفكر المبرمج في هذا المثال؟
بدل أن ينظر إلى المثال على أنه مجموعة كلمات يجب حفظها، يفكر هكذا:
ما المشكلة؟
أريد حساب مساحة مستطيل.
━━━━━━━━━━━━━━━━━━━
ماذا أحتاج؟
الطول والعرض.
━━━━━━━━━━━━━━━━━━━
ماذا سأفعل بهما؟
أضرب الطول في العرض.
━━━━━━━━━━━━━━━━━━━
أين أضع النتيجة؟
في Area.
━━━━━━━━━━━━━━━━━━━
ماذا أفعل بالنتيجة؟
أطبع Area.
وهكذا تم بناء الحل بالكامل.
━━━━━━━━━━━━━━━━━━━
هل أحتاج إلى حفظ L و W و Area؟
لا.
هذه أسماء اختيرت في المثال لتوضيح الفكرة.
يمكن أن تختلف أسماء المتغيرات في البرامج، لكن المهم أن تفهم ما الذي تمثله.
في هذا المثال:
L = الطول
W = العرض
Area = المساحة
إذن لا تحفظ الحروف فقط، بل افهم معناها.
━━━━━━━━━━━━━━━━━━━
هل يجب أن أحفظ طريقة كتابة الخوارزمية؟
الأفضل أن تتعلم طريقة بنائها بدل حفظها.
اسأل نفسك دائمًا:
ما البيانات التي تدخل؟
ثم:
ما العملية التي تحدث عليها؟
ثم:
ما النتيجة التي أريد إخراجها؟
في هذا المثال:
البيانات:
L و W
العملية:
L × W
النتيجة:
Area
وهذه طريقة تفكير مهمة جدًا في البرمجة.
━━━━━━━━━━━━━━━━━━━
هل هذا المثال مهم فعلًا؟
نعم، رغم أنه بسيط جدًا.
ليس لأنه يعلمك حساب مساحة المستطيل فقط، وإنما لأنه يعلمك كيف تتحول المشكلة إلى خطوات منطقية.
أنت أمام مشكلة:
أريد معرفة مساحة مستطيل.
ثم تحولها إلى:
أحتاج الطول والعرض.
ثم:
أضربهما.
ثم:
أعرض النتيجة.
هذه هي فكرة بناء الخوارزميات.
━━━━━━━━━━━━━━━━━━━
ماذا أريد منك أن تتذكر من هذا المثال؟
لا أريدك أن تحفظ الصورة.
ولا أريدك أن تحفظ الكلمات دون فهم.
أريدك أن تتذكر هذه الفكرة:
المشكلة → البيانات المطلوبة → العملية → النتيجة
وفي مثالنا:
حساب مساحة المستطيل
↓
L و W
↓
L × W
↓
Area
↓
Print Area
━━━━━━━━━━━━━━━━━━━
الخلاصة
المثال يعلمنا كيف نفكر في مشكلة بسيطة قبل تحويلها إلى برنامج.
لدينا الطول L والعرض W كبيانات نحتاج إليها.
بعد ذلك نحسب:
Area = L × W
فتصبح Area هي النتيجة.
ثم:
Print Area
لعرض النتيجة.
والأهم من حفظ القانون أو حفظ المثال هو أن تفهم لماذا احتجنا إلى كل خطوة وماذا تفعل.
إذا فهمت هذه الطريقة، فستبدأ تدريجيًا في النظر إلى أي مسألة برمجية وتسأل:
ما الذي أحتاجه؟
ماذا سأفعل به؟
وما النتيجة التي أريد الحصول عليها؟
وهنا يبدأ التفكير البرمجي الحقيقي.
لا تكتفِ بالقراءة فقط.
قد تقرأ المثال، وتفهم الشرح، وتقول لنفسك:
«فهمت... الموضوع سهل.»
لكن انتبه...
إحساسك بأنك فهمت لا يعني أنك أتقنت.
أحيانًا عقلك يجعلك تشعر أنك فهمت الفكرة لمجرد أنك رأيتها وقرأت طريقة حلها.
لكن عندما تحاول حل مشكلة جديدة بنفسك...
قد تكتشف أنك لا تعرف من أين تبدأ!
وهنا يظهر الفرق بين "الفهم" و"الإتقان".
البرمجة لا تُتعلم بالمشاهدة والقراءة فقط.
تتعلم البرمجة عندما تحاول، تخطئ، تفكر، وتعيد المحاولة.
لذلك بعد أن تنتهي من أي مثال...
لا تغلق الصفحة وتنتقل إلى المثال التالي.
خذ نفس الفكرة، وابحث عن مسألة أخرى مختلفة قليلًا، وحاول حلها بنفسك دون النظر إلى الحل.
قد تتوقف...
قد تخطئ...
قد تشعر أن الأمر صعب...
وهذا طبيعي.
بل هذا هو الجزء الحقيقي من التعلم.
كل مشكلة تحاول حلها تجعل عقلك يتدرب أكثر على التفكير المنطقي، ومع الوقت ستلاحظ شيئًا جميلًا:
المشكلات التي كانت تحتاج منك وقتًا طويلًا...
ستبدأ بحلها بسهولة أكبر.
والمفاهيم التي كنت تنساها...
ستبدأ في تذكرها لأنك استخدمتها بيدك، وليس لأنك قرأتها فقط.
لا تحتاج إلى ساعات إضافية.
حتى لو أخذت منك المسألة 20 دقائق فقط...
استثمر هذه الدقائق في محاولة حقيقية.
لأن 20 دقائق من التفكير والمحاولة قد تكون أفضل من ساعة كاملة من المشاهدة.
لا تجعل الكود يمر أمام عينيك فقط... اجعله يمر من خلال عقلك ويديك.
وتذكر دائمًا:
اقرأ → افهم → جرّب → أخطئ → صحّح → كرر.
هكذا تتحول المعرفة من شيء قرأته...
إلى مهارة تستطيع استخدامها.
هذه ليست مجرد نصيحة عابرة تقرأها ثم تنساها.
هذه نصيحة أقولها لك من قلبي:
إذا كنت تريد أن تصبح مبرمجًا فعلًا... لا تكتفِ بأن تفهم الحل، حاول أن تصل إليه بنفسك.
قد تقرأ المثال، وتفهم الشرح، وتقول لنفسك:
«فهمت... الموضوع سهل.»
لكن انتبه...
إحساسك بأنك فهمت لا يعني أنك أتقنت.
أحيانًا عقلك يجعلك تشعر أنك فهمت الفكرة لمجرد أنك رأيتها وقرأت طريقة حلها.
لكن عندما تحاول حل مشكلة جديدة بنفسك...
قد تكتشف أنك لا تعرف من أين تبدأ!
وهنا يظهر الفرق بين "الفهم" و"الإتقان".
البرمجة لا تُتعلم بالمشاهدة والقراءة فقط.
تتعلم البرمجة عندما تحاول، تخطئ، تفكر، وتعيد المحاولة.
لذلك بعد أن تنتهي من أي مثال...
لا تغلق الصفحة وتنتقل إلى المثال التالي.
خذ نفس الفكرة، وابحث عن مسألة أخرى مختلفة قليلًا، وحاول حلها بنفسك دون النظر إلى الحل.
قد تتوقف...
قد تخطئ...
قد تشعر أن الأمر صعب...
وهذا طبيعي.
بل هذا هو الجزء الحقيقي من التعلم.
كل مشكلة تحاول حلها تجعل عقلك يتدرب أكثر على التفكير المنطقي، ومع الوقت ستلاحظ شيئًا جميلًا:
المشكلات التي كانت تحتاج منك وقتًا طويلًا...
ستبدأ بحلها بسهولة أكبر.
والمفاهيم التي كنت تنساها...
ستبدأ في تذكرها لأنك استخدمتها بيدك، وليس لأنك قرأتها فقط.
لا تحتاج إلى ساعات إضافية.
حتى لو أخذت منك المسألة 20 دقائق فقط...
استثمر هذه الدقائق في محاولة حقيقية.
لأن 20 دقائق من التفكير والمحاولة قد تكون أفضل من ساعة كاملة من المشاهدة.
لا تجعل الكود يمر أمام عينيك فقط... اجعله يمر من خلال عقلك ويديك.
وتذكر دائمًا:
اقرأ → افهم → جرّب → أخطئ → صحّح → كرر.
هكذا تتحول المعرفة من شيء قرأته...
إلى مهارة تستطيع استخدامها.
هذه ليست مجرد نصيحة عابرة تقرأها ثم تنساها.
هذه نصيحة أقولها لك من قلبي:
إذا كنت تريد أن تصبح مبرمجًا فعلًا... لا تكتفِ بأن تفهم الحل، حاول أن تصل إليه بنفسك.
❤1💯1
هل تحب اعطي نص السؤال فقط و من بعدها الشخص يحاول بنفسه . و بعد الانتهاء من المحاولات ارسل الحل
Anonymous Poll
100%
اريد المحاولة اولاً بنفسي
0%
اريد الحل مباشره (السؤال مع الحل)
اكتب خوارزميه باستخدام المخطط الانسيابي لحساب ٣ اعداد يدخلها المستخدم و طباعه ناتج الجمع . الذي كتب الحل يتفاعل
☃1💯1
K7H Code
اكتب خوارزميه باستخدام المخطط الانسيابي لحساب ٣ اعداد يدخلها المستخدم و طباعه ناتج الجمع . الذي كتب الحل يتفاعل
ركزوا بالسؤال . اكتب خوارزميه و ليس كود
أولًا: ماذا يريد البرنامج أن يفعل؟
قبل أن نفكر في أي كود أو رموز، نفهم المشكلة نفسها.
المطلوب هو:
إدخال ثلاثة أعداد → جمع الأعداد الثلاثة → عرض المجموع.
إذن لدينا ثلاثة أشياء أساسية:
المدخلات:
A ، B ، C
العملية:
A + B + C
النتيجة:
Sum
وهذه هي فكرة المثال بالكامل.
━━━━━━━━━━━━━━━━━━━
1- Enter number A, B, C
في المثال مكتوب:
Enter number A, B, C
أي:
أدخل الأعداد A وB وC.
هنا البرنامج يحتاج إلى الحصول على ثلاثة أعداد حتى يستطيع تنفيذ عملية الجمع.
لدينا:
A = العدد الأول
B = العدد الثاني
C = العدد الثالث
إذن هذه هي المدخلات (Inputs).
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا لدينا A وB وC؟
لأن المسألة تريد جمع ثلاثة أعداد.
لذلك نحتاج إلى مكان يمثل كل عدد:
A → العدد الأول
B → العدد الثاني
C → العدد الثالث
ولا نحتاج هنا إلى شيء آخر؛ لأن المطلوب في المثال هو جمع هذه الأعداد الثلاثة فقط.
━━━━━━━━━━━━━━━━━━━
سؤال: هل A وB وC أرقام فعلية؟
لا.
هي أسماء تمثل القيم التي سيتم إدخالها.
أي أن A يمثل العدد الأول الذي سيدخله المستخدم، وB يمثل العدد الثاني، وC يمثل العدد الثالث.
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا لم نكتب أرقامًا محددة؟
لأن الخوارزمية ليست مصممة لثلاثة أرقام محددة فقط.
هي مصممة لتأخذ أي ثلاث قيم يتم إدخالها، ثم تجمعها.
لذلك استخدمنا أسماء مثل:
A ، B ، C
بدلًا من أرقام ثابتة.
━━━━━━━━━━━━━━━━━━━
2- Sum = A + B + C
هذه هي أهم عملية في المثال.
مكتوب:
Sum = A + B + C
أي:
المجموع = A + B + C
هنا يتم جمع الأعداد الثلاثة معًا.
أي:
العدد الأول + العدد الثاني + العدد الثالث
ثم يتم تخزين النتيجة في:
Sum
━━━━━━━━━━━━━━━━━━━
ماذا يعني Sum؟
كلمة:
Sum
تعني:
المجموع
وهي اسم للمتغير الذي سيحتفظ بنتيجة عملية الجمع.
إذن:
A يمثل العدد الأول.
B يمثل العدد الثاني.
C يمثل العدد الثالث.
Sum يمثل نتيجة جمعهم.
━━━━━━━━━━━━━━━━━━━
سؤال مهم: ماذا يعني الرمز +؟
الرمز:
+
هو عملية الجمع.
إذن:
A + B + C
تعني جمع قيمة A مع قيمة B ثم إضافة قيمة C.
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا: ماذا يعني = هنا؟
عندما نكتب:
Sum = A + B + C
فنحن نقول:
احسب مجموع A وB وC، ثم ضع النتيجة داخل Sum.
إذن Sum هو المكان الذي يحتفظ بالنتيجة.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ هذه المسألة؟
لا.
لا تحفظ المثال كما هو.
الأهم أن تفهم الفكرة:
إذا كان المطلوب جمع ثلاثة أعداد، فأنت تحتاج إلى الأعداد الثلاثة، ثم تقوم بجمعها، ثم تحفظ الناتج.
هذا هو التفكير الذي نريد أن تتعلمه.
━━━━━━━━━━━━━━━━━━━
3- Print Sum
في المثال نجد:
Print Sum
أي:
اطبع المجموع.
بعد أن تم تنفيذ:
Sum = A + B + C
أصبحت نتيجة الجمع موجودة في المتغير:
Sum
لذلك يتم عرض قيمة Sum.
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا نطبع Sum؟
لأن Sum يحتوي على النتيجة النهائية.
فالبرنامج قام بالحساب بالفعل، والآن يريد إظهار النتيجة.
━━━━━━━━━━━━━━━━━━━
سؤال: هل Print Sum تقوم بعملية الجمع؟
لا.
وهذه نقطة مهمة جدًا.
الجمع يحدث هنا:
Sum = A + B + C
أما:
Print Sum
فقط تقوم بإظهار النتيجة الموجودة في Sum.
إذن هناك فرق بين:
الحساب
و
عرض النتيجة.
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل يجب أن أحفظ القوانين والمسائل؟
لا تجعل هدفك هو الحفظ.
في البرمجة، الأهم هو أن تتعلم كيف تفكر في المشكلة.
في هذا المثال لا أريد منك أن تحفظ:
Sum = A + B + C
كجملة فقط.
أريدك أن تفهم لماذا كتبناها.
لدينا ثلاثة أعداد:
A ، B ، C
والمطلوب جمعها.
إذن منطقيًا:
A + B + C
ثم نحتاج إلى الاحتفاظ بالنتيجة، لذلك نضعها في:
Sum
فتصبح:
Sum = A + B + C
هذا هو الفهم الذي سيبقى معك.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ كل القوانين؟
ليس بهذه الطريقة.
هناك قوانين رياضية ومفاهيم ستحتاج إلى معرفتها أثناء تعلمك، لكن لا تجعل تعلم البرمجة قائمًا على حفظ المسائل.
تعلم:
متى أحتاج إلى القانون؟
ما الذي يدخل إليه؟
ما النتيجة التي يعطيني إياها؟
كيف أحول الفكرة إلى خطوات؟
هذا أهم بكثير من حفظ السؤال والجواب.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ A وB وC وSum؟
أيضًا لا.
هذه مجرد أسماء مستخدمة في المثال.
المهم أن تفهم أن لدينا:
ثلاث قيم تدخل إلى الخوارزمية
ثم:
يتم جمعها
ثم:
يتم الاحتفاظ بالنتيجة
ثم:
يتم عرضها
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا استخدمنا Sum بدلًا من كتابة A + B + C في Print؟
لأننا في الخطوة السابقة قمنا بحساب النتيجة ووضعناها داخل Sum.
لذلك أصبح لدينا متغير يحتوي على النتيجة.
وهنا عندما نكتب:
Print Sum
فنحن نقول:
قبل أن نفكر في أي كود أو رموز، نفهم المشكلة نفسها.
المطلوب هو:
إدخال ثلاثة أعداد → جمع الأعداد الثلاثة → عرض المجموع.
إذن لدينا ثلاثة أشياء أساسية:
المدخلات:
A ، B ، C
العملية:
A + B + C
النتيجة:
Sum
وهذه هي فكرة المثال بالكامل.
━━━━━━━━━━━━━━━━━━━
1- Enter number A, B, C
في المثال مكتوب:
Enter number A, B, C
أي:
أدخل الأعداد A وB وC.
هنا البرنامج يحتاج إلى الحصول على ثلاثة أعداد حتى يستطيع تنفيذ عملية الجمع.
لدينا:
A = العدد الأول
B = العدد الثاني
C = العدد الثالث
إذن هذه هي المدخلات (Inputs).
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا لدينا A وB وC؟
لأن المسألة تريد جمع ثلاثة أعداد.
لذلك نحتاج إلى مكان يمثل كل عدد:
A → العدد الأول
B → العدد الثاني
C → العدد الثالث
ولا نحتاج هنا إلى شيء آخر؛ لأن المطلوب في المثال هو جمع هذه الأعداد الثلاثة فقط.
━━━━━━━━━━━━━━━━━━━
سؤال: هل A وB وC أرقام فعلية؟
لا.
هي أسماء تمثل القيم التي سيتم إدخالها.
أي أن A يمثل العدد الأول الذي سيدخله المستخدم، وB يمثل العدد الثاني، وC يمثل العدد الثالث.
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا لم نكتب أرقامًا محددة؟
لأن الخوارزمية ليست مصممة لثلاثة أرقام محددة فقط.
هي مصممة لتأخذ أي ثلاث قيم يتم إدخالها، ثم تجمعها.
لذلك استخدمنا أسماء مثل:
A ، B ، C
بدلًا من أرقام ثابتة.
━━━━━━━━━━━━━━━━━━━
2- Sum = A + B + C
هذه هي أهم عملية في المثال.
مكتوب:
Sum = A + B + C
أي:
المجموع = A + B + C
هنا يتم جمع الأعداد الثلاثة معًا.
أي:
العدد الأول + العدد الثاني + العدد الثالث
ثم يتم تخزين النتيجة في:
Sum
━━━━━━━━━━━━━━━━━━━
ماذا يعني Sum؟
كلمة:
Sum
تعني:
المجموع
وهي اسم للمتغير الذي سيحتفظ بنتيجة عملية الجمع.
إذن:
A يمثل العدد الأول.
B يمثل العدد الثاني.
C يمثل العدد الثالث.
Sum يمثل نتيجة جمعهم.
━━━━━━━━━━━━━━━━━━━
سؤال مهم: ماذا يعني الرمز +؟
الرمز:
+
هو عملية الجمع.
إذن:
A + B + C
تعني جمع قيمة A مع قيمة B ثم إضافة قيمة C.
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا: ماذا يعني = هنا؟
عندما نكتب:
Sum = A + B + C
فنحن نقول:
احسب مجموع A وB وC، ثم ضع النتيجة داخل Sum.
إذن Sum هو المكان الذي يحتفظ بالنتيجة.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ هذه المسألة؟
لا.
لا تحفظ المثال كما هو.
الأهم أن تفهم الفكرة:
إذا كان المطلوب جمع ثلاثة أعداد، فأنت تحتاج إلى الأعداد الثلاثة، ثم تقوم بجمعها، ثم تحفظ الناتج.
هذا هو التفكير الذي نريد أن تتعلمه.
━━━━━━━━━━━━━━━━━━━
3- Print Sum
في المثال نجد:
Print Sum
أي:
اطبع المجموع.
بعد أن تم تنفيذ:
Sum = A + B + C
أصبحت نتيجة الجمع موجودة في المتغير:
Sum
لذلك يتم عرض قيمة Sum.
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا نطبع Sum؟
لأن Sum يحتوي على النتيجة النهائية.
فالبرنامج قام بالحساب بالفعل، والآن يريد إظهار النتيجة.
━━━━━━━━━━━━━━━━━━━
سؤال: هل Print Sum تقوم بعملية الجمع؟
لا.
وهذه نقطة مهمة جدًا.
الجمع يحدث هنا:
Sum = A + B + C
أما:
Print Sum
فقط تقوم بإظهار النتيجة الموجودة في Sum.
إذن هناك فرق بين:
الحساب
و
عرض النتيجة.
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل يجب أن أحفظ القوانين والمسائل؟
لا تجعل هدفك هو الحفظ.
في البرمجة، الأهم هو أن تتعلم كيف تفكر في المشكلة.
في هذا المثال لا أريد منك أن تحفظ:
Sum = A + B + C
كجملة فقط.
أريدك أن تفهم لماذا كتبناها.
لدينا ثلاثة أعداد:
A ، B ، C
والمطلوب جمعها.
إذن منطقيًا:
A + B + C
ثم نحتاج إلى الاحتفاظ بالنتيجة، لذلك نضعها في:
Sum
فتصبح:
Sum = A + B + C
هذا هو الفهم الذي سيبقى معك.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ كل القوانين؟
ليس بهذه الطريقة.
هناك قوانين رياضية ومفاهيم ستحتاج إلى معرفتها أثناء تعلمك، لكن لا تجعل تعلم البرمجة قائمًا على حفظ المسائل.
تعلم:
متى أحتاج إلى القانون؟
ما الذي يدخل إليه؟
ما النتيجة التي يعطيني إياها؟
كيف أحول الفكرة إلى خطوات؟
هذا أهم بكثير من حفظ السؤال والجواب.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ A وB وC وSum؟
أيضًا لا.
هذه مجرد أسماء مستخدمة في المثال.
المهم أن تفهم أن لدينا:
ثلاث قيم تدخل إلى الخوارزمية
ثم:
يتم جمعها
ثم:
يتم الاحتفاظ بالنتيجة
ثم:
يتم عرضها
━━━━━━━━━━━━━━━━━━━
سؤال: لماذا استخدمنا Sum بدلًا من كتابة A + B + C في Print؟
لأننا في الخطوة السابقة قمنا بحساب النتيجة ووضعناها داخل Sum.
لذلك أصبح لدينا متغير يحتوي على النتيجة.
وهنا عندما نكتب:
Print Sum
فنحن نقول:
اعرض النتيجة التي تم حسابها وتخزينها في Sum.
━━━━━━━━━━━━━━━━━━━
سؤال: ما الفرق بين A وB وC وSum؟
الفرق بسيط جدًا:
A
يمثل العدد الأول.
B
يمثل العدد الثاني.
C
يمثل العدد الثالث.
Sum
يمثل نتيجة جمع الأعداد الثلاثة.
إذن الثلاثة الأولى تمثل البيانات التي نحتاج إليها، أما Sum فيمثل النتيجة التي حصلنا عليها.
━━━━━━━━━━━━━━━━━━━
كيف يفكر المبرمج في هذا المثال؟
بدل أن يحفظ المخطط كاملًا، يفكر بهذه الطريقة:
ما المطلوب؟
جمع ثلاثة أعداد.
━━━━━━━━━━━━━━━━━━━
ما البيانات التي أحتاج إليها؟
A وB وC.
━━━━━━━━━━━━━━━━━━━
ماذا سأفعل بهذه البيانات؟
سأجمعها:
A + B + C
━━━━━━━━━━━━━━━━━━━
أين سأضع النتيجة؟
في:
Sum
━━━━━━━━━━━━━━━━━━━
ماذا أفعل بالنتيجة؟
أعرضها باستخدام:
Print Sum
وهكذا تم بناء الحل.
━━━━━━━━━━━━━━━━━━━
أهم شيء تتعلمه من المثال
هذا المثال ليس درسًا عن جمع الأعداد فقط.
الفكرة الأهم هي أن تتعلم تحويل المطلوب إلى خطوات واضحة.
المشكلة تقول:
أريد مجموع ثلاثة أعداد.
فتفكر:
أحتاج ثلاثة أعداد.
ثم:
أجمع الأعداد.
ثم:
أحتفظ بالنتيجة.
ثم:
أعرض النتيجة.
هذه هي طريقة التفكير التي ستحتاجها عندما تصبح المسائل البرمجية أكبر وأكثر تعقيدًا.
━━━━━━━━━━━━━━━━━━━
الخلاصة
المثال يقوم بأربع أفكار أساسية:
Enter number A, B, C
الحصول على ثلاثة أعداد.
↓
Sum = A + B + C
جمع الأعداد الثلاثة وتخزين الناتج في Sum.
↓
Print Sum
عرض نتيجة الجمع.
↓
End
انتهاء الخوارزمية.
━━━━━━━━━━━━━━━━━━━
لا تحفظ الصورة... افهمها.
عندما ترى مسألة مثل هذه، لا تسأل نفسك:
"ما الكود الذي أحفظه؟"
بل اسأل:
ما المطلوب؟
ما البيانات التي أحتاج إليها؟
ما العملية التي سأجريها؟
ما النتيجة التي أريد الحصول عليها؟
إذا استطعت الإجابة عن هذه الأسئلة، فأنت بدأت تفكر كمبرمج، وليس كشخص يحفظ أكوادًا ومسائل.
#خوارزميات_من_الصفر
━━━━━━━━━━━━━━━━━━━
سؤال: ما الفرق بين A وB وC وSum؟
الفرق بسيط جدًا:
A
يمثل العدد الأول.
B
يمثل العدد الثاني.
C
يمثل العدد الثالث.
Sum
يمثل نتيجة جمع الأعداد الثلاثة.
إذن الثلاثة الأولى تمثل البيانات التي نحتاج إليها، أما Sum فيمثل النتيجة التي حصلنا عليها.
━━━━━━━━━━━━━━━━━━━
كيف يفكر المبرمج في هذا المثال؟
بدل أن يحفظ المخطط كاملًا، يفكر بهذه الطريقة:
ما المطلوب؟
جمع ثلاثة أعداد.
━━━━━━━━━━━━━━━━━━━
ما البيانات التي أحتاج إليها؟
A وB وC.
━━━━━━━━━━━━━━━━━━━
ماذا سأفعل بهذه البيانات؟
سأجمعها:
A + B + C
━━━━━━━━━━━━━━━━━━━
أين سأضع النتيجة؟
في:
Sum
━━━━━━━━━━━━━━━━━━━
ماذا أفعل بالنتيجة؟
أعرضها باستخدام:
Print Sum
وهكذا تم بناء الحل.
━━━━━━━━━━━━━━━━━━━
أهم شيء تتعلمه من المثال
هذا المثال ليس درسًا عن جمع الأعداد فقط.
الفكرة الأهم هي أن تتعلم تحويل المطلوب إلى خطوات واضحة.
المشكلة تقول:
أريد مجموع ثلاثة أعداد.
فتفكر:
أحتاج ثلاثة أعداد.
ثم:
أجمع الأعداد.
ثم:
أحتفظ بالنتيجة.
ثم:
أعرض النتيجة.
هذه هي طريقة التفكير التي ستحتاجها عندما تصبح المسائل البرمجية أكبر وأكثر تعقيدًا.
━━━━━━━━━━━━━━━━━━━
الخلاصة
المثال يقوم بأربع أفكار أساسية:
Enter number A, B, C
الحصول على ثلاثة أعداد.
↓
Sum = A + B + C
جمع الأعداد الثلاثة وتخزين الناتج في Sum.
↓
Print Sum
عرض نتيجة الجمع.
↓
End
انتهاء الخوارزمية.
━━━━━━━━━━━━━━━━━━━
لا تحفظ الصورة... افهمها.
عندما ترى مسألة مثل هذه، لا تسأل نفسك:
"ما الكود الذي أحفظه؟"
بل اسأل:
ما المطلوب؟
ما البيانات التي أحتاج إليها؟
ما العملية التي سأجريها؟
ما النتيجة التي أريد الحصول عليها؟
إذا استطعت الإجابة عن هذه الأسئلة، فأنت بدأت تفكر كمبرمج، وليس كشخص يحفظ أكوادًا ومسائل.
#خوارزميات_من_الصفر
نصيحة من أخ لأخوه... اسمعها مني وطبقها بيدك.
لا تستسهل الدرس لمجرد إنك فهمت المثال قدامك.
خصوصًا في الخوارزميات والمخططات الانسيابية.
لا تكتفي إنك تشوف طريقة الحل وتقول:
"خلاص، فهمت."
خذ الورقة والقلم وحاول تحل بنفسك.
ارسم المخطط الانسيابي من البداية، وفكر:
وش أول خطوة؟
وش بعدها؟
وين القرار؟
وش بيصير إذا تحقق الشرط؟
وش بيصير إذا ما تحقق؟
وإذا غلطت؟
عادي جدًا. لا تخاف من الخطأ.
الغلط مو دليل إنك ما تفهم...
الغلط هو اللي يعلمك وين المشكلة وكيف تصلحها.
حاول مرة...
ومرتين...
وثلاث...
وأربع...
وحتى عشر مرات إذا احتجت.
لا تستعجل وتروح للذكاء الاصطناعي من أول ما تواجهك مشكلة.
جرب بنفسك أول.
فكر، جرّب، اخطئ، عدّل، وحاول من جديد.
لأنك إذا خليت الذكاء الاصطناعي يحل لك كل شيء من البداية، ممكن تعرف الإجابة...
لكن ما تتعلم كيف توصل لها بنفسك.
وأنت الآن تتعلم أهم مهارة في البرمجة:
طريقة التفكير وحل المشكلات.
فلا تستعجل النتيجة.
خل عقلك يتعب شوي...
خلّه يحاول...
خلّه يخطئ...
لأن مع كل محاولة أنت قاعد تقوّي طريقة تفكيرك.
والله إن اللي بيطبق بيده، وبيحل بنفسه، بعد فترة بيرجع يدعي لي.
خذها مني نصيحة من أخ لأخوه:
لا تقرأ الدرس فقط... طبّق.
لا تشوف الحل فقط... حاول تحله.
لا تخاف من الخطأ... تعلّم منه.
ولا تستسلم من أول محاولة... كرر حتى تضبط معك.
التعلم الحقيقي يبدأ لما تقفل الحل وتقول:
"خلني أجرب أحلها بنفسي."
#نصيحة
لا تستسهل الدرس لمجرد إنك فهمت المثال قدامك.
خصوصًا في الخوارزميات والمخططات الانسيابية.
لا تكتفي إنك تشوف طريقة الحل وتقول:
"خلاص، فهمت."
خذ الورقة والقلم وحاول تحل بنفسك.
ارسم المخطط الانسيابي من البداية، وفكر:
وش أول خطوة؟
وش بعدها؟
وين القرار؟
وش بيصير إذا تحقق الشرط؟
وش بيصير إذا ما تحقق؟
وإذا غلطت؟
عادي جدًا. لا تخاف من الخطأ.
الغلط مو دليل إنك ما تفهم...
الغلط هو اللي يعلمك وين المشكلة وكيف تصلحها.
حاول مرة...
ومرتين...
وثلاث...
وأربع...
وحتى عشر مرات إذا احتجت.
لا تستعجل وتروح للذكاء الاصطناعي من أول ما تواجهك مشكلة.
جرب بنفسك أول.
فكر، جرّب، اخطئ، عدّل، وحاول من جديد.
لأنك إذا خليت الذكاء الاصطناعي يحل لك كل شيء من البداية، ممكن تعرف الإجابة...
لكن ما تتعلم كيف توصل لها بنفسك.
وأنت الآن تتعلم أهم مهارة في البرمجة:
طريقة التفكير وحل المشكلات.
فلا تستعجل النتيجة.
خل عقلك يتعب شوي...
خلّه يحاول...
خلّه يخطئ...
لأن مع كل محاولة أنت قاعد تقوّي طريقة تفكيرك.
والله إن اللي بيطبق بيده، وبيحل بنفسه، بعد فترة بيرجع يدعي لي.
خذها مني نصيحة من أخ لأخوه:
لا تقرأ الدرس فقط... طبّق.
لا تشوف الحل فقط... حاول تحله.
لا تخاف من الخطأ... تعلّم منه.
ولا تستسلم من أول محاولة... كرر حتى تضبط معك.
التعلم الحقيقي يبدأ لما تقفل الحل وتقول:
"خلني أجرب أحلها بنفسي."
#نصيحة
💯2❤1
1⃣ اكتب خوارزميه لحساب مساحه دائرة (محيط دائرة ) باستخدام المخطط الانسيابي. علما بان قانون حساب محيط الدائرة هو 2πr
2⃣ اكتب خوارزميه لحساب المتوسط الحسابي ل3 مقررات و من ثم طباعة ناتج المعدل
قانون المتوسط الحسابي مجوع الدرجات على عددهم ((المقرر الاول +المقرر الثان) +........)\ عدد المقررات)
قانون المتوسط الحسابي مجوع الدرجات على عددهم ((المقرر الاول +المقرر الثان) +........)\ عدد المقررات)
اولويات الحساب
━━━━━━━━━━━━━━━━━━━
ما المقصود بأولويات العمليات الحسابية؟
أولوية العمليات الحسابية تعني:
الترتيب الذي يتبعه الحاسوب عند تنفيذ أكثر من عملية حسابية في نفس التعبير.
فالحاسوب لا ينفذ العمليات بشكل عشوائي.
هناك ترتيب محدد يجب أن يتبعه.
وهذا الترتيب مهم جدًا؛ لأن تغيير ترتيب العمليات قد يؤدي إلى نتيجة مختلفة تمامًا.
━━━━━━━━━━━━━━━━━━━
لماذا نحتاج إلى الأولويات الحسابية؟
تخيل أن لدينا:
10 + 5 × 2
قد يقول شخص:
أجمع 10 + 5 أولًا:
15 × 2 = 30
لكن هذا ليس الترتيب الصحيح.
لأن الضرب له أولوية أعلى من الجمع.
لذلك نحسب:
5 × 2 = 10
ثم:
10 + 10 = 20
إذن النتيجة الصحيحة هي:
20
وليس:
30
وهنا تظهر أهمية فهم الأولويات.
━━━━━━━━━━━━━━━━━━━
ترتيب العمليات الحسابية
احفظ الفكرة التالية لأنها مهمة جدًا:
1- الأقواس
2- الأسس
3- الضرب والقسمة
4- الجمع والطرح
بمعنى أننا نبدأ بالأولوية الأعلى، ثم ننتقل إلى الأقل.
يمكن تذكرها بهذا الشكل:
الأقواس → الأسس → الضرب والقسمة → الجمع والطرح
━━━━━━━━━━━━━━━━━━━
أولًا: الأقواس ( )
الأقواس لها أولوية عالية جدًا.
عندما تضع عملية داخل الأقواس، فإنك تقول للحاسوب:
نفذ هذه العملية أولًا.
مثال:
(10 + 5) × 2
نبدأ بما داخل الأقواس:
10 + 5 = 15
ثم:
15 × 2 = 30
إذن الناتج:
30
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا نستخدم الأقواس؟
لأننا أحيانًا نريد أن نغيّر ترتيب تنفيذ العمليات.
بدل أن نترك الحاسوب يتبع الأولويات الافتراضية، نحدد نحن العملية التي نريد تنفيذها أولًا.
وهذه نقطة مهمة جدًا في البرمجة.
━━━━━━━━━━━━━━━━━━━
ثانيًا: الأسس
بعد الأقواس تأتي الأسس.
مثل:
2²
أي:
2 × 2 = 4
وكذلك:
3² = 9
فالأسس لها أولوية أعلى من الضرب والجمع والطرح.
━━━━━━━━━━━━━━━━━━━
ثالثًا: الضرب والقسمة
بعد الأقواس والأسس تأتي:
الضرب والقسمة.
مثل:
10 + 6 × 2
نلاحظ وجود:
جمع
وضرب.
بما أن الضرب له أولوية أعلى من الجمع، ننفذ الضرب أولًا:
6 × 2 = 12
ثم:
10 + 12 = 22
إذن الناتج:
22
━━━━━━━━━━━━━━━━━━━
ماذا لو كان عندي ضرب وقسمة معًا؟
هنا توجد نقطة مهمة.
الضرب والقسمة لهما نفس الأولوية.
إذا اجتمعا في نفس التعبير، ننفذهما من اليسار إلى اليمين.
مثل:
20 ÷ 5 × 2
نبدأ من اليسار:
20 ÷ 5 = 4
ثم:
4 × 2 = 8
إذن الناتج:
8
وليس من الصحيح أن نقول إن الضرب دائمًا يأتي قبل القسمة.
الضرب والقسمة في نفس المستوى من الأولوية.
━━━━━━━━━━━━━━━━━━━
رابعًا: الجمع والطرح
بعد ذلك يأتي:
الجمع والطرح.
وهما أيضًا لهما نفس الأولوية.
إذا اجتمعا معًا، ننفذهما من اليسار إلى اليمين.
مثل:
20 - 5 + 3
نبدأ من اليسار:
20 - 5 = 15
ثم:
15 + 3 = 18
إذن الناتج:
18
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل الجمع دائمًا قبل الطرح؟
لا.
الجمع والطرح لهما نفس الأولوية.
ننظر إلى العملية التي تظهر أولًا من اليسار.
نفس الفكرة تنطبق على:
الضرب والقسمة.
فلا تقل:
"الضرب دائمًا قبل القسمة."
ولا تقل:
"الجمع دائمًا قبل الطرح."
الصحيح هو:
إذا كانا في نفس مستوى الأولوية، ننفذهما من اليسار إلى اليمين.
━━━━━━━━━━━━━━━━━━━
مثال يجمع أكثر من أولوية
لنأخذ:
10 + 2 × 3
لدينا:
الجمع
والضرب.
نبدأ بالضرب لأنه أعلى أولوية:
2 × 3 = 6
ثم الجمع:
10 + 6 = 16
إذن:
10 + 2 × 3 = 16
━━━━━━━━━━━━━━━━━━━
ماذا لو استخدمنا الأقواس؟
نفس التعبير، لكن نضع الأقواس:
(10 + 2) × 3
هنا الأقواس تغير الترتيب.
أولًا:
10 + 2 = 12
ثم:
12 × 3 = 36
لاحظ الفرق:
10 + 2 × 3 = 16
بينما:
(10 + 2) × 3 = 36
وهذا يوضح لماذا الأقواس مهمة جدًا.
━━━━━━━━━━━━━━━━━━━
سؤال قد يسأله الطالب:
هل الحاسوب يفهم الأولويات من نفسه؟
نعم.
لغات البرمجة لديها قواعد محددة لترتيب تنفيذ العمليات الحسابية.
لذلك عندما تكتب تعبيرًا حسابيًا، تقوم اللغة بتحديد أي عملية تنفذ أولًا بناءً على هذه القواعد.
لكن المبرمج يجب أن يعرف هذه القواعد حتى لا يكتب تعبيرًا يعطي نتيجة غير التي يقصدها.
━━━━━━━━━━━━━━━━━━━
هل الأولويات الحسابية مهمة في البرمجة؟
نعم، جدًا.
لأنك ستستخدم العمليات الحسابية داخل البرامج باستمرار.
خصوصًا عندما يكون لديك أكثر من عملية في نفس السطر.
فإذا لم تعرف الأولويات، قد تكتب التعبير بشكل صحيح من ناحية الكتابة، لكن تحصل على نتيجة غير التي كنت تقصدها.
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل يجب أن أحفظ الأولويات؟
نعم، لكن لا تحفظها بطريقة عمياء.
افهم ترتيبها أولًا:
الأقواس
↓
الأسس
↓
الضرب والقسمة
↓
الجمع والطرح
ثم مع التدريب ستصبح طبيعية جدًا بالنسبة لك.
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
ما المقصود بأولويات العمليات الحسابية؟
أولوية العمليات الحسابية تعني:
الترتيب الذي يتبعه الحاسوب عند تنفيذ أكثر من عملية حسابية في نفس التعبير.
فالحاسوب لا ينفذ العمليات بشكل عشوائي.
هناك ترتيب محدد يجب أن يتبعه.
وهذا الترتيب مهم جدًا؛ لأن تغيير ترتيب العمليات قد يؤدي إلى نتيجة مختلفة تمامًا.
━━━━━━━━━━━━━━━━━━━
لماذا نحتاج إلى الأولويات الحسابية؟
تخيل أن لدينا:
10 + 5 × 2
قد يقول شخص:
أجمع 10 + 5 أولًا:
15 × 2 = 30
لكن هذا ليس الترتيب الصحيح.
لأن الضرب له أولوية أعلى من الجمع.
لذلك نحسب:
5 × 2 = 10
ثم:
10 + 10 = 20
إذن النتيجة الصحيحة هي:
20
وليس:
30
وهنا تظهر أهمية فهم الأولويات.
━━━━━━━━━━━━━━━━━━━
ترتيب العمليات الحسابية
احفظ الفكرة التالية لأنها مهمة جدًا:
1- الأقواس
2- الأسس
3- الضرب والقسمة
4- الجمع والطرح
بمعنى أننا نبدأ بالأولوية الأعلى، ثم ننتقل إلى الأقل.
يمكن تذكرها بهذا الشكل:
الأقواس → الأسس → الضرب والقسمة → الجمع والطرح
━━━━━━━━━━━━━━━━━━━
أولًا: الأقواس ( )
الأقواس لها أولوية عالية جدًا.
عندما تضع عملية داخل الأقواس، فإنك تقول للحاسوب:
نفذ هذه العملية أولًا.
مثال:
(10 + 5) × 2
نبدأ بما داخل الأقواس:
10 + 5 = 15
ثم:
15 × 2 = 30
إذن الناتج:
30
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا نستخدم الأقواس؟
لأننا أحيانًا نريد أن نغيّر ترتيب تنفيذ العمليات.
بدل أن نترك الحاسوب يتبع الأولويات الافتراضية، نحدد نحن العملية التي نريد تنفيذها أولًا.
وهذه نقطة مهمة جدًا في البرمجة.
━━━━━━━━━━━━━━━━━━━
ثانيًا: الأسس
بعد الأقواس تأتي الأسس.
مثل:
2²
أي:
2 × 2 = 4
وكذلك:
3² = 9
فالأسس لها أولوية أعلى من الضرب والجمع والطرح.
━━━━━━━━━━━━━━━━━━━
ثالثًا: الضرب والقسمة
بعد الأقواس والأسس تأتي:
الضرب والقسمة.
مثل:
10 + 6 × 2
نلاحظ وجود:
جمع
وضرب.
بما أن الضرب له أولوية أعلى من الجمع، ننفذ الضرب أولًا:
6 × 2 = 12
ثم:
10 + 12 = 22
إذن الناتج:
22
━━━━━━━━━━━━━━━━━━━
ماذا لو كان عندي ضرب وقسمة معًا؟
هنا توجد نقطة مهمة.
الضرب والقسمة لهما نفس الأولوية.
إذا اجتمعا في نفس التعبير، ننفذهما من اليسار إلى اليمين.
مثل:
20 ÷ 5 × 2
نبدأ من اليسار:
20 ÷ 5 = 4
ثم:
4 × 2 = 8
إذن الناتج:
8
وليس من الصحيح أن نقول إن الضرب دائمًا يأتي قبل القسمة.
الضرب والقسمة في نفس المستوى من الأولوية.
━━━━━━━━━━━━━━━━━━━
رابعًا: الجمع والطرح
بعد ذلك يأتي:
الجمع والطرح.
وهما أيضًا لهما نفس الأولوية.
إذا اجتمعا معًا، ننفذهما من اليسار إلى اليمين.
مثل:
20 - 5 + 3
نبدأ من اليسار:
20 - 5 = 15
ثم:
15 + 3 = 18
إذن الناتج:
18
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل الجمع دائمًا قبل الطرح؟
لا.
الجمع والطرح لهما نفس الأولوية.
ننظر إلى العملية التي تظهر أولًا من اليسار.
نفس الفكرة تنطبق على:
الضرب والقسمة.
فلا تقل:
"الضرب دائمًا قبل القسمة."
ولا تقل:
"الجمع دائمًا قبل الطرح."
الصحيح هو:
إذا كانا في نفس مستوى الأولوية، ننفذهما من اليسار إلى اليمين.
━━━━━━━━━━━━━━━━━━━
مثال يجمع أكثر من أولوية
لنأخذ:
10 + 2 × 3
لدينا:
الجمع
والضرب.
نبدأ بالضرب لأنه أعلى أولوية:
2 × 3 = 6
ثم الجمع:
10 + 6 = 16
إذن:
10 + 2 × 3 = 16
━━━━━━━━━━━━━━━━━━━
ماذا لو استخدمنا الأقواس؟
نفس التعبير، لكن نضع الأقواس:
(10 + 2) × 3
هنا الأقواس تغير الترتيب.
أولًا:
10 + 2 = 12
ثم:
12 × 3 = 36
لاحظ الفرق:
10 + 2 × 3 = 16
بينما:
(10 + 2) × 3 = 36
وهذا يوضح لماذا الأقواس مهمة جدًا.
━━━━━━━━━━━━━━━━━━━
سؤال قد يسأله الطالب:
هل الحاسوب يفهم الأولويات من نفسه؟
نعم.
لغات البرمجة لديها قواعد محددة لترتيب تنفيذ العمليات الحسابية.
لذلك عندما تكتب تعبيرًا حسابيًا، تقوم اللغة بتحديد أي عملية تنفذ أولًا بناءً على هذه القواعد.
لكن المبرمج يجب أن يعرف هذه القواعد حتى لا يكتب تعبيرًا يعطي نتيجة غير التي يقصدها.
━━━━━━━━━━━━━━━━━━━
هل الأولويات الحسابية مهمة في البرمجة؟
نعم، جدًا.
لأنك ستستخدم العمليات الحسابية داخل البرامج باستمرار.
خصوصًا عندما يكون لديك أكثر من عملية في نفس السطر.
فإذا لم تعرف الأولويات، قد تكتب التعبير بشكل صحيح من ناحية الكتابة، لكن تحصل على نتيجة غير التي كنت تقصدها.
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل يجب أن أحفظ الأولويات؟
نعم، لكن لا تحفظها بطريقة عمياء.
افهم ترتيبها أولًا:
الأقواس
↓
الأسس
↓
الضرب والقسمة
↓
الجمع والطرح
ثم مع التدريب ستصبح طبيعية جدًا بالنسبة لك.
━━━━━━━━━━━━━━━━━━━
🆒1
ماذا أفعل إذا كنت غير متأكد من ترتيب عملية معينة؟
استخدم الأقواس لتوضيح ما تريد.
الأقواس لا تجعل التعبير أوضح فقط، بل تساعدك على تحديد العملية التي تريد تنفيذها أولًا.
خصوصًا في البرمجة، وضوح التعبير مهم جدًا.
━━━━━━━━━━━━━━━━━━━
هل الأولوية تعني أن العملية ستنفذ دائمًا قبل كل شيء؟
ليس بالضرورة.
الأولوية تحدد ترتيب التنفيذ عندما توجد عمليات مختلفة معًا.
لكن إذا كانت العمليات من نفس المستوى، نستخدم قاعدة:
من اليسار إلى اليمين.
مثل:
20 ÷ 5 × 2
الضرب والقسمة متساويان في الأولوية.
لذلك نبدأ من اليسار.
━━━━━━━━━━━━━━━━━━━
خلاصة الدرس
عندما ترى تعبيرًا حسابيًا يحتوي على عدة عمليات، لا تبدأ بالحساب بشكل عشوائي.
اسأل نفسك:
هل توجد أقواس؟
إذا نعم، ابدأ بها.
ثم:
هل توجد أسس؟
ثم:
هل توجد عمليات ضرب أو قسمة؟
ثم:
هل توجد عمليات جمع أو طرح؟
وتذكر:
الأقواس → الأسس → الضرب والقسمة → الجمع والطرح
وإذا وجدت عمليتين لهما نفس الأولوية، نفذهما:
من اليسار إلى اليمين.
━━━━━━━━━━━━━━━━━━━
القاعدة الذهبية
لا تنظر إلى التعبير الحسابي وتسأل:
"أي عملية أراها أولًا؟"
بل اسأل:
"أي عملية لها الأولوية الأعلى؟"
وبمجرد أن تفهم هذه القاعدة، ستصبح قراءة العمليات الحسابية داخل الخوارزميات والبرامج أسهل بكثير.
استخدم الأقواس لتوضيح ما تريد.
الأقواس لا تجعل التعبير أوضح فقط، بل تساعدك على تحديد العملية التي تريد تنفيذها أولًا.
خصوصًا في البرمجة، وضوح التعبير مهم جدًا.
━━━━━━━━━━━━━━━━━━━
هل الأولوية تعني أن العملية ستنفذ دائمًا قبل كل شيء؟
ليس بالضرورة.
الأولوية تحدد ترتيب التنفيذ عندما توجد عمليات مختلفة معًا.
لكن إذا كانت العمليات من نفس المستوى، نستخدم قاعدة:
من اليسار إلى اليمين.
مثل:
20 ÷ 5 × 2
الضرب والقسمة متساويان في الأولوية.
لذلك نبدأ من اليسار.
━━━━━━━━━━━━━━━━━━━
خلاصة الدرس
عندما ترى تعبيرًا حسابيًا يحتوي على عدة عمليات، لا تبدأ بالحساب بشكل عشوائي.
اسأل نفسك:
هل توجد أقواس؟
إذا نعم، ابدأ بها.
ثم:
هل توجد أسس؟
ثم:
هل توجد عمليات ضرب أو قسمة؟
ثم:
هل توجد عمليات جمع أو طرح؟
وتذكر:
الأقواس → الأسس → الضرب والقسمة → الجمع والطرح
وإذا وجدت عمليتين لهما نفس الأولوية، نفذهما:
من اليسار إلى اليمين.
━━━━━━━━━━━━━━━━━━━
القاعدة الذهبية
لا تنظر إلى التعبير الحسابي وتسأل:
"أي عملية أراها أولًا؟"
بل اسأل:
"أي عملية لها الأولوية الأعلى؟"
وبمجرد أن تفهم هذه القاعدة، ستصبح قراءة العمليات الحسابية داخل الخوارزميات والبرامج أسهل بكثير.
⚡1💯1
K7H Code
Photo
شرح المثال: حساب متوسط ثلاثة أرقام
فكرة المثال بسيطة جدًا:
لدينا ثلاثة أرقام:
X ، Y ، Z
نريد أن نحسب متوسط هذه الأرقام، ثم نعرض النتيجة.
بمعنى أن الخوارزمية تقوم بثلاثة أشياء رئيسية:
إدخال الأرقام → حساب المتوسط → عرض المتوسط
━━━━━━━━━━━━━━━━━━━
أولًا: Enter X, Y, Z
في المخطط مكتوب:
Enter X,Y,Z
ومعناها:
أدخل قيم X و Y و Z
أي أن البرنامج يحتاج إلى ثلاث قيم حتى يستطيع حساب المتوسط.
هنا:
X يمثل الرقم الأول.
Y يمثل الرقم الثاني.
Z يمثل الرقم الثالث.
إذن هذه القيم الثلاث هي البيانات التي سيعمل عليها البرنامج.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
هل X و Y و Z أرقام بحد ذاتها؟
ليس بالضرورة.
هي أسماء لمتغيرات نستخدمها لتخزين الأرقام التي سيتم إدخالها.
فعندما نكتب:
Enter X,Y,Z
فالمقصود أن البرنامج يحصل على ثلاث قيم ويضعها في المتغيرات:
X
Y
Z
━━━━━━━━━━━━━━━━━━━
سؤال:
لماذا استخدمنا ثلاثة متغيرات؟
لأن المطلوب في هذا المثال هو حساب متوسط ثلاثة أرقام.
لذلك نحتاج إلى الاحتفاظ بكل رقم بشكل منفصل:
X → الرقم الأول
Y → الرقم الثاني
Z → الرقم الثالث
وبعد ذلك نستطيع استخدام هذه القيم في عملية حساب المتوسط.
━━━━━━━━━━━━━━━━━━━
ثانيًا: Avg = (X + Y + Z) / 3
هذه أهم خطوة في المثال.
مكتوب:
Avg = (X + Y + Z) / 3
ومعناها:
احسب مجموع الأرقام الثلاثة، ثم اقسم الناتج على 3، وضع النتيجة في Avg.
━━━━━━━━━━━━━━━━━━━
ما معنى Avg؟
Avg اختصار لكلمة:
Average
ومعناها:
المتوسط
إذن Avg هو المتغير الذي سنخزن بداخله نتيجة حساب المتوسط.
لدينا:
X ، Y ، Z
وهي الأرقام التي أدخلناها.
ولدينا:
Avg
وهو المكان الذي سنضع فيه نتيجة المتوسط.
━━━━━━━━━━━━━━━━━━━
كيف نفهم القانون الموجود في المخطط؟
القانون هو:
Avg = (X + Y + Z) / 3
نقرأه بهذه الطريقة:
أولًا:
X + Y + Z
أي نجمع الأرقام الثلاثة.
ثم:
/ 3
أي نقسم مجموعها على عدد الأرقام، وهو 3.
والنتيجة نضعها في:
Avg
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
لماذا قسمنا على 3؟
لأننا نحسب متوسط ثلاث قيم.
وقاعدة المتوسط الحسابي هي:
مجموع القيم ÷ عدد القيم
وفي هذا المثال لدينا ثلاث قيم:
X و Y و Z
لذلك نقسم المجموع على:
3
━━━━━━━━━━━━━━━━━━━
سؤال:
لماذا وضعنا الأقواس؟
في:
(X + Y + Z) / 3
الأقواس توضح أن عملية الجمع هي الجزء الذي نريد حسابه أولًا، وبعد ذلك نقسم الناتج على 3.
أي أن الفكرة هي:
اجمع X و Y و Z أولًا
ثم:
اقسم الناتج على 3
ثم:
خزّن النتيجة في Avg
وهذا يجعل طريقة الحساب واضحة جدًا.
━━━━━━━━━━━━━━━━━━━
سؤال:
هل Avg هو رقم ندخله؟
لا.
وهذه نقطة مهمة.
الأرقام التي يتم إدخالها هي:
X ، Y ، Z
أما:
Avg
فهو نتيجة يتم حسابها بعد إدخال الأرقام.
إذن:
X, Y, Z → مدخلات
Avg → نتيجة الحساب
━━━━━━━━━━━━━━━━━━━
ثالثًا: Print Avg
بعد أن تم حساب المتوسط، نجد في المخطط:
Print Avg
ومعناها:
اعرض قيمة المتوسط.
في الخطوة السابقة تم حساب المتوسط وتخزينه داخل:
Avg
والآن نريد إظهار هذه النتيجة.
لذلك نستخدم:
Print Avg
━━━━━━━━━━━━━━━━━━━
سؤال:
هل Print Avg تقوم بحساب المتوسط؟
لا.
الحساب تم في الخطوة السابقة:
Avg = (X + Y + Z) / 3
أما:
Print Avg
فوظيفتها هي عرض النتيجة التي تم حسابها.
وهذا فرق مهم:
الحساب → Avg = (X + Y + Z) / 3
العرض → Print Avg
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل يجب أن أحفظ هذه المسألة؟
لا تحفظها كصورة أو كخطوات بدون فهم.
الأهم أن تفهم الفكرة الموجودة خلفها.
إذا رأيت أن المطلوب هو حساب متوسط ثلاثة أرقام، فكر بهذه الطريقة:
ما البيانات التي أحتاجها؟
ثلاثة أرقام: X و Y و Z
ماذا أفعل بها؟
أجمعها
ثم ماذا؟
أقسم المجموع على 3
ثم ماذا؟
أعرض النتيجة
إذا فهمت هذا التسلسل، فأنت فهمت المثال.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ كلمة Avg؟
لا.
Avg مجرد اسم للمتغير المستخدم في هذا المثال.
المهم أن تعرف أن هذا المتغير يحتوي على نتيجة المتوسط.
━━━━━━━━━━━━━━━━━━━
سؤال: هل X و Y و Z أسماء ثابتة؟
لا.
في هذا المثال تم اختيار هذه الأسماء لتمثيل الأرقام الثلاثة.
المهم هو فهم وظيفة كل متغير:
X → القيمة الأولى
Y → القيمة الثانية
Z → القيمة الثالثة
Avg → نتيجة المتوسط
━━━━━━━━━━━━━━━━━━━
سؤال: ماذا يحدث داخل هذا المثال بالضبط؟
لو أردنا فهم الخوارزمية كفكرة واحدة، فهي كالتالي:
أولًا، البرنامج يحصل على ثلاث قيم ويضعها في:
X ، Y ، Z
ثم يستخدم هذه القيم في عملية:
X + Y + Z
وبعد ذلك يقسم المجموع على:
3
ثم يخزن النتيجة في:
Avg
وأخيرًا يعرض قيمة:
Avg
━━━━━━━━━━━━━━━━━━━
كيف أفهم المثال كمبرمج؟
فكرة المثال بسيطة جدًا:
لدينا ثلاثة أرقام:
X ، Y ، Z
نريد أن نحسب متوسط هذه الأرقام، ثم نعرض النتيجة.
بمعنى أن الخوارزمية تقوم بثلاثة أشياء رئيسية:
إدخال الأرقام → حساب المتوسط → عرض المتوسط
━━━━━━━━━━━━━━━━━━━
أولًا: Enter X, Y, Z
في المخطط مكتوب:
Enter X,Y,Z
ومعناها:
أدخل قيم X و Y و Z
أي أن البرنامج يحتاج إلى ثلاث قيم حتى يستطيع حساب المتوسط.
هنا:
X يمثل الرقم الأول.
Y يمثل الرقم الثاني.
Z يمثل الرقم الثالث.
إذن هذه القيم الثلاث هي البيانات التي سيعمل عليها البرنامج.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
هل X و Y و Z أرقام بحد ذاتها؟
ليس بالضرورة.
هي أسماء لمتغيرات نستخدمها لتخزين الأرقام التي سيتم إدخالها.
فعندما نكتب:
Enter X,Y,Z
فالمقصود أن البرنامج يحصل على ثلاث قيم ويضعها في المتغيرات:
X
Y
Z
━━━━━━━━━━━━━━━━━━━
سؤال:
لماذا استخدمنا ثلاثة متغيرات؟
لأن المطلوب في هذا المثال هو حساب متوسط ثلاثة أرقام.
لذلك نحتاج إلى الاحتفاظ بكل رقم بشكل منفصل:
X → الرقم الأول
Y → الرقم الثاني
Z → الرقم الثالث
وبعد ذلك نستطيع استخدام هذه القيم في عملية حساب المتوسط.
━━━━━━━━━━━━━━━━━━━
ثانيًا: Avg = (X + Y + Z) / 3
هذه أهم خطوة في المثال.
مكتوب:
Avg = (X + Y + Z) / 3
ومعناها:
احسب مجموع الأرقام الثلاثة، ثم اقسم الناتج على 3، وضع النتيجة في Avg.
━━━━━━━━━━━━━━━━━━━
ما معنى Avg؟
Avg اختصار لكلمة:
Average
ومعناها:
المتوسط
إذن Avg هو المتغير الذي سنخزن بداخله نتيجة حساب المتوسط.
لدينا:
X ، Y ، Z
وهي الأرقام التي أدخلناها.
ولدينا:
Avg
وهو المكان الذي سنضع فيه نتيجة المتوسط.
━━━━━━━━━━━━━━━━━━━
كيف نفهم القانون الموجود في المخطط؟
القانون هو:
Avg = (X + Y + Z) / 3
نقرأه بهذه الطريقة:
أولًا:
X + Y + Z
أي نجمع الأرقام الثلاثة.
ثم:
/ 3
أي نقسم مجموعها على عدد الأرقام، وهو 3.
والنتيجة نضعها في:
Avg
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
لماذا قسمنا على 3؟
لأننا نحسب متوسط ثلاث قيم.
وقاعدة المتوسط الحسابي هي:
مجموع القيم ÷ عدد القيم
وفي هذا المثال لدينا ثلاث قيم:
X و Y و Z
لذلك نقسم المجموع على:
3
━━━━━━━━━━━━━━━━━━━
سؤال:
لماذا وضعنا الأقواس؟
في:
(X + Y + Z) / 3
الأقواس توضح أن عملية الجمع هي الجزء الذي نريد حسابه أولًا، وبعد ذلك نقسم الناتج على 3.
أي أن الفكرة هي:
اجمع X و Y و Z أولًا
ثم:
اقسم الناتج على 3
ثم:
خزّن النتيجة في Avg
وهذا يجعل طريقة الحساب واضحة جدًا.
━━━━━━━━━━━━━━━━━━━
سؤال:
هل Avg هو رقم ندخله؟
لا.
وهذه نقطة مهمة.
الأرقام التي يتم إدخالها هي:
X ، Y ، Z
أما:
Avg
فهو نتيجة يتم حسابها بعد إدخال الأرقام.
إذن:
X, Y, Z → مدخلات
Avg → نتيجة الحساب
━━━━━━━━━━━━━━━━━━━
ثالثًا: Print Avg
بعد أن تم حساب المتوسط، نجد في المخطط:
Print Avg
ومعناها:
اعرض قيمة المتوسط.
في الخطوة السابقة تم حساب المتوسط وتخزينه داخل:
Avg
والآن نريد إظهار هذه النتيجة.
لذلك نستخدم:
Print Avg
━━━━━━━━━━━━━━━━━━━
سؤال:
هل Print Avg تقوم بحساب المتوسط؟
لا.
الحساب تم في الخطوة السابقة:
Avg = (X + Y + Z) / 3
أما:
Print Avg
فوظيفتها هي عرض النتيجة التي تم حسابها.
وهذا فرق مهم:
الحساب → Avg = (X + Y + Z) / 3
العرض → Print Avg
━━━━━━━━━━━━━━━━━━━
سؤال مهم: هل يجب أن أحفظ هذه المسألة؟
لا تحفظها كصورة أو كخطوات بدون فهم.
الأهم أن تفهم الفكرة الموجودة خلفها.
إذا رأيت أن المطلوب هو حساب متوسط ثلاثة أرقام، فكر بهذه الطريقة:
ما البيانات التي أحتاجها؟
ثلاثة أرقام: X و Y و Z
ماذا أفعل بها؟
أجمعها
ثم ماذا؟
أقسم المجموع على 3
ثم ماذا؟
أعرض النتيجة
إذا فهمت هذا التسلسل، فأنت فهمت المثال.
━━━━━━━━━━━━━━━━━━━
سؤال: هل يجب أن أحفظ كلمة Avg؟
لا.
Avg مجرد اسم للمتغير المستخدم في هذا المثال.
المهم أن تعرف أن هذا المتغير يحتوي على نتيجة المتوسط.
━━━━━━━━━━━━━━━━━━━
سؤال: هل X و Y و Z أسماء ثابتة؟
لا.
في هذا المثال تم اختيار هذه الأسماء لتمثيل الأرقام الثلاثة.
المهم هو فهم وظيفة كل متغير:
X → القيمة الأولى
Y → القيمة الثانية
Z → القيمة الثالثة
Avg → نتيجة المتوسط
━━━━━━━━━━━━━━━━━━━
سؤال: ماذا يحدث داخل هذا المثال بالضبط؟
لو أردنا فهم الخوارزمية كفكرة واحدة، فهي كالتالي:
أولًا، البرنامج يحصل على ثلاث قيم ويضعها في:
X ، Y ، Z
ثم يستخدم هذه القيم في عملية:
X + Y + Z
وبعد ذلك يقسم المجموع على:
3
ثم يخزن النتيجة في:
Avg
وأخيرًا يعرض قيمة:
Avg
━━━━━━━━━━━━━━━━━━━
كيف أفهم المثال كمبرمج؟
💯1
K7H Code
Photo
لا تنظر إلى:
Avg = (X + Y + Z) / 3
على أنها مجرد قانون يجب حفظه.
اسأل نفسك:
ما الذي يدخل إلى الخوارزمية؟
ثلاث قيم:
X, Y, Z
ماذا يحدث لهذه القيم؟
يتم جمعها ثم قسمة المجموع على 3.
أين تذهب النتيجة؟
إلى المتغير:
Avg
ماذا يحدث بعد ذلك؟
يتم عرض Avg.
وهنا أنت لا تحفظ الخوارزمية، بل تفهم طريقة التفكير فيها.
━━━━━━━━━━━━━━━━━━━
الخلاصة
المثال كاملًا يمكن فهمه بهذه الصورة:
Enter X,Y,Z
الحصول على ثلاثة أرقام.
↓
Avg = (X + Y + Z) / 3
حساب متوسط الأرقام الثلاثة وتخزين النتيجة في Avg.
↓
Print Avg
عرض نتيجة المتوسط.
إذن احفظ الفكرة، وليس الصورة:
X + Y + Z → جمع القيم
÷ 3 → حساب المتوسط
Avg → تخزين النتيجة
Print Avg → عرض النتيجة
وهذه هي الفكرة الأساسية التي يريد هذا المخطط الانسيابي توصيلها.
#خوارزميات_من_الصفر
Avg = (X + Y + Z) / 3
على أنها مجرد قانون يجب حفظه.
اسأل نفسك:
ما الذي يدخل إلى الخوارزمية؟
ثلاث قيم:
X, Y, Z
ماذا يحدث لهذه القيم؟
يتم جمعها ثم قسمة المجموع على 3.
أين تذهب النتيجة؟
إلى المتغير:
Avg
ماذا يحدث بعد ذلك؟
يتم عرض Avg.
وهنا أنت لا تحفظ الخوارزمية، بل تفهم طريقة التفكير فيها.
━━━━━━━━━━━━━━━━━━━
الخلاصة
المثال كاملًا يمكن فهمه بهذه الصورة:
Enter X,Y,Z
الحصول على ثلاثة أرقام.
↓
Avg = (X + Y + Z) / 3
حساب متوسط الأرقام الثلاثة وتخزين النتيجة في Avg.
↓
Print Avg
عرض نتيجة المتوسط.
إذن احفظ الفكرة، وليس الصورة:
X + Y + Z → جمع القيم
÷ 3 → حساب المتوسط
Avg → تخزين النتيجة
Print Avg → عرض النتيجة
وهذه هي الفكرة الأساسية التي يريد هذا المخطط الانسيابي توصيلها.
#خوارزميات_من_الصفر
💯1
1⃣اكتب خوارزميه لحساب مساحة المربع باستخدام المخطط الانسيابي. علما بان قانون مساحة المربع Area=L ²