K7H Code
192 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
نص السؤال اكتب خوارزمية لبرنامج يقوم بايجاد اكبر(قيمه) عدد من بين ثلاث قيم مدخله.باستخدام المخطط الانسيابي
1. فهم السؤال
لدينا ثلاث قيم يدخلها المستخدم:
A ، B ، C
والمطلوب أن نقارن بينها، وفي النهاية نطبع أكبر قيمة.
مثلاً إذا كانت:
A = 10
B = 25
C = 15
فالنتيجة ستكون:
Max = 25
ــــــــــــــــــــــــــــــــــــــــ
2. كيف حددنا المدخلات؟
نسأل أنفسنا:
ما الأشياء التي يعطيها المستخدم للبرنامج؟
السؤال يقول:
"من بين ثلاث قيم مدخله"
إذن المستخدم سيدخل 3 قيم.
لذلك المدخلات هي:
A ، B ، C
ثم نحتاج متغيرًا إضافيًا اسمه Max حتى نحتفظ بأكبر قيمة نصل إليها أثناء المقارنة.
ــــــــــــــــــــــــــــــــــــــــ
3. نبدأ بـ Max = A
في البداية نقول:
Max = A
أي أننا نفترض مؤقتًا أن A هي الأكبر.
لماذا؟
لأننا نحتاج قيمة نبدأ المقارنة بها.
بعد ذلك نقارن Max مع B و C.
ــــــــــــــــــــــــــــــــــــــــ
4. المقارنة الأولى
في المخطط نجد:
Max == B && Max == C
أي:
هل Max تساوي B و Max تساوي C؟
إذا كانت الإجابة Yes فهذا يعني:
A = B = C
أي أن القيم الثلاث متساوية، ولذلك يذهب المخطط إلى:
All equals
ــــــــــــــــــــــــــــــــــــــــ
5. إذا لم تكن القيم الثلاث متساوية
إذا كانت الإجابة No، ننتقل إلى:
Max > B
أي:
هل Max أكبر من B؟
إذا كانت الإجابة No فهذا يعني أن B أكبر من Max، وبالتالي يجب أن تصبح:
Max = B
ثم نكمل المقارنة مع C.
ــــــــــــــــــــــــــــــــــــــــ
6. مقارنة Max مع C
بعد ذلك نجد:
Max > C
إذا كانت Yes فهذا يعني أن Max أكبر من C، وبالتالي تبقى قيمة Max كما هي.
أما إذا كانت No فهذا يعني أن C أكبر من Max، ولذلك نكتب:
Max = C
ثم في النهاية:
Print Max
أي نطبع أكبر قيمة.
ــــــــــــــــــــــــــــــــــــــــ
مثال سريع
لو أدخلنا:
A = 15
B = 20
C = 12
نبدأ:
Max = A = 15
نقارن مع B:
15 > 20 → No
إذن:
Max = B = 20
ثم نقارن مع C:
20 > 12 → Yes
إذن تبقى:
Max = 20
والنتيجة:
Print Max → 20
ــــــــــــــــــــــــــــــــــــــــ
أسئلة مهمة قد تخطر في بالك
كيف أعرف عدد المدخلات؟
من نص السؤال: قال "ثلاث قيم"، إذن لدينا 3 مدخلات.
ــــــــــــــــــــــــــــــــــــــــ
لماذا لدينا Max؟
لأننا نحتاج متغيرًا يحتفظ بأكبر قيمة وجدناها أثناء المقارنة.
ــــــــــــــــــــــــــــــــــــــــ
هل Max مدخل؟
لا.
A وB وC هي المدخلات، أما Max فهو متغير يتم حسابه داخل الخوارزمية.
ــــــــــــــــــــــــــــــــــــــــ
كيف أعرف ماذا أطبع؟
السؤال يطلب إيجاد أكبر قيمة، لذلك في النهاية نطبع Max.
ــــــــــــــــــــــــــــــــــــــــ
ماذا لو كانت القيم الثلاث متساوية؟
يظهر المسار All equals، لأن A وB وC لها نفس القيمة.
ــــــــــــــــــــــــــــــــــــــــ
الخلاصة
طريقة التفكير في هذا السؤال هي:
أدخل 3 قيم → اجعل Max تساوي A → قارنها مع B → قارنها مع C → احتفظ بالأكبر → اطبع Max.
وهذه الفكرة مهمة جدًا؛ لأنك ستستخدمها لاحقًا في مسائل إيجاد الأكبر أو الأصغر بين عدة أرقام.


#خوارزميات_من_الصفر
❤1
1⃣1️⃣ اكتب خوارزمية لبرنامج يقوم بحساب فاتورة الكهرباء حسب القواعد التالية :

١. اول خمسين كيلو الكهرباء بـ 1000 ريال

٢. ما زاد عن خمسين كيلو إلى 100 كيلو سعر الكيلو بـ 800 ريال

