K7H Code
194 subscribers
40 photos
1 file
17 links
تعلم البرمجة والتقنية بطريقة بسيطة وعملية.
البرمجة سهله ولكن لا احد علمك بطريقة سهله. هدفي ان اجعل البرمجة اسهل وابسط
Code • Design •
Learn smarter. Build faster. Stay consistent.
https://t.me/questionsk7h قناة الاسئله
@k7hcode_bot بوت القناة للتواصل
Download Telegram
K7H Code
Photo
طباعة كلمة Hello
في هذا المثال أمامنا مخطط انسيابي بسيط جدًا، والهدف منه هو توضيح تسلسل مجموعة من الخطوات تبدأ من Start وتنتهي عند End.

━━━━━━━━━━━━━━━━━━━
أولًا: Start
أول شكل في المخطط مكتوب بداخله:
Start
وتعني:
ابدأ
هذا الشكل يخبرنا أن الخوارزمية تبدأ من هنا.
أي أن الحاسوب عندما يبدأ تنفيذ هذه الخوارزمية، تكون هذه هي أول خطوة.
━━━━━━━━━━━━━━━━━━━
ثانيًا: السهم
بعد Start يوجد سهم متجه إلى الأسفل.
هذا السهم يوضح اتجاه سير الخوارزمية.
أي أنه يخبرنا أن الخطوة التي تأتي بعد Start هي الخطوة الموجودة أسفله مباشرة.
إذن المسار هنا هو:
Start
↓
الخطوة التالية.
━━━━━━━━━━━━━━━━━━━
ثالثًا: Enter or Read Hello
بعد السهم نجد شكل الإدخال والإخراج، وداخله مكتوب:
Enter or Read Hello
أي:
أدخل أو اقرأ Hello
هذه الخطوة تعني أن الخوارزمية تقوم بعملية إدخال أو قراءة كلمة Hello.
بمعنى أن البرنامج يحصل على القيمة:
Hello
وهذا هو الشيء الذي سيتم التعامل معه في الخطوة التالية.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا هذا الشكل؟
لأن هذه الخطوة الموجودة في المثال هي خطوة إدخال أو قراءة بيانات.
ولهذا تم استخدام رمز Input / Output في المخطط الانسيابي.
إذن عندما ترى هذا الشكل في المثال، تعرف أن الخطوة الموجودة بداخله تتعلق بـ:
إدخال أو قراءة البيانات.
━━━━━━━━━━━━━━━━━━━
رابعًا: السهم
بعد خطوة:
Enter or Read Hello
يوجد سهم آخر متجه إلى الأسفل.
وظيفته توضيح أن الخوارزمية تنتقل من خطوة قراءة Hello إلى الخطوة التالية.
إذن لدينا الآن:
Start
↓
Enter or Read Hello
↓
الخطوة التالية.
━━━━━━━━━━━━━━━━━━━
خامسًا: Print Hello
بعد السهم نجد شكلًا آخر مكتوب بداخله:
Print Hello
أي:
اطبع Hello
هذه الخطوة تعني أن الخوارزمية تقوم بطباعة أو عرض كلمة Hello.
إذن الكلمة التي تم قراءتها في الخطوة السابقة يتم طباعتها هنا.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا هذا الشكل؟
لأن Print Hello يمثل إخراجًا (Output).
أي أن البرنامج يعرض شيئًا كنتيجة للمستخدم.
وفي هذا المثال الشيء الذي يتم عرضه هو:
Hello
━━━━━━━━━━━━━━━━━━━
سادسًا: السهم
بعد Print Hello يوجد سهم متجه إلى الأسفل.
وهذا يعني أن الخوارزمية بعد الانتهاء من طباعة Hello تنتقل إلى الخطوة الأخيرة الموجودة أسفلها.
━━━━━━━━━━━━━━━━━━━
سابعًا: End
في نهاية المخطط يوجد الشكل البيضاوي المكتوب بداخله:
End
وتعني:
انتهى
وهذا يعني أن الخوارزمية وصلت إلى نهايتها.
لم تعد هناك خطوات أخرى بعد End.
━━━━━━━━━━━━━━━━━━━
الآن نقرأ المثال كاملًا
إذا تتبعنا الأسهم من الأعلى إلى الأسفل، يكون تنفيذ الخوارزمية بهذا الترتيب:
1- Start
تبدأ الخوارزمية.
↓
2- Enter or Read Hello
يتم إدخال أو قراءة Hello.
↓
3- Print Hello
يتم طباعة Hello.
↓
4- End
تنتهي الخوارزمية.
━━━━━━━━━━━━━━━━━━━
ماذا يخبرنا هذا المخطط بالكامل؟
المخطط يخبرنا ببساطة:
ابدأ → اقرأ Hello → اطبع Hello → انتهِ
وهذا هو كل ما يحدث في المثال.
━━━━━━━━━━━━━━━━━━━
وظيفة كل جزء في المثال
Start
بداية الخوارزمية.
━━━━━━━━━━━━━━━━━━━
السهم
يوضح اتجاه الانتقال بين الخطوات.
━━━━━━━━━━━━━━━━━━━
Enter or Read Hello
إدخال أو قراءة Hello.
━━━━━━━━━━━━━━━━━━━
السهم
الانتقال إلى خطوة الطباعة.
━━━━━━━━━━━━━━━━━━━
Print Hello
طباعة Hello.
━━━━━━━━━━━━━━━━━━━
السهم
الانتقال إلى نهاية الخوارزمية.
━━━━━━━━━━━━━━━━━━━
End
نهاية الخوارزمية.
━━━━━━━━━━━━━━━━━━━
الخلاصة
هذا المثال يوضح خوارزمية بسيطة تتكون من أربع خطوات أساسية:
Start → Enter or Read Hello → Print Hello → End
أي:
ابدأ → اقرأ Hello → اطبع Hello → انتهى.
والأسهم الموجودة بين الأشكال توضح لنا ترتيب تنفيذ هذه الخطوات من البداية إلى النهاية.
❤1
هل المثال السابق مفهوم؟
👍2
كم تريد ان ننشر في اليوم امثله؟
Anonymous Poll
0%
مثال واحد
0%
اكثر من مثال
50%
اكثر من 5 امثله
50%
من 1-3 مثال
🤝1
K7H Code
كم تريد ان ننشر في اليوم امثله؟
ارجوا من الجميع يصوت (الذي دخل يشوف الرسائل يصوت). لن تخسر شي
💯1
أولًا: ما المشكلة التي يحلها هذا المخطط؟
المخطط الموجود أمامنا يريد تنفيذ عملية واحدة واضحة:
الحصول على عددين A و B، ثم حساب مجموعهما، ثم طباعة المجموع.
أي أن لدينا عددين:
A
و
B
ثم نريد الحصول على:
sum = A + B
إذن الخوارزمية الموجودة في الصورة تتكون من هذه العمليات الأساسية:
بداية الخوارزمية.
إدخال العددين A و B.
حساب مجموع العددين.
طباعة المجموع.
نهاية الخوارزمية.
━━━━━━━━━━━━━━━━━━━
1- الشكل الأول: Start
في أعلى المخطط يوجد شكل بيضاوي مكتوب بداخله:
Start
ومعناها:
ابدأ
هذا الشكل يحدد بداية الخوارزمية.
أي أن هذا هو المكان الذي تبدأ منه الخوارزمية الموجودة في المثال.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا الشكل البيضاوي هنا؟
لأن الشكل البيضاوي في المخطط الانسيابي يسمى:
Terminator
ويستخدم لتمثيل:
بداية الخوارزمية أو نهايتها.
وفي هذا المثال استخدمناه في البداية لأننا نريد أن نوضح أن الخوارزمية تبدأ من هنا.
━━━━━━━━━━━━━━━━━━━
سؤال قد يخطر في بالك:
لماذا لم نستخدم المستطيل لكلمة Start؟
لأن لكل نوع من الخطوات رمزًا خاصًا به في المخطط الانسيابي.
كلمة Start لا تمثل عملية حسابية أو معالجة للبيانات.
هي تمثل بداية الخوارزمية، ولذلك نستخدم لها رمز البداية والنهاية، وهو الشكل البيضاوي الموجود في الصورة.
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
ماذا يعني Start بالضبط؟
لا يعني أن البرنامج قام بعملية حسابية.
ولا يعني أنه أدخل رقمًا.
إنما يعني فقط:
من هنا تبدأ الخوارزمية.
━━━━━━━━━━━━━━━━━━━
2- الشكل الثاني: Enter or Read number A and B
بعد ذلك نجد في الصورة شكلًا على هيئة متوازي أضلاع، ومكتوب بداخله:
Enter or Read number A and B
ومعناها:
أدخل أو اقرأ العددين A و B.
هذه الخطوة مسؤولة عن إدخال البيانات التي تحتاج إليها الخوارزمية.
والبيانات التي تحتاج إليها الخوارزمية هنا هي:
A
و
B
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا متوازي الأضلاع؟
لأن متوازي الأضلاع في المخطط الانسيابي يستخدم عادةً لتمثيل:
Input / Output
أي:
الإدخال / الإخراج
وفي هذا الجزء من المثال لدينا عملية إدخال، لذلك استخدمنا هذا الشكل.
━━━━━━━━━━━━━━━━━━━
ماذا يعني Input هنا؟
يعني أن الخوارزمية تحتاج إلى الحصول على قيم للمتغيرين:
A
و
B
حتى تستطيع تنفيذ عملية الجمع الموجودة في الخطوة التالية.
بمعنى أن A و B هما البيانات التي ستدخل إلى الخوارزمية.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
لماذا نحتاج إلى A و B؟
لأن الخوارزمية تريد حساب مجموع عددين.
ولا يمكن حساب مجموع عددين إذا لم نعرف العددين اللذين نريد جمعهما.
لذلك تم تحديد العدد الأول باسم:
A
والعدد الثاني باسم:
B
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
ماذا يعني A و B؟
في هذا المثال:
A يمثل العدد الأول.
و
B يمثل العدد الثاني.
وهما مجرد أسماء للبيانات التي ستدخل إلى الخوارزمية.
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
هل A و B هما أرقام فعلية؟
ليس في المخطط نفسه.
هما يمثلان متغيرين سيحمل كل واحد منهما قيمة عددية يتم إدخالها.
فمثلًا في تنفيذ الخوارزمية قد تكون قيمة A عددًا، وقيمة B عددًا آخر.
لكن في هذا المخطط نحن لا نحدد قيمًا معينة لهما، وإنما نقول إن الخوارزمية ستقرأ العددين A و B.
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
لماذا كتبنا A و B بدلًا من كتابة رقمين محددين؟
لأن الهدف من الخوارزمية هو أن تكون عامة.
أي أنها لا تعمل مع عددين محددين فقط، بل يمكنها التعامل مع قيم مختلفة للعددين A و B.
━━━━━━━━━━━━━━━━━━━
3- الشكل الثالث: sum = A + B
بعد إدخال العددين، نصل إلى الشكل الموجود في منتصف المخطط، وهو المستطيل.
ومكتوب بداخله:
sum = A + B
وهذه أهم خطوة حسابية في المثال.
━━━━━━━━━━━━━━━━━━━
ماذا يعني sum؟
كلمة:
sum
تعني:
المجموع
وهي هنا اسم لمتغير سيحتفظ بنتيجة عملية الجمع.
أي أن لدينا متغيرًا اسمه:
sum
وسنضع بداخله نتيجة:
A + B
━━━━━━━━━━━━━━━━━━━
ماذا تعني A + B؟
هذه عملية جمع.
أي أننا نأخذ قيمة A ونضيف إليها قيمة B.
ثم نضع النتيجة داخل المتغير:
sum
وبالتالي:
sum = A + B
تعني:
المجموع يساوي العدد A زائد العدد B.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا المستطيل؟
المستطيل في المخطط الانسيابي يمثل:
Process
أي:
عملية أو معالجة.
وهنا لدينا عملية واضحة، وهي:
A + B
لذلك استخدمنا المستطيل.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
لماذا تعتبر sum = A + B عملية؟
لأن الخوارزمية هنا تقوم بمعالجة البيانات التي حصلت عليها.
لدينا بيانات:
A
و
B
ثم يتم إجراء عملية حسابية عليهما للحصول على نتيجة.
إذن هذه الخطوة هي معالجة للبيانات، ولذلك تم وضعها داخل رمز العملية.
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
لماذا لم نضع sum = A + B داخل متوازي الأضلاع؟
لأن متوازي الأضلاع يستخدم للإدخال والإخراج.
أما:
sum = A + B
فهي ليست إدخالًا وليست إخراجًا.
إنها عملية حسابية.
لذلك استخدمنا المستطيل.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
ماذا يحدث للبيانات A و B هنا؟
يتم استخدام القيم الموجودة في:
A
و
B
في عملية الجمع.
ثم يتم تخزين نتيجة الجمع في:
sum
أي أن sum يصبح حاملًا لنتيجة العملية.
━━━━━━━━━━━━━━━━━━━
لماذا اسم المتغير هو sum؟
لأن كلمة:
sum
تعني المجموع.
وهذا يجعل اسم المتغير واضحًا وسهل الفهم.
أي عندما نرى:
sum
نعرف مباشرة أنه يمثل نتيجة الجمع.
━━━━━━━━━━━━━━━━━━━
4- الشكل الرابع: Print sum
بعد ذلك نجد شكلًا آخر على هيئة متوازي أضلاع.
ومكتوب بداخله:
Print
sum
أي:
اطبع المجموع.
━━━━━━━━━━━━━━━━━━━
ماذا يحدث في هذه الخطوة؟
بعد أن أصبحت نتيجة الجمع موجودة في المتغير:
sum
تقوم الخوارزمية بإخراج هذه النتيجة.
أي أنها تطبع قيمة:
sum
للمستخدم.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا متوازي الأضلاع مرة أخرى؟
لأن متوازي الأضلاع يستخدم في المخطط الانسيابي للإدخال والإخراج.
وفي هذه المرة لا توجد عملية إدخال.
بل لدينا:
Output
أي:
إخراج.
لذلك نستخدم نفس نوع الرمز.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
لماذا استخدمنا متوازي الأضلاع للإدخال والإخراج معًا؟
لأن هذا الرمز يمثل نوعين من العمليات:
Input
إدخال البيانات.
و
Output
إخراج البيانات.
في المثال:
Enter or Read number A and B
تمثل إدخالًا.
أما:
Print sum
فتمثل إخراجًا.
━━━━━━━━━━━━━━━━━━━
سؤال آخر:
لماذا نطبع sum وليس A + B؟
لأننا في الخطوة السابقة قمنا بحساب:
sum = A + B
وأصبحت نتيجة الجمع محفوظة في المتغير:
sum
لذلك عند الطباعة نطلب طباعة:
sum
وهو المتغير الذي يحتوي على النتيجة.
━━━━━━━━━━━━━━━━━━━
5- الشكل الأخير: End
في أسفل المخطط يوجد الشكل البيضاوي المكتوب بداخله:
End
ومعناه:
انتهى
وهذا يمثل نهاية الخوارزمية.
أي أن جميع العمليات المطلوبة في هذا المثال قد انتهت.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا الشكل البيضاوي مرة أخرى؟
لأن الشكل البيضاوي يستخدم لتمثيل:
البداية والنهاية.
في بداية المخطط استخدمناه مع:
Start
وفي نهاية المخطط استخدمناه مع:
End
إذن نفس نوع الشكل يمكن أن يمثل البداية أو النهاية، والعبارة المكتوبة بداخله تحدد المقصود.
━━━━━━━━━━━━━━━━━━━
سؤال مهم:
لماذا لا نستخدم المستطيل مع End؟
لأن End ليست عملية معالجة.
هي فقط تحدد أن الخوارزمية انتهت.
لذلك نستخدم رمز Terminator.
━━━━━━━━━━━━━━━━━━━
الآن نفهم المثال كاملًا
المثال الموجود في الصورة يقوم بالآتي:
Start
تبدأ الخوارزمية.
━━━━━━━━━━━━━━━━━━━
Enter or Read number A and B
يتم إدخال العددين:
A
و
B
━━━━━━━━━━━━━━━━━━━
sum = A + B
يتم حساب مجموع العددين وتخزين النتيجة في:
sum
━━━━━━━━━━━━━━━━━━━
Print sum
يتم طباعة قيمة المجموع الموجودة في:
sum
━━━━━━━━━━━━━━━━━━━
End
تنتهي الخوارزمية.
━━━━━━━━━━━━━━━━━━━
لماذا يوجد ثلاثة أنواع مختلفة من الأشكال في هذا المثال؟
لأن لدينا ثلاثة أنواع مختلفة من الخطوات.
الشكل البيضاوي:
يستخدم للبداية والنهاية.
وفي المثال لدينا:
Start
و
End
━━━━━━━━━━━━━━━━━━━
متوازي الأضلاع:
يستخدم للإدخال والإخراج.
وفي المثال لدينا:
Enter or Read number A and B
و
Print sum
━━━━━━━━━━━━━━━━━━━
المستطيل:
يستخدم للمعالجة أو تنفيذ العملية.
وفي المثال لدينا:
sum = A + B
━━━━━━━━━━━━━━━━━━━
سؤال مهم جدًا:
لماذا لا نستخدم شكلًا واحدًا لجميع الخطوات؟
لأننا نريد أن نعرف وظيفة كل خطوة بمجرد النظر إلى شكلها.
فعندما ترى الشكل البيضاوي تعرف أنه متعلق بالبداية أو النهاية.
وعندما ترى متوازي الأضلاع تعرف أن هناك إدخالًا أو إخراجًا.
وعندما ترى المستطيل تعرف أن هناك عملية أو معالجة.
وهذا يجعل قراءة المخطط وفهمه أسهل.
━━━━━━━━━━━━━━━━━━━
ما هي المدخلات في هذا المثال؟
المدخلات هي:
A
و
B
لأن الخوارزمية تحتاج إلى هذين العددين حتى تستطيع حساب المجموع.
━━━━━━━━━━━━━━━━━━━
ما هي المعالجة في هذا المثال؟
المعالجة هي:
sum = A + B
لأن الخوارزمية تقوم بعملية جمع العددين.
━━━━━━━━━━━━━━━━━━━
ما هو الإخراج في هذا المثال؟
الإخراج هو:
Print sum
أي طباعة نتيجة الجمع الموجودة في:
sum
━━━━━━━━━━━━━━━━━━━
ما هي بداية الخوارزمية؟
Start
━━━━━━━━━━━━━━━━━━━
ما هي نهاية الخوارزمية؟
End
━━━━━━━━━━━━━━━━━━━
سؤال أخير: ما الفكرة الأساسية التي يجب أن أفهمها من هذا المثال؟
لا تحفظ الأشكال فقط.
افهم ماذا يحدث داخل كل شكل:
Start
يعني أن الخوارزمية تبدأ.
━━━━━━━━━━━━━━━━━━━
Enter or Read number A and B
يعني أن الخوارزمية تحصل على العددين A و B.
━━━━━━━━━━━━━━━━━━━
sum = A + B
يعني أن الخوارزمية تعالج العددين عن طريق جمعهما، وتخزن النتيجة في sum.
━━━━━━━━━━━━━━━━━━━
Print sum
يعني أن الخوارزمية تعرض نتيجة الجمع.
━━━━━━━━━━━━━━━━━━━
End
يعني أن الخوارزمية انتهت.
━━━━━━━━━━━━━━━━━━━
الخلاصة
هذا المخطط الانسيابي يمثل عملية جمع عددين.
ويحتوي على ثلاثة رموز أساسية:
الشكل البيضاوي:
للبداية والنهاية.
متوازي الأضلاع:
للإدخال والإخراج.
المستطيل:
للعملية أو المعالجة.
وفي هذا المثال تحديدًا:
Start → بداية
Enter or Read number A and B → إدخال العددين
sum = A + B → حساب المجموع
Print sum → طباعة المجموع
End → نهاية
الفكرة بسيطة جدًا:
لدينا مستطيل، ونريد حساب مساحته.
ولكي نحسب المساحة، نحتاج إلى شيئين:
الطول 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
لعرض النتيجة.
والأهم من حفظ القانون أو حفظ المثال هو أن تفهم لماذا احتجنا إلى كل خطوة وماذا تفعل.
إذا فهمت هذه الطريقة، فستبدأ تدريجيًا في النظر إلى أي مسألة برمجية وتسأل:
ما الذي أحتاجه؟
ماذا سأفعل به؟
وما النتيجة التي أريد الحصول عليها؟
وهنا يبدأ التفكير البرمجي الحقيقي.
لا تكتفِ بالقراءة فقط.

