بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
تمرين اليوم هام جدا
الدوال تنتج القيم
المصفوفات تحفظ القيم فى جداول
احيانا تتكرر القيم
و احيانا لا نرغب الا فى تسجيل القيم الفريدة (غير المتكررة فقط)
غالبا ما يلجأ المبرمج لإنشاء المصفوفة ثم يحاول مسح القيم المتكررة
و هنا اهدار لطاقة المعالجة و الحوسبة و التى قد تبطئ البرنامج بشكل ملحوظ
من هنا جاءت فكرة التمرين
التمرين
لدينا نرد لعبة الطاولة (الزهر) و هو له 6 أوجه
و عند القاؤه فإنه يعطى لنا احتمال من 6
المطلوب
كتابة برنامج
يرمى زهر (نرد) الطاولة اى يؤلف رقم عشوائى من 1 الى 6
و لستة مرات فقط
يقوم البرنامج بتسجيل القيم الغير متكررة الناتجة من هذه العملية فى مصفوفة ثم يعرضها فى ليست
ثم يعرض البرنامج رسالة تبين طول المصفوفة
توضيح
نفترض ان النرد اعطى هذه القيم من الستة رميات
1 و 2 و 2 و 5 و5 و 5
المفروض ان يسجل البرنامج القيم التالية
1 و 2 و 5 فقط لأن الباقى مكرر
هنا يكون طول المصفوفة 3 عناصر فقط
و لو فرضنا ان النرد اعطانا
1و1و1و1و1و1 فلن يسجل برنامجنا سوى قيمة 1 فقط لأن الباقى مكرر
هنا يكون طول المصفوفة عنصر واحد فقط
القيود
عدم إستخدام اى كود لحذف اى قيم من المصفوفة
لأن المطلوب هو عدم تسجيل القيم المكررة من الأساس
عدم انشاء سوى مصفوفة واحدة فقط فى كل البرنامج (غير مسموح بإنشاء مصفوفات وسيطة)
عدم اقحام الليستبوكس فى اى عملية عدا اظهار العناصر فقط
(يحظر استخدام الدالة ListBox.FindItem فى التمرين)
اتمنى ان تستمتعوا بالتمرين
بالمرفقات مشروع خالى من الأكواد و به ليست بوكس و زر
حظ موفق

السلام عليكم ورحمة الله وبركاته
تمرين اليوم هام جدا
الدوال تنتج القيم
المصفوفات تحفظ القيم فى جداول
احيانا تتكرر القيم
و احيانا لا نرغب الا فى تسجيل القيم الفريدة (غير المتكررة فقط)
غالبا ما يلجأ المبرمج لإنشاء المصفوفة ثم يحاول مسح القيم المتكررة
و هنا اهدار لطاقة المعالجة و الحوسبة و التى قد تبطئ البرنامج بشكل ملحوظ
من هنا جاءت فكرة التمرين
التمرين
لدينا نرد لعبة الطاولة (الزهر) و هو له 6 أوجه
و عند القاؤه فإنه يعطى لنا احتمال من 6
المطلوب
كتابة برنامج
يرمى زهر (نرد) الطاولة اى يؤلف رقم عشوائى من 1 الى 6
و لستة مرات فقط
يقوم البرنامج بتسجيل القيم الغير متكررة الناتجة من هذه العملية فى مصفوفة ثم يعرضها فى ليست
ثم يعرض البرنامج رسالة تبين طول المصفوفة
توضيح
نفترض ان النرد اعطى هذه القيم من الستة رميات
1 و 2 و 2 و 5 و5 و 5
المفروض ان يسجل البرنامج القيم التالية
1 و 2 و 5 فقط لأن الباقى مكرر
هنا يكون طول المصفوفة 3 عناصر فقط
و لو فرضنا ان النرد اعطانا
1و1و1و1و1و1 فلن يسجل برنامجنا سوى قيمة 1 فقط لأن الباقى مكرر
هنا يكون طول المصفوفة عنصر واحد فقط
القيود
عدم إستخدام اى كود لحذف اى قيم من المصفوفة
لأن المطلوب هو عدم تسجيل القيم المكررة من الأساس
عدم انشاء سوى مصفوفة واحدة فقط فى كل البرنامج (غير مسموح بإنشاء مصفوفات وسيطة)
عدم اقحام الليستبوكس فى اى عملية عدا اظهار العناصر فقط
(يحظر استخدام الدالة ListBox.FindItem فى التمرين)
اتمنى ان تستمتعوا بالتمرين
بالمرفقات مشروع خالى من الأكواد و به ليست بوكس و زر
حظ موفق



تعليق