٣. ما زلد عن 100 كيلو سعر الكيلو بـ 750 ريال
❤1
👆👆👆
━━━━━━━━━━━━━━━━━━━
مثال: حساب فاتورة الكهرباء
نص السؤال:
اكتب خوارزمية لبرنامج يقوم بحساب فاتورة الكهرباء حسب القواعد التالية:
أول 50 كيلو الكهرباء بـ 1000 ريال.
ما زاد عن 50 كيلو إلى 100 كيلو سعر الكيلو بـ 800 ريال.
ما زاد عن 100 كيلو سعر الكيلو بـ 750 ريال.
━━━━━━━━━━━━━━━━━━━
1. فهم السؤال
المطلوب من البرنامج هو حساب قيمة فاتورة الكهرباء بناءً على عدد الكيلوات التي تم استهلاكها.
بمعنى أن المستخدم سيعطي البرنامج عدد الكيلوات، والبرنامج يحدد سعر الكيلو المناسب حسب كمية الاستهلاك، ثم يحسب قيمة الفاتورة.
لدينا ثلاث حالات:
إذا كان الاستهلاك 50 كيلو أو أقل → السعر 1000 ريال.
إذا كان الاستهلاك أكبر من 50 وحتى 100 → السعر 800 ريال.
إذا كان الاستهلاك أكبر من 100 → السعر 750 ريال.
━━━━━━━━━━━━━━━━━━━
2. تحديد المدخلات والمخرجات
المدخل Input
نسأل أنفسنا:
ما المعلومة التي يحتاج البرنامج إلى معرفتها حتى يستطيع حساب الفاتورة؟
الإجابة:
عدد الكيلوات المستهلكة.
لذلك لدينا متغير واحد:
Kilos
وهو يمثل عدد الكيلوات.
مثلاً:
Kilos = 40
أي أن المستخدم استهلك 40 كيلو.
━━━━━━━━━━━━━━━━━━━
المخرج Output
ماذا يريد البرنامج في النهاية؟
يريد معرفة قيمة الفاتورة.
لذلك نستخدم المتغير:
Cost
وهو يمثل تكلفة الكهرباء.
إذن:
Input:
Kilos
Output:
Cost
━━━━━━━━━━━━━━━━━━━
3. كيف نعرف الشروط؟
ننظر إلى نص السؤال ونبحث عن الأماكن التي تغير فيها السعر.
السؤال أعطانا ثلاث حالات:
الحالة الأولى:
50 كيلو أو أقل.
إذن:
Kilos <= 50
━━━━━━━━━━━━━━━━━━━
الحالة الثانية:
أكبر من 50 وحتى 100.
إذن:
Kilos > 50 && Kilos <= 100
━━━━━━━━━━━━━━━━━━━
الحالة الثالثة:
أكبر من 100.
إذن:
Kilos > 100
━━━━━━━━━━━━━━━━━━━
إذن نحتاج إلى شرطين داخل المخطط حتى نصل إلى الحالات الثلاث.
الشرط الأول:
Kilos <= 50
إذا كانت الإجابة No، نذهب للشرط الثاني:
Kilos > 50 && Kilos <= 100
وإذا كانت الإجابة No أيضًا، فهذا يعني تلقائيًا أن:
Kilos > 100
━━━━━━━━━━━━━━━━━━━
4. شرح الحالات
الحالة الأولى: 50 كيلو أو أقل
الشرط:
Kilos <= 50
إذا تحقق الشرط، فهذا يعني أن كمية الاستهلاك لا تتجاوز 50 كيلو.
وسعر الكيلو في هذه الحالة:
1000 ريال
لذلك:
Cost = Kilos × 1000
مثال:
إذا كان:
Kilos = 40
نحسب:
Cost = 40 × 1000
إذن:
Cost = 40000 ريال
━━━━━━━━━━━━━━━━━━━
الحالة الثانية: أكثر من 50 وحتى 100
الشرط:
Kilos > 50 && Kilos <= 100
إذا تحقق هذا الشرط، فهذا يعني أن عدد الكيلوات أكبر من 50، ولكنه لا يتجاوز 100.
في هذه الحالة سعر كل كيلو هو:
800 ريال
لذلك:
Cost = Kilos × 800
مثال:
إذا كان:
Kilos = 70
فإن:
Cost = 70 × 800
إذن:
Cost = 56000 ريال
لاحظ هنا أننا لا نحسب أول 50 بسعر 1000 ثم الباقي بسعر 800، لأن هذا السؤال يحدد سعر الكيلو كاملًا حسب الفئة التي وصلت إليها كمية الاستهلاك.
━━━━━━━━━━━━━━━━━━━
الحالة الثالثة: أكثر من 100
إذا لم يتحقق الشرط الثاني، فهذا يعني أن:
Kilos > 100
وفي هذه الحالة يصبح سعر كل كيلو:
750 ريال
لذلك:
Cost = Kilos × 750
مثال:
إذا كان:
Kilos = 120
فإن:
Cost = 120 × 750
إذن:
Cost = 90000 ريال
━━━━━━━━━━━━━━━━━━━
5. قراءة المخطط خطوة بخطوة
الآن نقرأ المخطط الموجود في الصورة من الأعلى إلى الأسفل.
نبدأ:
Start
أي بداية تنفيذ الخوارزمية.
↓
ثم:
Enter Kilos
أي ندخل عدد الكيلوات المستهلكة.
↓
بعد ذلك نصل إلى الشرط:
Kilos <= 50
━━━━━━━━━━━━━━━━━━━
إذا كانت الإجابة Yes
هذا يعني:
Kilos <= 50
إذن نستخدم:
Cost = Kilos × 1000
ثم ننتقل إلى:
Print Cost
أي طباعة قيمة الفاتورة.
↓
ثم:
End
━━━━━━━━━━━━━━━━━━━
إذا كانت الإجابة No
هذا يعني أن:
Kilos > 50
لذلك ننتقل إلى الشرط الثاني:
Kilos > 50 && Kilos <= 100
━━━━━━━━━━━━━━━━━━━
إذا كانت الإجابة Yes
هذا يعني أن الكمية أكبر من 50 ولا تتجاوز 100.
إذن:
Cost = Kilos × 800
ثم:
Print Cost
وبعد ذلك:
End
━━━━━━━━━━━━━━━━━━━
إذا كانت الإجابة No
بما أننا عرفنا مسبقًا أن:
Kilos > 50
والشرط الثاني لم يتحقق، فهذا يعني أن:
Kilos > 100
لذلك:
Cost = Kilos × 750
ثم:
Print Cost
وبعدها:
End
━━━━━━━━━━━━━━━━━━━
6. مقارنة المخطط بالسؤال
المخطط الموجود في الصورة يستخدم:
Kilos <= 50
ثم:
Kilos > 50 && Kilos <= 100
ثم:
Kilos × 750
للكمية التي تتجاوز 100.
وهذا يتوافق مع طريقة الحساب التي فهمناها من المخطط:
50 أو أقل → × 1000
أكثر من 50 وحتى 100 → × 800
أكثر من 100 → × 750

━━━━━━━━━━━━━━━━━━━
7. أسئلة المبتدئ
❤1
س: كيف عرفت أن Kilos هو المدخل؟
ج: لأن المستخدم هو الذي يعطي البرنامج عدد الكيلوات المستهلكة.
━━━━━━━━━━━━━━━━━━━
س: كيف عرفت أن Cost هو المخرج؟
ج: لأن البرنامج هو الذي يحسب قيمة الفاتورة، ثم يطبعها للمستخدم.
━━━━━━━━━━━━━━━━━━━
س: لماذا نحتاج شرطين وليس ثلاثة؟
ج: لأن الشرط الأول يقسم الحالة الأولى عن باقي الحالات، والشرط الثاني يميز الحالة الثانية عن الثالثة. لذلك نستطيع الحصول على ثلاث حالات باستخدام شرطين فقط.
━━━━━━━━━━━━━━━━━━━
س: ماذا يعني Kilos <= 50؟
ج: يعني أن عدد الكيلوات أقل من أو يساوي 50.
أي مثل:
30 أو 50
لكن ليس:
51
━━━━━━━━━━━━━━━━━━━
س: ماذا يعني Kilos > 50 && Kilos <= 100؟
ج: يعني أن الكمية يجب أن تحقق الشرطين معًا:
أكبر من 50.
وأقل من أو تساوي 100.
مثل:
51، 70، 90، 100
━━━━━━━━━━━━━━━━━━━
س: ماذا يحدث إذا كانت Kilos = 50؟
ج: تدخل في الحالة الأولى:
50 × 1000
━━━━━━━━━━━━━━━━━━━
س: ماذا يحدث إذا كانت Kilos = 100؟
ج: حسب المخطط، تدخل في الحالة الثانية لأن الشرط هو:
Kilos <= 100
وبالتالي:
100 × 800 = 80000
━━━━━━━━━━━━━━━━━━━
س: ماذا يحدث إذا كانت Kilos = 101؟
ج: تدخل في الحالة الثالثة لأن:
101 > 100
وبالتالي:
101 × 750
━━━━━━━━━━━━━━━━━━━
س: لماذا في الحالة الثانية نستخدم Kilos × 800؟
ج: لأن السؤال هنا يجعل سعر الكيلو 800 ريال عندما تكون كمية الاستهلاك ضمن هذه الفئة، لذلك نحسب كامل الكمية بسعر 800.
━━━━━━━━━━━━━━━━━━━
س: هل أحتاج إلى حفظ العمليات الحسابية؟
ج: لا. افهم أولًا كيف قسمت المسألة كمية الاستهلاك إلى ثلاث حالات، وبعد ذلك اكتب العملية حسب السعر الموجود في كل حالة.
━━━━━━━━━━━━━━━━━━━
8. الخلاصة
عندما تواجه مسألة مشابهة، لا تبدأ برسم المخطط مباشرة.
ابدأ بهذه الأسئلة:
1. ماذا سيدخل المستخدم؟
→ Kilos
2. ماذا أريد أن أخرج؟
→ Cost
3. كم حالة عندي؟
→ 3 حالات.
4. ما شروط الحالات؟
→ Kilos <= 50
→ Kilos > 50 && Kilos <= 100
→ Kilos > 100
5. ما العملية في كل حالة؟
→ Cost = Kilos × 1000
→ Cost = Kilos × 800
→ Cost = Kilos × 750
وبعد ذلك توصل كل حالة إلى:
Print Cost
ثم:
End
━━━━━━━━━━━━━━━━━━━
لا تحفظ المخطط كصورة، بل تقرأ قواعد السؤال → تحدد المدخلات والمخرجات → تستخرج الحالات → تكتب العملية لكل حالة → ثم ترسم المخطط.


