طيب الان ممكن
إعـــــــلان
تقليص
لا يوجد إعلان حتى الآن.
فريق المنابر للبرمجة ::::مشروع الالة الحاسبة::::
تقليص
X
-
غياب غير محدد بسبب الدراسة واعمال سرية انتظروا المفاجأة قريبا ان شاء الله
You must not feel tired ! , You must not feel desperate .
You must feel hopeful .
You must feel ALLAH with U !
GO GO You Can DO IT , Believe that You Can Do it ! , IF ALLAH With U , NOTHING will Dare to stop U Along your Dream Road !
So , GO and does not return here even you reach to UR Dream and Believe you will have many problems , mistakes and difficulties and you will cross it to UR Dream
-
"ايضا هناك الجزء الخاص بتحديد الادخال هل هو معادلة ام مجرد عمليات على ارقام مطلوب حسابها"
أي أننا سوف نحدد الادخال هل هو معادلة أم مجرد معادلة اذن يجب علينا أن نكتب أمر يقول للمستخدم هل تريد عملية أم معادلة و بما أنه لا دخل لنا بالمعادلات سوف يختار المستخدم العمليات ثم يعطيه البرنامج الأوامر الخاصة بالعمليات ؟؟؟Facebook--------------------Youtube Channel
تعليق
-
لا, اليك مثالين لادخال المستخدم وما الذي ستفعلونه بالادخالالمشاركة الأصلية بواسطة منصف ART مشاهدة المشاركة"ايضا هناك الجزء الخاص بتحديد الادخال هل هو معادلة ام مجرد عمليات على ارقام مطلوب حسابها"
أي أننا سوف نحدد الادخال هل هو معادلة أم مجرد معادلة اذن يجب علينا أن نكتب أمر يقول للمستخدم هل تريد عملية أم معادلة و بما أنه لا دخل لنا بالمعادلات سوف يختار المستخدم العمليات ثم يعطيه البرنامج الأوامر الخاصة بالعمليات ؟؟؟
المثال الأول: يقوم المستخدم بادخال النص التالي
خطوات العملكود:2 * 3 + 1
1- التأكد من خلو الادخال من الأخطاء:
الادخال خال من الأخطاء
2- حذف المسافات ان وجدت فتصبح السلسة النصية:
3- فصل الأرقام في مصفوفة (list) نسميها مثلا a والعمليات في مصفوفة نسميها مثلا b:كود:2*3+1
4- النقطة المعقداكم حنعمل اختبار بسيط تشوف اذا كان الادخال فيه متغير ولا لأ حاليا الادخال ليس فيه متغير (المثال القادم فيه) فتقوم باستدعاء دالة هي غير معرفة عندكم لكن المجموعة الثانية حتعرفها نفرض انه اسم الدالة calc وتأخذ متغيرين هما المصفوفتين فوق:كود:a = [2, 3, 1] b = ['*', '+']
*** حاليا الدالة calc غير موجودة ولو حاولت تشغل الكود سيطلعلك خطأ يقول ان الدالة غير معرفة لكن المجموعة الثانية شتعرف الدالة وبعدين حناخذ برنامجكم وندمجه مع البرنامج المعرف فيه الدالة يعني خلاصة الكلام استدعوا الدالة ولا يهمكم انها غير موجودةكود:calc(a, b)
مثال الثاني: يقوم المستخدم بادخال النص التالي:
خطوات العمل:كود:2x + 5 = 11
1- التأكد من خلو الادخال من الأخطاء:
قد يبدو الادخال خال من الأخطاء ولكن لما نعمل مصفوفة الأعداد والعمليات هناك عملية غير ظاهرة هي الضرب فتصبح السلسلة النصية:
الادخال خال من الأخطاءكود:2 * x + 5 = 11
2- حذف المسافات ان وجدت فتصبح السلسة النصية:
3- فصل الأرقام في مصفوفة (list) نسميها مثلا a والعمليات في مصفوفة نسميها مثلا b:كود:2*x+5=11
[11 ,CODE]a = [2, 'x', 5]
b = ['*', '+', '='][/CODE]
4- نختبر الادخال هل فيه متغير (حرف في مصفوفة الأعداد) ام لا وفي هذه الحالة هناك متغير فنستدعي الدالة التي ستعرفها المجموعة الثالثة ونفرض انه اسمها solve وتأخذ متغيرين هما المصفوفة الأعداد و العمليات:
لغاية هنا مهمتكم تنتهي ارجو تكون فكرة العمل وضحتكود:solve(a, b)
تعليق
-
مممم ممكن توضح اكثر لحد ما ادرس موضوع المصفوفات ده
اسف جدا اخى انا ما دخلتش شهر كامل لذلك متأخر قليلا
غياب غير محدد بسبب الدراسة واعمال سرية انتظروا المفاجأة قريبا ان شاء الله
You must not feel tired ! , You must not feel desperate .
You must feel hopeful .
You must feel ALLAH with U !
GO GO You Can DO IT , Believe that You Can Do it ! , IF ALLAH With U , NOTHING will Dare to stop U Along your Dream Road !
So , GO and does not return here even you reach to UR Dream and Believe you will have many problems , mistakes and difficulties and you will cross it to UR Dream
تعليق
-
تمام فهمت بس كيف نفصل الارقام فى مصفوفة و العمليات فى مصفوفة هى دى المشكلةغياب غير محدد بسبب الدراسة واعمال سرية انتظروا المفاجأة قريبا ان شاء الله
You must not feel tired ! , You must not feel desperate .
You must feel hopeful .
You must feel ALLAH with U !
GO GO You Can DO IT , Believe that You Can Do it ! , IF ALLAH With U , NOTHING will Dare to stop U Along your Dream Road !
So , GO and does not return here even you reach to UR Dream and Believe you will have many problems , mistakes and difficulties and you will cross it to UR Dream
تعليق
-
كود فصل الأرقام في مصفوفةالمشاركة الأصلية بواسطة انس علاء مشاهدة المشاركةتمام فهمت بس كيف نفصل الارقام فى مصفوفة و العمليات فى مصفوفة هى دى المشكلة
حسنا تابع معي الشرح الآتية:كود:string = "10+5*2-3" n = '' nums = [] for c in string: if (c >= '0' and c <= '9'): n += c else: nums.append(int(num)) nums.append(int(num))
***** مفهوم العدد في هذا الشرح هو انه رقم يتكون من خانة واحدة هي الآحاد اما العدد فهو الرقم العادي الذي نتعامل معه سواء كان من خانة او اكثر
مثال على رقم: 1 أو 2 أو 3 أو 4 أو 5 أو 6 أو 7 أو 8 أو 9 أو 0
مثال على عدد: 1568 او 1 او 13 او 667 او ... الخ
1- فصل الأرقام والعمليات في مصفوفتين يعني انه انت اصبحت ادخال المستخدم جاهز وخال من الأخطاء نفرض انه ادخال المستخدم هو:
2- سأقوم بانشاء متغيرين أحدهما المصفوفة التي سنخزن فيها الأرقام والآخر سنخزن فيه الرقم وستعرف فائدته لاحقا:كود:string = "10+5*2/3"
3- نقوم بالمرور على كل حرف من حروف المصفوفة كما يلي:كود:n = '' nums = []
4- نختبر اذا كان الحرف الذي نمر عليه حاليا عبارة عن رقم كما يلي:كود:for char in string:
** لاحظ اننا وضعنا اختبار اذا كان الحرف أكبر من او يساوي "0" و أصغر من او يساوي "9" وذلك لأن للحروف ارقام تمثلها وهنا الرقم (القيمة) الذي يمثل الحرف "0" يجب ان يكون مساو او اكبر من قيمة الحرف c وذلك لأن جميع الحروف التي تمثل الأعداد الأكبر من 0 لها قيمة أكبر من قيمة الحرف "0" وكذلك كل الحروف التي تمثل الأعداد الأصغر من "9" لها قيمة أصغر من قيمة الحرف "9"كود:if (c >= '0' and c <= '9'):
يعني بالمختصر الشرط السابق يتحقق من اذا كان الحرف عددا
5- هنا يأتي دور المتغير الثاني الذي عرفناه في الخطوة 2 ولأن الأرقام قد تتكون من أكثر من عدد نقوم بعد تحقق الشرط في الخطوة 4 باضافة العدد الى المتغير الثاني هكذا:
6- متى تنتهي أعداد الرقم؟ تنتهي عندما يصبح الحرف الذي نمر عليه ليس رقما اي عكس الخطوة الرابعة ونتحقق من ذلك بوضع else للكود:كود:n += c
7- في حالة انتهاء أعداد الرقم اي عدم تحقق الشرط في الخطوة 4 وبالتالي تنفيذ الأمر else في الخطوة 6 نقوم باضافة الرقم النهائي الى المصفوفة التي انشأناها في الخطوة 2 باستخدام الدالة append ليضاف الرقم في نهاية المصفوفة اي:كود:else:
*** استخدمنا الدالة float لنحول الرقم من نص الى متغير عدديكود:nums.append(float(n))
8- بعد ان وضعنا العدد في الخطوة 7 في المصفوفة نقوم بتفريغ المتغير n ليبدأ بتسجل رقم جديد:
9- بهذا نكون قد فصلنا الأرقام في المصفوفة nums ولكن اذا شغلت البرنامج تلاحظ أن الرقم الأخير لا يتم تخزينه في المصفوفة وذلك لأن الرقم الأخير وهو الحرف الأخير يحقق الشرط في الخطوة الرابعة وبذلك تنتهي الحلقة دون تخزينه في المصفوفة. لحسن الحظ ما زال لدينا المتغير n الذي خزن آخر رقم ولذلك يجب اضافته للمصفوفة بعد انتهاء الحلقة التكرارية فنضيف الآتي الى البرنامج:كود:n = ''
لو فهمت البرنامج جيدا يجب ان يكون فصل العمليات في مصفوفة سهل جداكود:nums.append(float(n))
تعليق
-
أي كود؟المشاركة الأصلية بواسطة Abo fathy مشاهدة المشاركةمن الواجب وضع الكود الذي سنقوم بالتعديل علية !!
للبدأ بمراحل سليمة والتقسيم لعمل المطلوب من كل عضو !!
المجموعة الثالثة تقوم بعمل دالة سموها ما تريدون تستلم متغيرين هما مصفوفة الأعداد و مصفوفة العمليات وترجع الإخراج النهائي وهو قيمة المتغير بعد حل المعادلة على سبيل المثال:
مثال على شكل مصفوفة الأرقام:كود:def solve(nums, ops): . . . . return "x = " + x_value
و على مصفوفة العمليات للأرقام السابقة:كود:nums = [10, 2, 'x', 20]
حيث أن ادخال المستخدم كان:كود:ops = ['+', '*', '=']
كود:"10 + 2 * x = 20"
تعليق
-
اخى لماذا تعاملنا على اننا محترفون اساسا احنا ما اخدناش الاساسيات بشكل كامل وعايز تتعمال معانا فى المصفوفات انت غريب والله !!
فى الاول ناخذ الاساسيات كى تكون اللغة فى عقولنا قوية وبعد كده نشتغلغياب غير محدد بسبب الدراسة واعمال سرية انتظروا المفاجأة قريبا ان شاء الله
You must not feel tired ! , You must not feel desperate .
You must feel hopeful .
You must feel ALLAH with U !
GO GO You Can DO IT , Believe that You Can Do it ! , IF ALLAH With U , NOTHING will Dare to stop U Along your Dream Road !
So , GO and does not return here even you reach to UR Dream and Believe you will have many problems , mistakes and difficulties and you will cross it to UR Dream
تعليق
-
أخي المشروع للتعلم وليس الهدف الأساسي انه يكون مشروع كامل ومتكامل فلذلك انت لست عائقا ابداًالمشاركة الأصلية بواسطة منصف ART مشاهدة المشاركةبارك الله فيك أخي BLackx
أرأيت لمذا قلت لكم أنني سوف أكون عائقا ؟؟؟؟؟
وثم ألست صاحب فكرة عمل مشروع؟ فأساسي انك تكون ضمن فريق العمل
تعليق


تعليق