پروژه برنامه مویسی

پروژه برنامه نویسی

پروژه برنامه مویسی

پروژه برنامه نویسی

4-24 گردش اسب

مساله ی ((گردش اسب)) یکی از معماهای جالب شطرنج بازان است که توسط اولر ریاضی دان مشهور طراحی شد. سوال این است: ایا در یک صفحه ی خالی شطرنج اسب می تواند به گونه ای گردش کند که با هر یک ا 64 خانه فقط و فقط یک بار تماس داشته باشد؟


 

ادامه مطلب ...

23-4 ترسیم لاک پشتی

ترسیم لاک پشتی  زبان لوگو(Logo) که از محبوبیت خاصی بین کاربران کامپیوتر برخوردار است. به خوبی مفهوم لاک پشتی را گسترش داده است. یک لاک پشش مکانیکی را که تحت کنترل  یک برنامه ++C در اتاق در حال گردش است را در نظر بگیرید. قلمی در اختیار این لاک پشت است که در یکی از وضعیت های بالا یا پایین قرار می گیرد. زمانی که قلم رو به پایان است لاک پشت شکلی را در هنگام حرکت ترسیم می کند. هنگامی که قلم رو به بالا باشد. لاک پشت می تواند ازادانه بدون ترسیم چیزی حرکت کند. در این مسئله باید عملیات لاک پشت را شبیه سازی کرده و هم چنین یک تخته رسم کامپیوتری ایجاد شود.

یک ارایه ی 20 * 20 در نظر بگیرید و مقدار اولیه ی ان را صفر قرار دهیددستورات را از ارایه خوانده و بالا یا پایین بودن قلم و محل واقعی لاک پشت را در هر لحظه تعیین کنید. فرض کنید که لاک پشت همیشهاز محل(0.0) و با قلم رو به بالا شروع به حرکت می کند. مجموعه ی فرمان های برنامه به  صورت زیر است:

 

معنی                      

فرمان

قلم بالا

1

قلم پایین

2

چرخش به سمت راست

3

چرخش به سمت چپ

4

به انداره ی 10 فاصله حرکت به سمت جلو(یا عدد دیگری غیر از 10)

10 , 5

چاپ ارایه ی 20 * 20

6

پایان داده ها(مقدار نگهبان)

9

 

 

فرض کنید که لاک پشت نزدیک مرکز صفحه است. در این صورت برنامه ی زیر یک مربع 12 * 12 رسم کرده و سپس قلم را رو به بالا نگه می دارد.

2

5, 12

3

5, 12

3

5, 12

3

5, 12

1

6

9

هنگامی که لاک پشت با قلم رو به پایین حرکت می کند ... عناصر مناسب را با 1 پر کنید. با دستور 6(با توجه به جدول) هر جایی در ارایه که 1 وجود دارد یک ستاره(یا هر کاراکتر دیگری که دوست دارید) و هر جا در ارایه صفر وجود دارد کاراکتر خالی چاپ نمایید. برنامه ای به زبان  ... بنویسید که قابلیت های گفته شده را برای ترسیم لاک پشت شبیه سازی کند. چندین برنامه ی ترسیم لاک پشت نوشته و شکل های مختلفی ترسیم کنید.

برای افزایش کارایی زبان ترسیم لاک پشت فرمان های دیگری را به برنامه اضافه کنید.

 

ادامه مطلب ...

29-4 غربال اراتستن

(غربال اراتستن)یک عدد صحیح اول عددی است که فقط بر خود و بر 1 بخش پذیر باشد. غربال اراتست روش برای یافتن اعداد اول می باشد. این روش به شکل زیر اجرا می شود:

الف) ارایه ای در نظر گرفته و مقدار اولیه ی تمام عناصر ارایه را برابر  1 (true) قرار دهید. در نتیجه عناصر با اندیس اول 1 باقی مانده خواهند ماند ولی بقیه ی عناصر ارایه صفر می شوند.