#خوارزميات_من_الصفر
K7H Code
Loops
مقدمة إلى جمل الدوران (Loops) في الخوارزميات والمخططات الانسيابية
بعد أن تعلمنا في الدروس السابقة كيفية فهم المشكلة، وتحديد المدخلات والمخرجات، واستخدام الشروط، وتحويل خطوات الحل إلى خوارزمية ومخطط انسيابي، ننتقل الآن إلى مفهوم مهم جدًا في البرمجة والخوارزميات، وهو جمل الدوران أو التكرار (Loops).
━━━━━━━━━━━━━━━━━━━
ما المقصود بجمل الدوران؟
جمل الدوران هي طريقة تجعل البرنامج يكرر مجموعة من الخطوات أكثر من مرة بدلًا من كتابة الخطوات نفسها بشكل متكرر.
بمعنى أبسط:
بدل أن نقول للبرنامج:
نفذ هذه الخطوة، ثم نفذها مرة أخرى، ثم مرة أخرى، ثم مرة أخرى...
نستطيع استخدام جملة دوران تخبر البرنامج:
كرر هذه الخطوات طالما أن الشرط المطلوب متحقق.
━━━━━━━━━━━━━━━━━━━
لماذا نحتاج إلى جمل الدوران؟
أثناء حل المسائل، قد نحتاج إلى تنفيذ نفس العملية عدة مرات.
وهنا تظهر أهمية جمل الدوران؛ لأنها تساعدنا على:
تكرار العمليات بسهولة.
تقليل عدد الخطوات المكتوبة.
جعل الخوارزمية أكثر تنظيمًا.
تنفيذ عملية عددًا محددًا من المرات.
الاستمرار في التكرار طالما أن شرطًا معينًا متحقق.
━━━━━━━━━━━━━━━━━━━
كيف تعمل فكرة الدوران؟
فكرة الدوران تعتمد بشكل أساسي على ثلاثة أشياء:
بداية التكرار
نعرف من أين تبدأ العملية.
شرط التكرار
نحدد متى يستمر التكرار ومتى يتوقف.
تحديث أو تغيير الحالة
يحدث تغيير أثناء التكرار حتى لا تستمر العملية إلى ما لا نهاية.
━━━━━━━━━━━━━━━━━━━
ما علاقة الدوران بالمخطط الانسيابي؟
في المخطط الانسيابي، يظهر التكرار عندما يكون لدينا مسار يعود إلى خطوة سابقة.
وهذا المسار يجعل مجموعة من الخطوات تُنفذ مرة أخرى بدل الانتقال مباشرة إلى نهاية الخوارزمية.
لذلك عندما ترى في مخطط انسيابي مسارًا يعود إلى خطوة سابقة، فغالبًا أنت أمام عملية تكرار (Loop).
━━━━━━━━━━━━━━━━━━━
هل جميع جمل الدوران تعمل بالطريقة نفسها؟
لا.
هناك أكثر من طريقة لتنفيذ التكرار، والاختلاف بينها يكون في متى يتم فحص الشرط وكيف يبدأ التكرار ومتى يتوقف.
وسنتعرف في الدروس القادمة على أنواع جمل الدوران وكيفية استخدامها وتمثيلها داخل الخوارزميات والمخططات الانسيابية.
━━━━━━━━━━━━━━━━━━━
أسئلة قد تخطر في ذهنك
س: هل جملة الدوران تعني أن البرنامج سيكرر إلى الأبد؟
ج: لا. التكرار يجب أن يكون له طريقة واضحة للتوقف، وإلا قد تحدث حلقة لا نهائية (Infinite Loop).
━━━━━━━━━━━━━━━━━━━
س: هل أحتاج إلى حفظ أنواع جمل الدوران؟
ج: لا تبدأ بالحفظ. الأهم أن تفهم فكرة التكرار ومتى نحتاج إليه، وبعد ذلك ستصبح أنواع الحلقات أسهل في الفهم.
━━━━━━━━━━━━━━━━━━━
س: هل الدوران يستخدم في البرمجة فقط؟
ج: لا، فهو مفهوم أساسي في الخوارزميات والمخططات الانسيابية والبرمجة؛ لأن فكرة تكرار الخطوات يمكن تمثيلها قبل كتابة أي كود.
━━━━━━━━━━━━━━━━━━━
الخلاصة
جمل الدوران هي وسيلة لتكرار مجموعة من الخطوات بدل تنفيذها وكتابتها مرة بعد مرة.
وفكرة الدرس القادمة ستكون بسيطة:
متى نحتاج إلى التكرار؟
كيف نحدد عدد مرات التكرار؟
متى يستمر التكرار؟
ومتى يتوقف؟
بعد فهم هذه الفكرة، سنبدأ بدراسة أنواع جمل الدوران وكيف نمثلها في الخوارزميات والمخططات الانسيابية.
━━━━━━━━━━━━━━━━━━━
#خوارزميات_من_الصفر
اكتب خوارزمية لبرنامج يقوم بطباعه الاعداد من 1 إلى 10
❤1
K7H Code
اكتب خوارزمية لبرنامج يقوم بطباعه الاعداد من 1 إلى 10
━━━━━━━━━━━━━━━━━━━
خوارزمية طباعة الأعداد من 1 إلى 10
أولًا: فهم السؤال
السؤال يقول:
اكتب خوارزمية لبرنامج يقوم بطباعة الأعداد من 1 إلى 10.
ماذا يريد منا البرنامج؟
نريد أن تكون النتيجة:
1
2
3
4
5
6
7
8
9
10
لاحظ أن هناك شيئًا يتكرر:
نحن نطبع رقمًا، ثم ننتقل إلى الرقم الذي بعده، ونستمر في ذلك حتى نصل إلى الرقم 10.
إذن هذه المسألة مناسبة جدًا لاستخدام جملة دوران (Loop).
━━━━━━━━━━━━━━━━━━━
ثانيًا: كيف أحدد المدخلات والمخرجات؟
هل يوجد Input؟
لا.
البرنامج لا يحتاج من المستخدم أن يدخل أي رقم.
لماذا؟
لأن السؤال حدد لنا البداية والنهاية بنفسه:
البداية = 1
النهاية = 10
لذلك لا نحتاج إلى Read أو Input.
━━━━━━━━━━━━━━━━━━━
هل يوجد Output؟
نعم.
لأن السؤال يقول:
"يقوم بطباعة الأعداد من 1 إلى 10"
إذن الناتج الذي سيظهر للمستخدم هو الأعداد:
1 2 3 4 5 6 7 8 9 10
━━━━━━━━━━━━━━━━━━━
ثالثًا: ما المتغير الذي نحتاجه؟
نحتاج متغيرًا نستخدمه لتتبع الرقم الحالي.
سنسمّيه:
i
ونعطيه في البداية القيمة:
i = 1
لماذا بدأنا بـ 1؟
لأن السؤال طلب الطباعة من 1 إلى 10.
إذن أول رقم نريد طباعته هو 1.
━━━━━━━━━━━━━━━━━━━
رابعًا: كيف أعرف أنني أحتاج إلى Loop؟
هنا سؤال مهم جدًا للمبتدئ:
كيف أعرف أن المسألة تحتاج إلى جملة دوران؟
ابحث في السؤال عن شيء مطلوب أن يتكرر.
في سؤالنا نريد:
طباعة 1
طباعة 2
طباعة 3
...
طباعة 10
بدل أن نكتب أمر الطباعة عشر مرات، نستطيع أن نجعل البرنامج يكرر نفس العملية.
إذن لدينا:
تكرار + بداية + نهاية
وهذه علامة واضحة على أننا نحتاج إلى Loop.
━━━━━━━━━━━━━━━━━━━
خامسًا: كيف أحدد شرط التكرار؟
نريد أن نطبع الأعداد حتى 10.
إذن نسأل أنفسنا:
متى أستمر في التكرار؟
طالما أن الرقم الحالي أصغر من أو يساوي 10.
لذلك يكون الشرط:
i <= 10
أي:
هل قيمة i أصغر من أو تساوي 10؟
إذا كانت الإجابة نعم → نطبع الرقم.
إذا كانت الإجابة لا → نتوقف.
━━━━━━━━━━━━━━━━━━━
سادسًا: ماذا يحدث داخل التكرار؟
داخل التكرار لدينا خطوتان أساسيتان:
1. طباعة الرقم
Print i
2. زيادة الرقم
i = i + 1
لماذا نزيد i؟
لأننا إذا طبعنا الرقم ولم نغير قيمته، فستبقى قيمة i كما هي، وسيستمر البرنامج في طباعة نفس الرقم إلى ما لا نهاية.
مثلاً:
i = 1
Print i
Print i
Print i
Print i
...
سيطبع:
1
1
1
1
...
لذلك نحتاج إلى:
i = i + 1
حتى ننتقل من:
1 → 2 → 3 → 4 → ... → 10
━━━━━━━━━━━━━━━━━━━
سابعًا: قراءة المخطط الانسيابي خطوة بخطوة
الآن نقرأ المخطط الموجود في الصورة من البداية.
الخطوة 1: Start
نبدأ تنفيذ الخوارزمية.
↓
الخطوة 2: i = 1
نعطي المتغير i القيمة:
i = 1
الآن الرقم الحالي هو 1.
↓
الخطوة 3: فحص الشرط
نسأل:
i <= 10 ?
في البداية:
1 <= 10
الإجابة:
نعم.
↓
الخطوة 4: Print i
بما أن الشرط صحيح، نطبع قيمة i.
الناتج:
1
↓
الخطوة 5: i = i + 1
نزيد قيمة i بمقدار واحد:
i = 1 + 1
فتصبح:
i = 2
↓
ثم نرجع مرة أخرى إلى الشرط:
i <= 10
━━━━━━━━━━━━━━━━━━━
ثامنًا: ماذا يحدث في كل دورة؟
يمكننا تتبع البرنامج بهذا الشكل:
قيمة i
الشرط i <= 10
العملية
1
صحيح
يطبع 1
2
صحيح
يطبع 2
3
صحيح
يطبع 3
4
صحيح
يطبع 4
5
صحيح
يطبع 5
6
صحيح
يطبع 6
7
صحيح
يطبع 7
8
صحيح
يطبع 8
9
صحيح
يطبع 9
10
صحيح
يطبع 10
11
خطأ
يتوقف
لاحظ ماذا حدث:
كل مرة:
فحص الشرط
↓
طباعة الرقم
↓
زيادة الرقم
↓
العودة للشرط
وهذا هو مفهوم التكرار.
━━━━━━━━━━━━━━━━━━━
تاسعًا: ماذا يحدث عندما تصبح i = 11؟
بعد طباعة الرقم 10، يتم تنفيذ:
i = i + 1
فتصبح:
i = 11
ثم نرجع إلى الشرط:
i <= 10
أي:
11 <= 10
النتيجة:
خطأ.
لذلك لا ندخل إلى الطباعة مرة أخرى، وننتقل إلى:
End
وبذلك تنتهي الخوارزمية.
━━━━━━━━━━━━━━━━━━━
عاشرًا: الخوارزمية كاملة
Start

