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

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

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

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

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 ذخیره شود.بعد از پردازش تمام اطلاعات مربوط به ماه گذشته نتایج را به شکل جدولی که هر ردیف ان نشان دهنده ی یک محصول و هر ستون ان نشان دهنده ی یک فروشنده است. را نمایش دهد. برای محاصله ی فروش کل هر محصول در ماه گذشته ارقام مربوط به هر ردیف جدول را با هم جمع کنید و برای محاسبه ی فروش کل هر فروشنده در ماه گذشته ارقام مربوط به هر ستون جدول را با هم جمع کنید.جدول خروجی باید شامل  فروش کل هر ستون در پایین جدول و فروش کل هر ستون در پایین جدول و فروش کل هر ردیف در سمت راست جدول باشد.

 

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