DarKc0de
28-08-2008, 07:59 PM
السلام عليكم
عمتم مساء اخوتي جميعا
هذي اول مشاركة لي واتمنى انكم تفيدوني
انا من هوات البرمجة نصحني احد الاخوة بكتاب
كيف تبرمج بلغة السي ++ للدكتور صلاح الدوة جي
وواجهت مسألة عند المؤشرات حاولت حلها لكن لم استطع تجسيد الفكرة او ما يسمى الخوارزمية لعملية تصميم البرنامج
اذا احد عندة اي فكررة ياليت يساعدني
نتركم مع المسألة
(برنامج محاكة:"بين السلحفاة والارنب")
سوف نحاول في هذا التمرين تذكر احد القصص قصة السباق بين الارنب والسلحفاة
وسوف نستخدم عملية توليد ارقام عشوائية لمحاكات السباق
يبدأ السباق من المربع رقم 1 حتى المربع 70 حيث يوجد خط النهاية ويمثل كل مربع احد المواضع الممكنة التي يمكن اشغالها اثناء السباق.يجري السباق على سفح جبل مما يسبب انزلاق المتسابقين .
يتضمن البرنامج ساعة تدق دقة واحدة كل ثانية ويجب تصحيح موضع كل متسابق عند كل دقة من دقات الساعة حسب القواعد التالية..
السلحفاة مشي سريع 50% 3 مربعات الى اليمين
\\ انزلاق 20% 6 مربعات الى اليسار
\\ مشي بطئ 30% مربع واحد الى اليمين
الارنب نوم 20% لا توجد اي حركة
\\ قفزة كبيرة 20% 9 مربعات الى اليمين
\\ انزلاق كبير 10% 12مربع الى اليسار
\\ قفزة صغيرة 30% مربع واحد الى اليمين
\\ انزلاق صغير 20% مبرعان الى اليسار
ملاحظة: يبدأ السباق من اليسار الى اليمين اي ان اتجاة الحركة نحو الامام يتم نحو اليمين.
استخدم متحولات لحفظ موضع كل مشترك بالسباق (تنحصر ارقام المواضع بين 1 و 70 )
يبدأ كل حيوان من المربع واحد (نقطة البداية) وعندما ينزلق الى اليسار الى ما قبل المربع 1 فيتم اعادتة الى الوراء الى المربع واحد.
قم بتوليد النسبة المئوية الموضحة في الجدول السابق بأستخدام مولد لااعداد العشوائية (i) المحصورة ضمن المجال
0>= i<=10
فمن اجل السلفاة مثلا فأنها تقوم بتنفيذ مشي سريع عند توليد العدد
1<= i<=5
وتفذ انزلاقا عند
6<= i<=7
ومشيا بطيا عند
8<= i<=10
وبي نفس الطريقة تتم معالجة حركة الارنب
يبدأ السباق بعد طباعة العبارة التالية
BANG!!!!!!
ثم عند كل دقة من دقات الساعة (اي عند كل حلقة من حلقات التركرا) يتم طباعة سطر مؤلف من سبعين موضع
علية حرف T للدلالة على موضع السلحفاة وحرف H موضع الارنب .يمكن احيانا اني يصل كل المتسابقين الى نفس الموضع عندها تقوم السلحفاة بضرب الارنب ويطبع
كلمة OUCH في ذالك الموضع .تبقى بقية المواضع الاخرى التي ليس فيها t او H او OUCH (في حالة التعادل) فارغة.
بعد طباعة السطر نحقق من احد الحيوانين قد وصل الى الموضع 70 او تجاوزة.اذا حصل ذاللك عندها يحدد البرنامج الفائز وتنتهي عملية المحاكاة ويطبع اسم الفائز
طبعا ياشباب انا ابغى الفكررة فقط
ويعطيكم الف عافية
عمتم مساء اخوتي جميعا
هذي اول مشاركة لي واتمنى انكم تفيدوني
انا من هوات البرمجة نصحني احد الاخوة بكتاب
كيف تبرمج بلغة السي ++ للدكتور صلاح الدوة جي
وواجهت مسألة عند المؤشرات حاولت حلها لكن لم استطع تجسيد الفكرة او ما يسمى الخوارزمية لعملية تصميم البرنامج
اذا احد عندة اي فكررة ياليت يساعدني
نتركم مع المسألة
(برنامج محاكة:"بين السلحفاة والارنب")
سوف نحاول في هذا التمرين تذكر احد القصص قصة السباق بين الارنب والسلحفاة
وسوف نستخدم عملية توليد ارقام عشوائية لمحاكات السباق
يبدأ السباق من المربع رقم 1 حتى المربع 70 حيث يوجد خط النهاية ويمثل كل مربع احد المواضع الممكنة التي يمكن اشغالها اثناء السباق.يجري السباق على سفح جبل مما يسبب انزلاق المتسابقين .
يتضمن البرنامج ساعة تدق دقة واحدة كل ثانية ويجب تصحيح موضع كل متسابق عند كل دقة من دقات الساعة حسب القواعد التالية..
السلحفاة مشي سريع 50% 3 مربعات الى اليمين
\\ انزلاق 20% 6 مربعات الى اليسار
\\ مشي بطئ 30% مربع واحد الى اليمين
الارنب نوم 20% لا توجد اي حركة
\\ قفزة كبيرة 20% 9 مربعات الى اليمين
\\ انزلاق كبير 10% 12مربع الى اليسار
\\ قفزة صغيرة 30% مربع واحد الى اليمين
\\ انزلاق صغير 20% مبرعان الى اليسار
ملاحظة: يبدأ السباق من اليسار الى اليمين اي ان اتجاة الحركة نحو الامام يتم نحو اليمين.
استخدم متحولات لحفظ موضع كل مشترك بالسباق (تنحصر ارقام المواضع بين 1 و 70 )
يبدأ كل حيوان من المربع واحد (نقطة البداية) وعندما ينزلق الى اليسار الى ما قبل المربع 1 فيتم اعادتة الى الوراء الى المربع واحد.
قم بتوليد النسبة المئوية الموضحة في الجدول السابق بأستخدام مولد لااعداد العشوائية (i) المحصورة ضمن المجال
0>= i<=10
فمن اجل السلفاة مثلا فأنها تقوم بتنفيذ مشي سريع عند توليد العدد
1<= i<=5
وتفذ انزلاقا عند
6<= i<=7
ومشيا بطيا عند
8<= i<=10
وبي نفس الطريقة تتم معالجة حركة الارنب
يبدأ السباق بعد طباعة العبارة التالية
BANG!!!!!!
ثم عند كل دقة من دقات الساعة (اي عند كل حلقة من حلقات التركرا) يتم طباعة سطر مؤلف من سبعين موضع
علية حرف T للدلالة على موضع السلحفاة وحرف H موضع الارنب .يمكن احيانا اني يصل كل المتسابقين الى نفس الموضع عندها تقوم السلحفاة بضرب الارنب ويطبع
كلمة OUCH في ذالك الموضع .تبقى بقية المواضع الاخرى التي ليس فيها t او H او OUCH (في حالة التعادل) فارغة.
بعد طباعة السطر نحقق من احد الحيوانين قد وصل الى الموضع 70 او تجاوزة.اذا حصل ذاللك عندها يحدد البرنامج الفائز وتنتهي عملية المحاكاة ويطبع اسم الفائز
طبعا ياشباب انا ابغى الفكررة فقط
ويعطيكم الف عافية