i = 1

While i <= 10

Print i

i = i + 1

End While

End
أو بصيغة خطوات:
1. Start
2. i = 1
3. إذا كان i <= 10
4. اطبع i
5. i = i + 1
6. ارجع إلى الخطوة 3
7. إذا كان الشرط خطأ، انتقل إلى End
8. End
━━━━━━━━━━━━━━━━━━━
أسئلة مهمة للمبتدئ
كيف عرفت أن i تبدأ من 1؟
لأن السؤال قال: من 1 إلى 10.
إذن أول رقم يجب طباعته هو 1.
━━━━━━━━━━━━━━━━━━━
كيف عرفت أن الشرط هو i <= 10؟
لأننا نريد الاستمرار في الطباعة حتى الرقم 10.
لذلك نسمح بالتكرار عندما تكون i:
1، 2، 3، ...، 10
وعندما تصبح 11 نتوقف.
━━━━━━━━━━━━━━━━━━━
لماذا استخدمنا <= وليس <؟
لو كتبنا:
i < 10
فعندما تصل i إلى 10 يصبح:
10 < 10
وهذا خطأ، وبالتالي لن تتم طباعة 10.
لذلك نستخدم:
❤1👍1
K7H Code
اكتب خوارزمية لبرنامج يقوم بطباعه الاعداد من 1 إلى 10
i <= 10
حتى يتم طباعة الرقم 10.
━━━━━━━━━━━━━━━━━━━
لماذا نستخدم i = i + 1؟
حتى ننتقل إلى الرقم التالي:
1 → 2 → 3 → 4 → ... → 10
وحتى يصل البرنامج في النهاية إلى حالة توقف.
━━━━━━━━━━━━━━━━━━━
ماذا يحدث لو نسيت i = i + 1؟
ستبقى قيمة i تساوي 1، وسيظل الشرط:
1 <= 10
صحيحًا دائمًا.
وبالتالي سيستمر البرنامج في طباعة:
1
1
1
1
1
...
وهذا يسمى تكرارًا لا نهائيًا (Infinite Loop).
━━━━━━━━━━━━━━━━━━━
الخلاصة
عندما ترى سؤالًا مثل:
"اطبع الأعداد من 1 إلى 10"
لا تحفظ المخطط كاملًا، بل فكّر بهذه الطريقة:
أين أبدأ؟
↓
1

متى أستمر؟
↓
i <= 10

ماذا أفعل؟
↓
Print i

كيف أنتقل للرقم التالي؟
↓
i = i + 1

متى أتوقف؟
↓
عندما تصبح i = 11
إذن فكرة أي تكرار بسيط هي:
بداية → شرط → تنفيذ → تحديث → العودة للشرط → توقف.
━━━━━━━━━━━━━━━━━━━