قد تقرأ المثال، وتفهم الشرح، وتقول لنفسك:

«فهمت... الموضوع سهل.»

لكن انتبه...

إحساسك بأنك فهمت لا يعني أنك أتقنت.

أحيانًا عقلك يجعلك تشعر أنك فهمت الفكرة لمجرد أنك رأيتها وقرأت طريقة حلها.

لكن عندما تحاول حل مشكلة جديدة بنفسك...

قد تكتشف أنك لا تعرف من أين تبدأ!

وهنا يظهر الفرق بين "الفهم" و"الإتقان".

البرمجة لا تُتعلم بالمشاهدة والقراءة فقط.

تتعلم البرمجة عندما تحاول، تخطئ، تفكر، وتعيد المحاولة.

لذلك بعد أن تنتهي من أي مثال...

لا تغلق الصفحة وتنتقل إلى المثال التالي.

خذ نفس الفكرة، وابحث عن مسألة أخرى مختلفة قليلًا، وحاول حلها بنفسك دون النظر إلى الحل.

قد تتوقف...
قد تخطئ...
قد تشعر أن الأمر صعب...

وهذا طبيعي.

بل هذا هو الجزء الحقيقي من التعلم.

كل مشكلة تحاول حلها تجعل عقلك يتدرب أكثر على التفكير المنطقي، ومع الوقت ستلاحظ شيئًا جميلًا:

المشكلات التي كانت تحتاج منك وقتًا طويلًا...

ستبدأ بحلها بسهولة أكبر.

والمفاهيم التي كنت تنساها...

ستبدأ في تذكرها لأنك استخدمتها بيدك، وليس لأنك قرأتها فقط.

لا تحتاج إلى ساعات إضافية.

حتى لو أخذت منك المسألة 20 دقائق فقط...

استثمر هذه الدقائق في محاولة حقيقية.

لأن 20 دقائق من التفكير والمحاولة قد تكون أفضل من ساعة كاملة من المشاهدة.

لا تجعل الكود يمر أمام عينيك فقط... اجعله يمر من خلال عقلك ويديك.

وتذكر دائمًا:

اقرأ → افهم → جرّب → أخطئ → صحّح → كرر.

هكذا تتحول المعرفة من شيء قرأته...

إلى مهارة تستطيع استخدامها.

هذه ليست مجرد نصيحة عابرة تقرأها ثم تنساها.

هذه نصيحة أقولها لك من قلبي:
إذا كنت تريد أن تصبح مبرمجًا فعلًا... لا تكتفِ بأن تفهم الحل، حاول أن تصل إليه بنفسك.
❤1💯1
K7H Code pinned «لا تكتفِ بالقراءة فقط. قد تقرأ المثال، وتفهم الشرح، وتقول لنفسك: «فهمت... الموضوع سهل.» لكن انتبه... إحساسك بأنك فهمت لا يعني أنك أتقنت. أحيانًا عقلك يجعلك تشعر أنك فهمت الفكرة لمجرد أنك رأيتها وقرأت طريقة حلها. لكن عندما تحاول حل مشكلة جديدة بنفسك...…»
هل تحب اعطي نص السؤال فقط و من بعدها الشخص يحاول بنفسه . و بعد الانتهاء من المحاولات ارسل الحل
Anonymous Poll
100%
اريد المحاولة اولاً بنفسي
0%
اريد الحل مباشره (السؤال مع الحل)
اكتب خوارزميه باستخدام المخطط الانسيابي لحساب ٣ اعداد يدخلها المستخدم و طباعه ناتج الجمع . الذي كتب الحل يتفاعل
☃1💯1
أولًا: ماذا يريد البرنامج أن يفعل؟
قبل أن نفكر في أي كود أو رموز، نفهم المشكلة نفسها.
المطلوب هو:
إدخال ثلاثة أعداد → جمع الأعداد الثلاثة → عرض المجموع.
إذن لدينا ثلاثة أشياء أساسية:
المدخلات:
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
انتهاء الخوارزمية.
━━━━━━━━━━━━━━━━━━━
لا تحفظ الصورة... افهمها.
عندما ترى مسألة مثل هذه، لا تسأل نفسك:
"ما الكود الذي أحفظه؟"
بل اسأل:
ما المطلوب؟
ما البيانات التي أحتاج إليها؟
ما العملية التي سأجريها؟
ما النتيجة التي أريد الحصول عليها؟
إذا استطعت الإجابة عن هذه الأسئلة، فأنت بدأت تفكر كمبرمج، وليس كشخص يحفظ أكوادًا ومسائل.