ب) با شروع از اندیس 2 (اندیس 1 حتما اول است.) هر دفعه که عنصری با مقدار 1 پیدا شود در بقیه ارایه عناصری که اندیس ان ها مضربی از اندیس عنصر با مقدار 1 است صفر می شوند. برای اندیس 2 همه ی عناصر بعد از 2 که اندیس ان ها مضربی از 2 است(اندیس های 4 6 8 و...) برابر با صفر می شوند. برای اندیس 3 همه ی عناصر بعد از 3  که اندیس ها یشان مضربی از 3 است(اندیس های 6 9 12 15 و...) صفر می شوند. و به همین ترتیب در پایان عملیات عناصری از ارایه که هنوز یک هستند اندیس هایی را نشان می دهند که ان ها عدد اولند. حال برنامه ای بنویسید که اعداد اول 1 تا 999 را با استفاده از یک ارایه ی 1000 عنصری یافته و ان ها را نمایش دهد. عنصر صفر ارایه را نادیده بگیرید.

 

ادامه مطلب ...

22-4 سوالی درباره ی فروش محصولات

برای حل این سوال از یک ارایه ی دو بعدی استفاده کنید  شرکتی دارای چهار فروشنده (1 تا 4) است که هر یک از محصولات 1 تا 5 را می فروشند. هر یک از چهار فروشنده برای هر نوع محصول فروخته شد روزی یک قبض صادر می کنند. اطلاعات هر قبض به صورت زیر است:

الف) شماره ی فروشنده   ب) شماره ی محصول  ج) مقدار فروش کل ان محصول در همان روز

بدین صورت هر فروشنده بین 0 تا 5 قبض در روز صادر می کند. فرض کنید تمام اطلاعات مربوط به قبض های گذشته در دسترس باشد. برنامه ای بنویسید که بعد از خواندن این اطلاعات فروش کل هر محصول را برای هر فروشنده نمایش دهد. باید تمام این ارقام فروش در یک ارایه ی دو بعدی به نام sales ذخیره شود.بعد از پردازش تمام اطلاعات مربوط به ماه گذشته نتایج را به شکل جدولی که هر ردیف ان نشان دهنده ی یک محصول و هر ستون ان نشان دهنده ی یک فروشنده است. را نمایش دهد. برای محاصله ی فروش کل هر محصول در ماه گذشته ارقام مربوط به هر ردیف جدول را با هم جمع کنید و برای محاسبه ی فروش کل هر فروشنده در ماه گذشته ارقام مربوط به هر ستون جدول را با هم جمع کنید.جدول خروجی باید شامل  فروش کل هر ستون در پایین جدول و فروش کل هر ستون در پایین جدول و فروش کل هر ردیف در سمت راست جدول باشد.

 

ادامه مطلب ...

17-4 برنامه ای بنویسد که پرتاپ دو تاس را شبیه سازی کند

برنامه ای به زبان ++C بنویسید که پرتاپ دو تاس را شبیه ساری کند. این برنامه باید برای انداختن این تاس ارز rand و برای پرتاپ دومین تاس نیز باز هم از rand استفاده کند. و مجموع این دو مقدار را محاسبه کند. توجه: چون هر یک از تاس ها مقدار صحیح بین اعداد 1 تا 6 را نمایش می دهد. در نتیجه مجموع این دو مقدار بین 2 تا 12 است که مجموع 2 تا 12 کمترین دفعات و مجموع 7 بیشترین دفعات می باشند.


765432
876543
987654
1098765
11109876
121110987

شکل بالا 36 ترکیب ممکن برای تاس ها را نشان می دهد. برنامه ی شما باید 36000 بار دو تاس را پرتاپ کند. تعداد دفعاتی را که هر یک از مجموعه های ممکن پیش می اید را با استفاده از یک ارایه یک بعدی دخیره و نتایج را به شکل جدولی نمایش دهید. سپس بررسی کنید که ایا تعداد مجموعه های بست امده معقول هست یا نه (مثلا به 6 طریق, مجموع عدد 7 حاصل می شود پس تقریبا حدود یک ششم همه ی پرتاپ ها باید عدد 7 باشد.)  ادامه مطلب ...