#خوارزميات_من_الصفر
❤1🤝1
13. أكتب برنامج یقوم بحساب راتب موظف عدد ساعات عملھ 120ساعة وقیمة أجر الساعة 45ریال؟
❤1
K7H Code
13. أكتب برنامج یقوم بحساب راتب موظف عدد ساعات عملھ 120ساعة وقیمة أجر الساعة 45ریال؟
━━━━━━━━━━━━━━━━━━━
خوارزمية حساب الراتب
المخطط الموجود أمامنا يحتوي على:
Hours = 120
Rate = 45
Salary = Hours × Rate
ثم يقوم بطباعة Salary.
إذن الفكرة ببساطة:
عدد ساعات العمل × سعر الساعة = الراتب
━━━━━━━━━━━━━━━━━━━
أولًا: فهم المطلوب
لدينا موظف عمل لمدة:
120 ساعة
وسعر الساعة الواحدة:
45
نريد حساب راتبه.
إذن نحتاج إلى إجراء عملية الضرب:
Salary = Hours × Rate
أي:
Salary = 120 × 45
والنتيجة:
Salary = 5400
إذن البرنامج سيطبع:
5400
━━━━━━━━━━━━━━━━━━━
ثانيًا: تحديد المدخلات والمخرجات
هنا يجب أن ننتبه إلى نقطة مهمة جدًا.
هل Hours و Rate مدخلات؟
في هذا المخطط تحديدًا لا يتم إدخالها من المستخدم.
لأن المخطط يحتوي مباشرة على:
Hours = 120
Rate = 45
أي أن القيم تم تحديدها داخل الخوارزمية.
لكن من ناحية منطق المسألة، فإن:
Hours تمثل عدد ساعات العمل.
Rate يمثل سعر الساعة.
ولو كان السؤال يقول:
"أدخل عدد ساعات العمل وسعر الساعة ثم احسب الراتب"
ففي هذه الحالة تصبح Hours وRate مدخلات فعلية.
أما في المخطط الحالي، فقد تم إعطاؤهما مباشرة.
━━━━━━━━━━━━━━━━━━━
ثالثًا: ما المتغيرات الموجودة؟
لدينا ثلاثة متغيرات:
1. Hours
يمثل عدد ساعات العمل:
Hours = 120
2. Rate
يمثل سعر الساعة:
Rate = 45
3. Salary
يمثل الراتب الناتج بعد إجراء العملية الحسابية:
Salary = Hours × Rate
لاحظ الفرق:
Hours وRate نحتاج قيمتهما لكي نحسب.
أما Salary فنحن نحسبه باستخدام القيمتين.
━━━━━━━━━━━━━━━━━━━
رابعًا: قراءة المخطط خطوة بخطوة
نبدأ من:
Start
ثم ننتقل إلى عملية الحساب.
━━━━━━━━━━━━━━━━━━━
الخطوة 1: تحديد عدد الساعات
المخطط يقول:
Hours = 120
إذن:
Hours
↓
120
أي أن الموظف عمل 120 ساعة.
━━━━━━━━━━━━━━━━━━━
الخطوة 2: تحديد سعر الساعة
بعد ذلك:
Rate = 45
أي أن سعر الساعة الواحدة هو 45.
━━━━━━━━━━━━━━━━━━━
الخطوة 3: حساب الراتب
الآن لدينا كل المعلومات التي نحتاجها.
نستخدم القانون:
Salary = Hours × Rate
نعوض بالقيم:
Salary = 120 × 45
فتكون النتيجة:
Salary = 5400
━━━━━━━━━━━━━━━━━━━
الخطوة 4: طباعة الراتب
بعد أن حسبنا الراتب، نصل إلى:
Print Salary
أي اطبع قيمة المتغير Salary.
وقيمة Salary أصبحت:
5400
إذن الناتج:
5400
━━━━━━━━━━━━━━━━━━━
الخطوة 5: نهاية الخوارزمية
بعد طباعة الراتب لا توجد أي عمليات أخرى.
لذلك نصل إلى:
End
وتنتهي الخوارزمية.
━━━━━━━━━━━━━━━━━━━
تتبع الخوارزمية كاملة
يمكننا تتبعها بهذه الصورة:
Start
↓
Hours = 120
↓
Rate = 45
↓
Salary = Hours × Rate
↓
Salary = 120 × 45
↓
Salary = 5400
↓
Print Salary
↓
End
━━━━━━━━━━━━━━━━━━━
كيف أعرف العملية الحسابية؟
هذه نقطة مهمة جدًا للمبتدئ.
ننظر إلى العلاقة بين المعلومات الموجودة في السؤال.
لدينا:
عدد الساعات
ولدينا:
سعر الساعة الواحدة
ونريد:
الراتب الكلي
إذا كان الموظف يحصل على مبلغ معين لكل ساعة، فإن الراتب الناتج عن الساعات يكون:
عدد الساعات × سعر الساعة
لذلك:
Salary = Hours × Rate
لا نختار الضرب عشوائيًا، وإنما نفهم معنى البيانات والعلاقة بينها.
━━━━━━━━━━━━━━━━━━━
أسئلة المبتدئ
لماذا استخدمنا Salary؟
لأننا نحتاج إلى مكان نخزن فيه نتيجة عملية الحساب.
بدلًا من أن نقول فقط:
120 × 45
نضع النتيجة في متغير اسمه:
Salary
لأن هذا المتغير يمثل الراتب.
━━━━━━━━━━━━━━━━━━━
لماذا لم نستخدم شرطًا؟
لأن المسألة الحالية لا تحتوي على حالات مختلفة.
ليس لدينا مثلًا:
إذا عمل أكثر من عدد معين من الساعات افعل كذا.
وإذا عمل أقل افعل كذا.
لدينا عملية مباشرة:
Hours × Rate
لذلك لا نحتاج إلى If.
━━━━━━━━━━━━━━━━━━━
لماذا لا نحتاج إلى Loop؟
لأن العملية تحدث مرة واحدة فقط.
نحن لا نريد تكرار الحساب عدة مرات.
لدينا:
120 × 45
ثم نطبع النتيجة وننتهي.
لذلك لا نحتاج إلى جملة دوران.
━━━━━━━━━━━━━━━━━━━
هل Salary مدخل؟
لا.
Salary مخرج محسوب.
لأننا لا نعطيه قيمة من البداية، وإنما نحسبه:
Salary = Hours × Rate
━━━━━━━━━━━━━━━━━━━
الخوارزمية كاملة
1. Start
2. Hours = 120
3. Rate = 45
4. Salary = Hours × Rate
5. Print Salary
6. End
والناتج:
5400
━━━━━━━━━━━━━━━━━━━
الخلاصة
عندما تواجه مسألة مشابهة، لا تحفظ المخطط، وإنما اسأل نفسك:
ما المعلومات الموجودة؟
Hours = عدد الساعات
Rate = سعر الساعة
ماذا أريد أن أحسب؟
Salary = الراتب
ما العلاقة بينها؟
Salary = Hours × Rate
ثم:
احسب → خزّن النتيجة → اطبعها → انتهِ
وهذا مثال على خوارزمية خطية؛ أي أن الخطوات تنفذ بالترتيب من البداية إلى النهاية دون شروط أو تكرار.


#خوارزميات_من_الصفر
❤1
15. أكتب برنامج لحساب راتب موظف بمعلومیة عدد ساعات عمل الموظف وقیمة أجر الساعة ؟
K7H Code
15. أكتب برنامج لحساب راتب موظف بمعلومیة عدد ساعات عمل الموظف وقیمة أجر الساعة ؟
━━━━━━━━━━━━━━━━━━━
مثال: حساب راتب موظف
نص السؤال:
"اكتب برنامج لحساب راتب موظف بمعلومية عدد ساعات عمل الموظف وقيمة أجر الساعة."
━━━━━━━━━━━━━━━━━━━
أولًا: فهم السؤال
قبل أن نرسم أي مخطط أو نكتب أي خوارزمية، نحتاج نفهم المطلوب.
السؤال يخبرنا أن لدينا موظفًا، ونريد حساب راتبه.
لكي نحسب الراتب، أعطانا السؤال معلومتين:
عدد ساعات عمل الموظف.
قيمة أجر الساعة.
وبعد أن نحصل على هاتين القيمتين، نستطيع حساب الراتب.
العلاقة بينهما هي:
الراتب = عدد ساعات العمل × أجر الساعة
━━━━━━━━━━━━━━━━━━━
ثانيًا: كيف أعرف المدخلات؟
هذه من أهم الأشياء التي يجب أن تتعلمها في الخوارزميات.
اسأل نفسك:
ما المعلومات التي سيعطيها المستخدم للبرنامج؟
السؤال يقول:
"بمعلومية عدد ساعات عمل الموظف وقيمة أجر الساعة"
إذن المستخدم سيعطي البرنامج:
Hours = عدد ساعات العمل
Rate = أجر الساعة
إذن لدينا مدخلان:
Hours
Rate
ولهذا نجد في المخطط:
Read Hours, Rate
أي:
أدخل عدد ساعات العمل وأجر الساعة.
━━━━━━━━━━━━━━━━━━━
ثالثًا: لماذا لدينا مدخلان وليس مدخلًا واحدًا؟
لأننا نحتاج معلومتين مختلفتين حتى نستطيع حساب الراتب.
مثلًا، لو قال لك شخص:
الموظف عمل 120 ساعة.
هل تستطيع معرفة راتبه؟
لا.
لأنك لا تعرف كم يحصل على الساعة.
ولو قال لك:
أجر الساعة 45.
هل تستطيع معرفة الراتب؟
أيضًا لا.
لأنك لا تعرف عدد الساعات التي عملها.
إذن نحتاج:
عدد الساعات + أجر الساعة
وبعدها نستطيع حساب الراتب.
━━━━━━━━━━━━━━━━━━━
رابعًا: تحديد المخرجات
الآن نسأل:
ماذا يريد السؤال في النهاية؟
السؤال يقول:
"حساب راتب موظف"
إذن الناتج المطلوب هو:
Salary
أي:
راتب الموظف.
ولهذا نجد في المخطط:
Print Salary
أي:
اطبع الراتب.
━━━━━━━━━━━━━━━━━━━
خامسًا: كيف أعرف العملية الحسابية؟
الآن أصبح لدينا:
Hours = عدد ساعات العمل
Rate = أجر الساعة
Salary = الراتب
كيف نحسب الراتب؟
إذا كان الموظف يعمل عددًا معينًا من الساعات، ويحصل على مبلغ معين مقابل كل ساعة، فإن:
Salary = Hours × Rate
إذن العملية المطلوبة هي الضرب.
وهذه الخطوة موجودة في المخطط:
Salary = Hours * Rate
━━━━━━━━━━━━━━━━━━━
سادسًا: قراءة المخطط خطوة بخطوة
الآن نقرأ المخطط من البداية إلى النهاية.
الخطوة 1: Start
نبدأ تنفيذ البرنامج.
↓
الخطوة 2: إدخال البيانات
المخطط يحتوي على:
Read Hours, Rate
أي نطلب من المستخدم إدخال:
Hours
Rate
مثلًا، لو أدخل المستخدم:
Hours = 120
Rate = 45
↓
الخطوة 3: حساب الراتب
ننتقل إلى:
Salary = Hours * Rate
نعوض بالقيم:
Salary = 120 × 45
إذن:
Salary = 5400
↓
الخطوة 4: طباعة الراتب
نصل إلى:
Print Salary
فتظهر النتيجة:
5400
↓
الخطوة 5: End
بعد طباعة الراتب تنتهي الخوارزمية.
━━━━━━━━━━━━━━━━━━━
الخوارزمية كاملة
يمكن كتابة الخوارزمية كالتالي:
1. Start