#خوارزميات_من_الصفر
نصيحة من أخ لأخوه... اسمعها مني وطبقها بيدك.

لا تستسهل الدرس لمجرد إنك فهمت المثال قدامك.

خصوصًا في الخوارزميات والمخططات الانسيابية.

لا تكتفي إنك تشوف طريقة الحل وتقول:
"خلاص، فهمت."

خذ الورقة والقلم وحاول تحل بنفسك.

ارسم المخطط الانسيابي من البداية، وفكر:
وش أول خطوة؟
وش بعدها؟
وين القرار؟
وش بيصير إذا تحقق الشرط؟
وش بيصير إذا ما تحقق؟

وإذا غلطت؟

عادي جدًا. لا تخاف من الخطأ.

الغلط مو دليل إنك ما تفهم...
الغلط هو اللي يعلمك وين المشكلة وكيف تصلحها.

حاول مرة...
ومرتين...
وثلاث...
وأربع...
وحتى عشر مرات إذا احتجت.

لا تستعجل وتروح للذكاء الاصطناعي من أول ما تواجهك مشكلة.

جرب بنفسك أول.

فكر، جرّب، اخطئ، عدّل، وحاول من جديد.

لأنك إذا خليت الذكاء الاصطناعي يحل لك كل شيء من البداية، ممكن تعرف الإجابة...

لكن ما تتعلم كيف توصل لها بنفسك.

وأنت الآن تتعلم أهم مهارة في البرمجة:

طريقة التفكير وحل المشكلات.

فلا تستعجل النتيجة.

خل عقلك يتعب شوي...
خلّه يحاول...
خلّه يخطئ...
لأن مع كل محاولة أنت قاعد تقوّي طريقة تفكيرك.

والله إن اللي بيطبق بيده، وبيحل بنفسه، بعد فترة بيرجع يدعي لي.

خذها مني نصيحة من أخ لأخوه:

لا تقرأ الدرس فقط... طبّق.
لا تشوف الحل فقط... حاول تحله.
لا تخاف من الخطأ... تعلّم منه.
ولا تستسلم من أول محاولة... كرر حتى تضبط معك.

التعلم الحقيقي يبدأ لما تقفل الحل وتقول:
"خلني أجرب أحلها بنفسي."



#نصيحة
💯2❤1