منبع اصلی نوشتار زیر در این لینک قرار دارد

تمرین های سری دوم درس برنامه سازی مقدماتی

الگوریتم تمرین های سری دوم درس برنامه سازی مقدماتی

*دانشجویان محترم می توانید فایل زیر را که مقاله ای در مورد استانداردهای کدنویسی هست را دانلود و مطالعه کنید .

لینک مستقیم

 

* تا جایی که می توانید قسمت های کلیدی برنامه ها را با تابع بنویسید.

 

1-  برنامه ای بنویسید که دو ماتریس را از ورودی بخواند و حاصل ضرب آن ها را حساب کند و به فرم ماتریس (جدول دو در دو) چاپ کند؛

توجه کنید که در ضرب ماتریس ها باید ستون اولی با سطر دومی برابر باشد.

 

2- تابعی بنویسید که در درون یک رشته زیر رشته ای را جست و جو کند و اگر زیر رشته موجود بود محل شروع آن را برگرداند؛ اگر موجود نبود ۱- را برگرداند.

 

3- تابعی بنویسید که دو رشته  را بگیرد و دو رشته را الحاق کند  (رشته ی دوم را به ته رشته اول اضافه کند).

 

4- با استفاده از روش تخصیص آرایه به صورت پویا واشاره گر ها آرایه ای به طول n ایجاد کنید (n از کاربر گرفته می شود) .

مقادیر عناصر آرایه را از کاربر بگیرید، سپس با فراخوانی یک تابع و ارسال آرایه به آن، آرایه را به صورت صعودی مرتب کنید و در آخر آرایه مرتب شده را در تابع اصلی (Main) چاپ کنید.

 

5- با استفاده از اشاره گر ها یک آرایه سه بعدی با ابعاد m*n*k  بسازید (m , n , k از کاربر گرفته می شود). با استفاده از اشاره گر ها عناصر آرایه سه بعدی را با فرمول m*n*k پر کنید و سپس به ترتیب آرایه را چاپ کنید !

راهنمایی برای پر کردن :

*( *( *( a + m ) + n ) + k ) = m*n*k

 شکل مورد نظر برای چاپ :

a[m][n][k] = (m , n , k حاصل ضرب)

۶- برنامه ای بنویسید که یک عدد صحیح گرفته و معادل باینری آن را  با تابعی بازگشتی محاسبه و چاپ کند.

 

* سوال زیر یکی از بهترین و کلاسیک ترین سوال های برنامه نویسی است؛ در موردش خوب فکر کنید و بعد سعی کنید به صورت بازگشتی پیاده سازی اش کنید؛ اگر نتوانستید حلش کنید به فکر کپی کد آن از جایی دیگر نباشید چون فرصت حل یکی از زیباترین سوال ها توسط خودتان را هدر می دهید.

 

7- سوال حرکت اسب یکی از سوال های محبوب و هیجان انگیز برای مبتدیان در برنامه نویسی است، شما باید برنامه ای بنویسید که یک اسب را در یکی از خانه های شطرنج قرار دهد و اسب را طوری جا به جا کند که اسب از همه خانه های شطرنج عبور کند بدون این که از یک خانه بیش از یک بار عبور کند .

* راهنمایی هایی که در ادامه آمده برای حل سوال کافی است؛ توجه داشته باشید که محل آغاز حرکت اسب را کاربر به برنامه می دهد .

راهنمایی:

در برنامه حرکت اسبی (knight tour)، اسب می تواند حرکاتی به شکل  L  انجام دهد(دو خانه در یک جهت و سپس یک خانه در جهت  عمود بر جهت اول).

به این ترتیب یک اسب از خانه ای در وسط صفحه خالی شطرنج می تواند هر یک از هشت حرکت مختلف را که در شکل می بینید انجام دهد.

Untitled picture تمرین های سری دوم درس برنامه سازی مقدماتی

 

1 )      یک صفحه شطرنج ۸*۸ رسم کنید و سعی کنید  مساله گردش اسب را با دست حل کنید . در اولین خانه ای که قرار می گیرید عدد ۱ و در دومین خانه عدد ۲ و در سومین خانه عدد ۳ و… را بنویسید. پیش از آغاز گردش مسافتی را که می تواند طی کند تخمین بزنید.

۲)      برنامه ای بنویسید که اسب را در یک صفحه شطرنج گردش دهد. این صفحه را با یک آرایه دواندیسی(دو بعدی) نمایش دهید. در ابتدا تمام خانه ها را برابر ۰ قرار دهید. هر یک از هشت حرکت ممکن برحسب هر دو جز افقی و عمودی آن ها توصیف می شوند. مثلا حرکتی از نوع صفر به صورتی که در شکل نشان داده شده شامل یک حرکت افقی به سمت راست به اندازه دو خانه و یک حرکت عمودی به بالا به اندازه یک خانه است. این حرکت ها را می توان با ۲ آرایه ۸ تایی نشان داد که در شکل آمده اند.

Untitled picture2 300x58 تمرین های سری دوم درس برنامه سازی مقدماتی

horizontal = افقی   vertical = عمودی

نکته کلیدی :

اگر توجه کرده باشید خانه هایی که در گوشه هستند دردسر ساز ترند برای همین خانه ها را در جه بندی می کنیم و برای گوشه ها اهمیت بیشتری قایل می شویم. این درجه بندی را در شکل می بینید.

Untitled picture1 تمرین های سری دوم درس برنامه سازی مقدماتی

سعی کنید خانه هایی را زودتر پر کنید که عدد کمتری داخل آن است . مثلا اگر اسب می توانست به خانه هایی با ارزش ۲ و ۴ و ۸ برود، اول به خانه ای که ارزش ۲ دارد، برود .

digg تمرین های سری دوم درس برنامه سازی مقدماتی  reddit تمرین های سری دوم درس برنامه سازی مقدماتی  stumbleupon تمرین های سری دوم درس برنامه سازی مقدماتی  yahoo buzz تمرین های سری دوم درس برنامه سازی مقدماتی  dzone تمرین های سری دوم درس برنامه سازی مقدماتی  facebook تمرین های سری دوم درس برنامه سازی مقدماتی  delicious تمرین های سری دوم درس برنامه سازی مقدماتی  dotnetkicks تمرین های سری دوم درس برنامه سازی مقدماتی  dotnetshoutout تمرین های سری دوم درس برنامه سازی مقدماتی  linkedin تمرین های سری دوم درس برنامه سازی مقدماتی  technorati تمرین های سری دوم درس برنامه سازی مقدماتی  twitter تمرین های سری دوم درس برنامه سازی مقدماتی  google buzz تمرین های سری دوم درس برنامه سازی مقدماتی  



برچسب ها : ,