2. Read Hours, Rate

3. Salary = Hours * Rate

4. Print Salary

5. End
━━━━━━━━━━━━━━━━━━━
مثال عملي
لو أدخل المستخدم:
Hours = 120
Rate = 45
نحسب:
Salary = Hours × Rate
أي:
Salary = 120 × 45
الناتج:
Salary = 5400
إذن البرنامج يطبع:
5400
━━━━━━━━━━━━━━━━━━━
أسئلة المبتدئ
كيف عرفت أن Hours مدخل؟
لأن السؤال يقول:
"بمعلومية عدد ساعات عمل الموظف"
أي أن البرنامج يحتاج هذه المعلومة لكي يبدأ الحساب.
━━━━━━━━━━━━━━━━━━━
كيف عرفت أن Rate مدخل؟
لأن السؤال يقول:
"وقيمة أجر الساعة"
وهذه أيضًا معلومة يحتاجها البرنامج لإجراء الحساب.
━━━━━━━━━━━━━━━━━━━
كيف عرفت أن Salary مخرج؟
لأن السؤال يطلب:
حساب راتب الموظف.
إذن الراتب هو النتيجة التي نريد الوصول إليها وإظهارها للمستخدم.
━━━━━━━━━━━━━━━━━━━
لماذا لم نستخدم شرطًا if؟
لأن السؤال لا يحتوي على حالات مختلفة.
لا يوجد مثلًا:
إذا كانت الساعات أكبر من 40...
أو:
إذا كان أجر الساعة أكبر من قيمة معينة...
المطلوب مجرد عملية حسابية مباشرة:
Hours × Rate
لذلك لا نحتاج إلى شرط.
━━━━━━━━━━━━━━━━━━━
لماذا لم نستخدم Loop؟
لأننا لا نريد تكرار العملية.
نحسب الراتب مرة واحدة، ثم نطبعه، ثم ينتهي البرنامج.
إذن لا نحتاج إلى جملة دوران.
.
━━━━━━━━━━━━━━━━━━━
كيف تحل أي سؤال مشابه؟
لا تبدأ برسم المخطط مباشرة.
أولًا اسأل نفسك 4 أسئلة:
1. ماذا سيدخل المستخدم؟
Hours
Rate
2. ماذا أريد أن أحسب؟
Salary
3. كيف أحسبه؟
Salary = Hours × Rate
4. ماذا سأطبع؟
Salary
وبذلك تصبح الخوارزمية واضحة جدًا:
Start
↓
Read Hours, Rate
↓
Salary = Hours × Rate
↓
Print Salary
↓
End
━━━━━━━━━━━━━━━━━━━
الخلاصة
هذه المسألة من أبسط أنواع الخوارزميات؛ لأنها خوارزمية خطية:
إدخال → حساب → إخراج → نهاية
ولا يوجد فيها:
شرط.
تكرار.
أكثر من مسار.
الفكرة الأساسية التي أريدك أن تفهمها هنا هي: من نص السؤال نستخرج المدخلات والمخرجات والعملية الحسابية، وبعدها يصبح رسم المخطط سهلًا.


#خوارزميات_من_الصفر
التالیة المعادلة لحل برنامج أكتب :
Y=X*((A+5)-4)/2
K7H Code
التالیة المعادلة لحل برنامج أكتب : Y=X*((A+5)-4)/2
━━━━━━━━━━━━━━━━━━━
مثال: حل المعادلة
نص السؤال:
اكتب برنامجًا لحل المعادلة التالية:
المطلوب من البرنامج هو أن يأخذ قيم A وX من المستخدم، ثم يحسب قيمة Y ويطبعها.
━━━━━━━━━━━━━━━━━━━
أولًا: فهم السؤال
قبل أن نكتب الخوارزمية، نقرأ المعادلة ونحدد ماذا نحتاج لكي نحسب Y.
المعادلة هي:
Y = X * ((A + 5) - 4) / 2
نلاحظ أن قيمة Y تعتمد على قيمتين:
A
X
إذن نحتاج أن يحصل البرنامج على قيمتي A وX، وبعد ذلك يستخدمهما في المعادلة لحساب Y.
━━━━━━━━━━━━━━━━━━━
ثانيًا: كيف أحدد المدخلات؟
نسأل أنفسنا:
ما القيم التي يحتاجها البرنامج حتى يستطيع حساب Y؟
ننظر إلى الطرف الأيمن من المعادلة:
X * ((A + 5) - 4) / 2
نجد متغيرين لم يتم تحديد قيمتهما:
A
X
إذن المدخلات هي:
A
X
ولهذا نجد في المخطط:
Read A, X
أي:
اقرأ قيمة A وقيمة X من المستخدم.
إذن لدينا مدخلان.
━━━━━━━━━━━━━━━━━━━
ثالثًا: كيف أحدد المخرج؟
السؤال يقول:
حل المعادلة التالية.
والمعادلة تعطينا:
Y = ...
إذن القيمة التي نريد الوصول إليها هي:
Y
لذلك بعد إجراء الحساب سنقوم بـ:
Print Y
أي:
اطبع قيمة Y.
إذن:
المدخلات:
A ، X

