![]() |
|
تمرين - الأخطاء الشائعة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : تمارين دلفي وحلول (https://delphi4arab.net/forum/forumdisplay.php?fid=16) +--- الموضوع : تمرين - الأخطاء الشائعة (/showthread.php?tid=2640) |
تمرين - الأخطاء الشائعة - bassem_43 - 25-12-2013 B.M.AbdelAziZ كتب :بارك الله فيك على التعقيب، ماكنت افكر فيه هو عدد صحيح موجب الذي نفسه هو عدد طبيعي وعندما كتبت اخطأت وكتبت عدد طبيعي موجب، تحدث معي هذه الاخطاء غالبا عندما اكتب بتسرع وانا اعمل فكثيرا تجد كلمة بدل اخرى أو حرف بدلا حرف أخر... لا عليك يا استادنا عادي اصلا الاجابة صحيحة عندما كتبت بالفرنسية un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs. انت اخطات سهوا في الترجمة على كل حال بارك الله فيك على المعلومات تمرين - الأخطاء الشائعة - S.FATEH - 26-12-2013 تمرين اكتب دالة تتحقق من نص مدخل اذا كان النص يساوي احد القيم التالية : 'aaa' 'bbb' 'ccc' ترجع قمية True الطالب 1 PHP كود : CheckStr(s: string):Boolean;PHP كود : CheckStr(s: string):Boolean;الطالب 3 PHP كود : CheckStr(s: string):Boolean;نكتفي عند هذا الحد هناك حلول اخرى لكن لا احبب ان اثقل عليكم ما هو احسن حل و لماذا ؟ تمرين - الأخطاء الشائعة - خالد على22 - 26-12-2013 لا يوجد أحسن خل لأنه هناك حلان خاطئان الحل الأول خطأ لو كان المتغير = aaa فإنه عند الشرط الثالث فإن result ستساوى false مخالف للحقيقة الحل الثانى خطأ لو كان المتغير = aaa فإنه عند الشرط الثالث فإن result ستساوى false مخالف للحقيقة الحل الثالث فقط هو الصحيح الحل الأمثل سيكون بإستغلال التعليمة or تمرين - الأخطاء الشائعة - S.FATEH - 26-12-2013 السلام عليكم حسنا كتبت الكود دون تجريب مع ذلك يبقى التمرين قائم خالد على22 انت مخطأ الحل الاول صحيح جرب لو كان المتغير aaa ستعيد القيمة True غير مخالف للحقيقة كما تقول الحل الثالث صحيح جرب كذلك ذلك معك حق الحل الثاني خطأ... تمرين - الأخطاء الشائعة - bassem_43 - 26-12-2013 السلام عليكم احسن حل برايي هو الحل 1 لانه الاسرع في التنفيد ، فسرعه تنفيد حلقة if .....then اسرع من تنفيد حلقة if.... then.. else كما في اجابة الطالب رقم 3 اما اجابة الطالب 2 فهي خاطئة ولو عدل في الحل واعتبرناها صحيحة فتعليماتها تحتوي على not اي ان المعالج (ِCPU ) يقوم بعملين اولهما تنفيد التعليمة if (s = 'aaa') ثم عملية النفي ب not ما يعني ان المعالج سيستغرق وقت اضافي لمعالجة تعليمات الدلة في الحل 2 . طبعا الفرق في زمن التنفيد لا يظهر جليا في دوال او برامج من 3 او 4 تعليمات لكن في برامج من مئات الاسطر البرمجية يظهر الفرق والله اعلم واعدروني ان اخطات . تمرين - الأخطاء الشائعة - S.FATEH - 27-12-2013 السلام عليكم اخ بسام معك حق في كل ما قلته لكن تعلمية if/then/else احسن من if/then لانه مع تعليمة if/then/else لن ينفذ التعلميات التاليةاذا تحقق الشرط من البداية لكن مع تعلمية if/then سينفذ التعليمات التالية سواء تحقق الشرط او لم يتحقق ...نعم اخطأ الطالب 2 مرتين الخطأ الاول هو احتماله لوجود الصحيح اكثر من الخاطئ و هذا خطأ لانه عدد القضايا الصحيحة 3 و عدد القضايا الخائطة لا نهاية له مما اضطره بعد ذلك الى استخدام not و الخطأ الثاني كان عليه الخروج باستخدام exit او استخدام المعاملات المنطقية ليصبح الكود صحيح تمرين - الأخطاء الشائعة - bassem_43 - 27-12-2013 بارك الله فيك على المعلومات القيمة اسف لم اركز مع التعليمة if ..then ..else :confused: شكرا للتوضيح والتنبيه في انتظار اسئلة اخرى تمرين - الأخطاء الشائعة - خالد على22 - 27-12-2013 s.fateh كتب :السلام عليكم حسنا لنفاضل بين الكود الأول و الثالث الثالث أفضل لأنه جمع الثلاثة شروط فى مقطع شرطى واحد بينما الكود الأول تعامل مع الأكواد الثلاثة بثلاثة مقاطع |