المخرج:
Y
━━━━━━━━━━━━━━━━━━━
رابعًا: كيف أحول المعادلة إلى عملية حسابية؟
لدينا:
Y = X * ((A + 5) - 4) / 2
يمكننا تنفيذها مباشرة، لكن المخطط الموجود في الصورة قام بتقسيم الحساب إلى خطوة وسيطة.
في المخطط مكتوب تقريبًا:
Pross = (A + 5) - 4
Y = X * Pross / 2
وكلمة Pross هنا تمثل متغيرًا وسيطًا نستخدمه لتخزين نتيجة جزء من المعادلة.
━━━━━━━━━━━━━━━━━━━
خامسًا: لماذا استخدمنا المتغير Pross؟
هذه نقطة مهمة جدًا للمبتدئ.
ليس من الضروري دائمًا وضع المعادلة كلها في خطوة واحدة.
لدينا جزء من المعادلة:
(A + 5) - 4
يمكننا حسابه أولًا وتخزين نتيجته في متغير:
Pross = (A + 5) - 4
ثم نستخدم هذه النتيجة لإكمال المعادلة:
Y = X * Pross / 2
إذن Pross مجرد متغير مؤقت يساعدنا على تقسيم العملية إلى خطوات أسهل.
━━━━━━━━━━━━━━━━━━━
سادسًا: قراءة المعادلة خطوة بخطوة
المعادلة الأصلية:
Y = X * ((A + 5) - 4) / 2
أول شيء نحسب ما داخل الأقواس:
(A + 5)
ثم نطرح 4:
(A + 5) - 4
ولهذا كتبنا:
Pross = (A + 5) - 4
بعد ذلك نستخدم Pross:
Y = X * Pross / 2
وهكذا حصلنا على قيمة Y.
━━━━━━━━━━━━━━━━━━━
سابعًا: مثال عددي لفهم الخوارزمية
لنفرض أن المستخدم أدخل:
A = 3
X = 10
نبدأ بحساب:
Pross = (A + 5) - 4
نعوض بقيمة A:
Pross = (3 + 5) - 4
أولًا:
3 + 5 = 8
ثم:
8 - 4 = 4
إذن:
Pross = 4
الآن نحسب Y:
Y = X * Pross / 2
نعوض:
Y = 10 * 4 / 2
نحسب:
10 × 4 = 40
ثم:
40 ÷ 2 = 20
إذن:
Y = 20
وفي النهاية يطبع البرنامج:
20
━━━━━━━━━━━━━━━━━━━
ثامنًا: قراءة المخطط الانسيابي خطوة بخطوة
الآن نربط الكلام بالمخطط الموجود في الصورة.
1. Start
نبدأ تنفيذ البرنامج.
↓
2. Read A, X
نطلب من المستخدم إدخال:
A
X
↓
3. حساب Pross
نحسب:
Pross = (A + 5) - 4
↓
4. حساب Y
نستخدم قيمة Pross:
Y = X * Pross / 2
↓
5. Print Y
نطبع قيمة Y.
↓
6. End
تنتهي الخوارزمية.
━━━━━━━━━━━━━━━━━━━
الخوارزمية كاملة
1. Start

2. Read A, X

3. Pross = (A + 5) - 4

4. Y = X * Pross / 2

5. Print Y

6. End
━━━━━━━━━━━━━━━━━━━
هل يمكن كتابة المعادلة مباشرة؟
نعم.
بدلًا من استخدام Pross يمكننا كتابة:
Y = X * ((A + 5) - 4) / 2
لكن استخدام Pross يجعل الخطوات أوضح، خصوصًا عندما تكون المعادلة طويلة.
إذن الطريقتان صحيحتان:
Pross = (A + 5) - 4
Y = X * Pross / 2
أو:
Y = X * ((A + 5) - 4) / 2
━━━━━━━━━━━━━━━━━━━
أسئلة مهمة للمبتدئ
كيف عرفت أن A وX هما المدخلات؟
لأنهما المتغيران الموجودان في المعادلة ولا توجد لهما قيم محددة مسبقًا.
لذلك نحتاج أن يأخذهما البرنامج من المستخدم.
━━━━━━━━━━━━━━━━━━━
كيف عرفت أن Y هو المخرج؟
لأن السؤال يطلب حل المعادلة، والمعادلة تبحث عن قيمة Y.
إذن Y هو الناتج الذي نريد طباعته.
━━━━━━━━━━━━━━━━━━━
هل Pross مدخل؟
لا.
المستخدم لا يدخل Pross.
البرنامج هو الذي يحسبه:
Pross = (A + 5) - 4
لذلك Pross متغير محسوب/وسيط.
━━━━━━━━━━━━━━━━━━━
لماذا حسبنا (A + 5) قبل الطرح؟
بسبب أولوية العمليات الحسابية.
الأقواس لها الأولوية، لذلك:
(A + 5) - 4
نحسب ما داخل القوس أولًا، ثم نطرح 4.
━━━━━━━━━━━━━━━━━━━
هل يجب أن أحفظ هذه المعادلة؟
لا.
المهم أن تتعلم كيف تقرأ المعادلة وتحوّلها إلى خطوات.
إذا كانت المعادلة طويلة، قسمها إلى أجزاء:
جزء من المعادلة
↓
احسبه
↓
خزن النتيجة
↓
استخدمها في الجزء التالي
❤2
K7H Code
التالیة المعادلة لحل برنامج أكتب : Y=X*((A+5)-4)/2
↓
احسب الناتج النهائي
━━━━━━━━━━━━━━━━━━━
الخلاصة
عندما يأتيك سؤال يحتوي على معادلة، اتبع هذه الطريقة:
1. حدد المتغيرات التي تحتاج قيمتها
↓
2. هذه هي المدخلات
↓
3. حدد المتغير المطلوب حسابه
↓
4. هذا هو المخرج
↓
5. قسم المعادلة إلى خطوات
↓
6. نفذ العمليات حسب الأولوية
↓
7. اطبع الناتج
وبالنسبة لهذا السؤال تحديدًا:
المدخلات:
A ، X

المعالجة:
Pross = (A + 5) - 4
Y = X * Pross / 2

المخرج:
Y
إذن المخطط كله عبارة عن:
إدخال القيم → تنفيذ المعادلة على خطوات → طباعة Y → النهاية.


#خوارزميات_من_الصفر
❤2
قناتي على اليوتيوب
الكل يشترك🔥🔥🔥🔥🔥🔥🔥
https://www.youtube.com/@KHALIXPC
❤‍🔥1
K7H Code pinned «قناتي على اليوتيوب الكل يشترك🔥🔥🔥🔥🔥🔥🔥 https://www.youtube.com/@KHALIXPC»
🚀 خريطة الطريق الذهبية: من "صفر معرفة" إلى مبرمج محترف! 💻✨
هل تحلم بدخول عالم البرمجة ولا تعرف من أين تبدأ؟ هل تشعر بالتشتت وسط كثرة المصادر؟ هذه الخريطة صُمّمت لأجلك! 👇
سواء كنت لا تعرف شيئاً عن الكود أو تعتقد أن البرمجة معقدة، هذا المسار المتكامل سيبني لديك أساساً برمجياً صلباً ينقل مستواك من الصفر المطلق إلى الاحتراف بخطوات متتالية ومدروسة
:

🗺️ خطوات المسار التعليمي بالترتيب:
1️⃣ اللبنة الأولى | أساسيات البرمجة الجوهرية
ابدأ بفهم المفاهيم الأساسية التي لا غنى عنها لأي مبرمج عبر قناة الأستاذ محمد أبوهدهود:
🔗 https://www.youtube.com/@ProgrammingAdvices

2️⃣ الترسيخ والمفاهيم العصرية | أساسيات البرمجة
انتقل لترسيخ المفاهيم بأسلوب شائق ومبسط مع إبراهيم عادل عبر قناة Octopus Code:
🔗 https://www.youtube.com/@OctopusCode

3️⃣ ما قبل الكود | التفكير البرمجي وفهم الكمبيوتر
قبل أن تكتب سطراً برمجياً، تعلّم كيف يفكر المبرمج وماذا يحدث خلف الكواليس عبر قناة أسامة الزيرو (Elzero Web School):
🔗 https://www.youtube.com/@ElzeroWebSchool

4️⃣ العضلة الحقيقية للمبرمج | حل المشاكل والخوارزميات (المستوى الأول)
البرمجة هي طريقة تفكير وحل مشكلات! ابدأ بتطوير مهاراتك التحليلية مع قناة أستاذ محمد أبوهدهود:
🔗 https://www.youtube.com/@ProgrammingAdvices

5️⃣ الانطلاق الفعلي | اختيار لغتك البرمجية الأولى
بعد بناء الأساس المتين، حان وقت اختيار لغتك الأولى. ونوصي بشدة بالبدء بإحدى اللغتين:
🔹 C++: لبناء فهم عميق لإدارة الذاكرة وطريقة عمل الحاسوب.
🔹 Java: لتأسيس قوي في البرمجة كائنية التوجه (OOP) وسوق العمل.
🔥 لا تنتظر الشغف، ابدأ اليوم واصنع مستقبلك الرقمي بيدك!
📌 شارِك الخريطة مع أصدقائك المهتمين بالبرمجة لتعُمّ الفائدة.
❤2❤‍🔥1
K7H Code pinned «🚀 خريطة الطريق الذهبية: من "صفر معرفة" إلى مبرمج محترف! 💻✨ هل تحلم بدخول عالم البرمجة ولا تعرف من أين تبدأ؟ هل تشعر بالتشتت وسط كثرة المصادر؟ هذه الخريطة صُمّمت لأجلك! 👇 سواء كنت لا تعرف شيئاً عن الكود أو تعتقد أن البرمجة معقدة، هذا المسار المتكامل سيبني لديك…»
اكتب خوارزمية لبرنامج يقوم بطباعه الاعداد من ١ الى ١٠٠
K7H Code
اكتب خوارزمية لبرنامج يقوم بطباعه الاعداد من ١ الى ١٠٠
أ.
​━━━━━━━━━━━━━━━━━━━
مثال: طباعة الأعداد من 1 إلى 100
نص السؤال:
"اكتب خوارزمية لبرنامج يقوم بطباعة الأعداد من 1 إلى 100 باستخدام المخطط الانسيابي."
━━━━━━━━━━━━━━━━━━━
أولًا: فهم السؤال
في المثال السابق تعلمنا كيف نحسب راتب موظف بخطوات مستقيمة ومباشرة.
الآن لدينا فكرة جديدة وممتعة جداً في البرمجة اسمها (التكرار أو الدوران - Loop).
​تخيل لو طلب منك شخص أن تطبع الأعداد من 1 إلى 100.
هل يعقل أن نكتب أمر طباعة لكل رقم بشكل منفصل 100 مرة؟
بالتأكيد لا! هذا سيكون مجهداً ومملاً.
الذكي هنا هو أن نجعل الكمبيوتر يعُد بنفسه ويطبع الرقم، ثم يضيف 1 للرقم، ويكرر هذه العملية حتى يصل إلى 100 ثم يتوقف!
━━━━━━━━━━━━━━━━━━━
ثانيًا: كيف نعرف بداية العد (العداد)؟
نحتاج إلى متغير نستخدمه كعداد يمسك الرقم الحالي.
في المخطط استخدمنا المتغير:
i
والسؤال يقول ابدأ من 1، إذن سنعطي العداد قيمة أولية:
i = 1
هذه الخطوة تسمى "تهيئة العداد".
━━━━━━━━━━━━━━━━━━━
ثالثًا: كيف نعرف الشرط وم متى يتوقف التكرار؟
الآن العداد يطبع الأرقام، لكن كيف يعرف الكمبيوتر أنه وصل للنهاية؟
نحتاج أن نسأله في كل مرة:
"هل الرقم الحالي أصغر من أو يساوي 100؟"
i <= 100
طالما الإجابة "نعم" (Yes): يستمر بالطباعة وزيادة العداد.
أول ما تصبح الإجابة "لا" (No) (أي عندما يصل العداد إلى 101): يتوقف البرنامج فوراً.
━━━━━━━━━━━━━━━━━━━
رابعًا: تحديد المخرجات والعملية داخل الحلقة
في كل دورة داخل هذا التكرار، سنقوم بخطوتين مهمتين جداً:
​طباعة الرقم الحالي:
Print i
​زيادة العداد بمقدار 1 لكي ننتقل للرقم التالي:
i = i + 1
ثم نعود مرة أخرى لنفحص الشرط!
━━━━━━━━━━━━━━━━━━━
خامسًا: قراءة المخطط خطوة بخطوة
تعال نقرأ المخطط الانسيابي الظاهر في الصورة خطوة بخطوة لنرى كيف يعمل:
​الخطوة 1: Start
نبدأ تنفيذ البرنامج.
↓
الخطوة 2: i = 1
نعين قيمة العداد البدائية لتكون 1.
↓
الخطوة 3: فحص الشرط (شكل المعين)
هل i <= 100؟
في البداية i=1، نعم (Yes).
↓
الخطوة 4: Print i
يطبع الشاشة الرقم الحالي (في البداية يطبع 1).
↓
الخطوة 5: i = i + 1
نضيف 1 للعداد، فتصبح قيمة i = 2.
↓
الخطوة 6: العودة للشرط
يرجع السهم إلى فحص الشرط مرة أخرى:
هل 2 <= 100؟ نعم (Yes).
يطبع 2، ثم يصبح i = 3، وهكذا...
تستمر هذه الدائرة الممتعة حتى يطبع 100، ثم يصبح i = 101.
عندها نسأل: هل 101 <= 100؟ الإجابة تكون (No).
يتجه السهم إلى End وينتهي البرنامج تماماً!
━━━━━━━━━━━━━━━━━━━
الخوارزمية كاملة
يمكن كتابة الخوارزمية بالخطوات التالية:
​Start
​i = 1
​While i <= 100:
Print i
i = i + 1
​End
━━━━━━━━━━━━━━━━━━━
مثال عملي لخطوات التكرار الأولى
الدورة الأولى:
i = 1
الشرط (1 <= 100) صحيح.
يطبع: 1
يزيد العداد: i = 2
​الدورة الثانية:
i = 2
الشرط (2 <= 100) صحيح.
يطبع: 2
يزيد العداد: i = 3
​وهكذا يستمر حتى يطبع 100، ثم ينتهي عند 101.
━━━━━━━━━━━━━━━━━━━
أسئلة المبتدئ
لماذا لم نطلب مدخلات من المستخدم (Read)؟
لأن السؤال لم يطلب إدخال شيء من المستخدم!
السؤال حدد الأرقام بوضوح من 1 إلى 100، فالبرنامج يعرف من أين يبدأ وأين ينتهي تلقائياً.
​ما معنى الجملة i = i + 1؟
في البرمجة هذه ليست معادلة رياضية تقليدية، بل تعني:
"خذ القيمة القديمة للمتغير i، أضف إليها 1، ثم احفظ القيمة الجديدة في نفس المتغير i".
​ماذا يحدث لو نسينا خطوة i = i + 1؟
ستحدث مشكلة شهيرة جداً في البرمجة اسمها "الحلقة اللانهائية" (Infinite Loop).
لأن قيمة i ستظل 1 دائماً ولن تصل إلى 100 أبداً، وسيطبع البرنامج الرقم 1 إلى الأبد!
​لماذا استخدمنا شكل المعين للشرط (i <= 100)؟
لأن شكل المعين في المخططات الانسيابية يُستخدم لاتخاذ القرارات التي تحتمل إجابتين فقط: (نعم Yes) أو (لا No).
━━━━━━━━━━━━━━━━━━━
كيف تحل أي سؤال تكرار مشابه؟
عندما يطلب منك طباعة سلسلة أعداد، اسأل نفسك 4 أسئلة:
​ما هي بداية العد؟
i = 1
​ما هو شرط التوقف؟
i <= 100
​ماذا أفعل في كل دورة؟
Print i
​كيف ينتقل العداد للرقم التالي؟
i = i + 1
━━━━━━━━━━━━━━━━━━━
الخلاصة
هذه المسألة هي مدخلك الأساسي لفهم "الحلقات التكرارية" (Loops).
الفكرة البسيطة هي:
بدء العداد ← فحص الشرط ← تنفيذ المطلوب وزيادة العداد ← العودة للشرط حتى ينتهي.

#خوارزميات_من_الصفر